FreeBSD - FAQ#1

Автор Pavel Grudina
03.02.2005 г.

как сделать ftp-only юзера с chroot'ом в его домашнем каталоге



      Если обычный ftpd, то

      прописать ему шелл '/bin/date' или '/usr/bin/true' и вписать его в
      '/etc/shells'
      - вписать его в '/etc/ftpchroot'

      Для proftpd вписать в /usr/local/etc/proftpd.conf
DefaultRoot ~
# AllowStoreRestart on
# AllowRetrieveRestart on
# DirFakeUser on ~
# UseFtpUsers off
# MaxClientsPerHost 5

какой командой создается новый раздел диска


(в процессе установки всЈ проходит гладко).
man sysinstall
man newfs

где живут rc-скрипты начальной загрузки


/etc/rc.* - это системные, их - не трогать!
/usr/local/etc/rc.d/*.sh - вот сюда будут попадать ваши.

что там вместо /etc/hosts.allow


tcp_wrapper встроен в inetd
man inetd
man 5 hosts_access
man 5 hosts_options
управляется через /etc/hosts.allow

Редактирование свойств юзера. vi /etc/passwd не работает


vipw

Как задать hostname


vi /etc/rc.conf
# hostname new_hostname
раскомментировать
hostname="new_hostname"

Перезапуск named


man ndc
ndc reload
# теперь вздрогнул, подумали, и...

      make install

Оживляем ethernet Intel82562 Express Pro 100 на 865 матерях


http://www.freebsd.org/cgi/query-pr.cgi?pr=53228


      Intel D865GBFL motherboard (AA Revision C25843-401)
      Integrated LAN with Intel 82562EZ PLC
      2.4C GHz Pentium 4 processor (800MHz, HT)
      FreeBSD 4.8-RELEASE -- GENERIC kernel
      (although, would presumably happen with any kernel with the current
      fxp driver)

      Version info from if_fxp.c:

      * $FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.110.2.28 2003/01/28 11:17:33 sanpei Ex
      p $

      Relevant output from 'pciconf -lv':

      none4@pci1:8:0: class=0x020000 card=0x302f8086 chip=0x10508086 rev=0x01 hdr=0x00
      vendor = 'Intel Corporation'
      class = network
      subclass = ethernet

Description

      The fxp driver fails to recognize the integrated Intel 82562EZ LAN on the
      Intel D865GBFL motherboard. If my diagnosis is correct, this is the result
      of this version of the 82562 chip reporting a new PCI "chip id", as has
      happened before (see kern/39974).

How-To-Repeat

      Install 4.8-RELEASE on a system with an Intel D865GBFL motherboard (the AA
      Revision on the board in question was C25843-401). During and after
      installation, the kernel (specifically the fxp driver) fails to detect the
      on-board Intel 82562 LAN.

Fix

      Add an entry to the fxp_ident_table array in sys/dev/fxp/if_fxp.c for the
      new PCI chip id and re-build the kernel. Here's a patch:

      --- if_fxp.c Wed Jun 11 16:36:59 2003
      +++ if_fxp.c-patched Wed Jun 11 16:36:30 2003
      @@ -165,6 +165,7 @@
      { 0x103C, "Intel Pro/100 Ethernet" },
      { 0x103D, "Intel Pro/100 Ethernet" },
      { 0x103E, "Intel Pro/100 Ethernet" },
      + { 0x1050, "Intel Pro/100 Ethernet" },
      { 0x1059, "Intel Pro/100 M Mobile Connection" },
      { 0, NULL },
      };

Дисковые устройства


IDE-диски:

      /dev/ad0 (нумерация с 0)
      /dev/ad1 ...
SCSI-диски:

      /dev/da0 (нумерация с 0)
      /dev/da1 ...
Разделы на диске (они же - слайсы)
Для разметки используется fdisk с дикими ключами

      /dev/ad0s1 (нумерация с 1-го)
      /dev/ad0s2 ...
BSD-subsections внутри раздела
Для разметки используется disklabel с дикими ключами

      /dev/ae0s2е (нумерация от е до h, abcd - служебные подсекции)
      /dev/ae0s2ф ...
Впрочем, вручную эти команды совершенно неоперабельны, вместо них
используется административный фронтенд /stand/sysinstall

USB-Флоппи-диски (прикидываются SCSI-дисками)

      /dev/de0
IDE-DVD/CDROM

      /dev/acd0c
Типы файловых систем

      ufs
      ufs2 (начиная с 5.1 RELEASE)
      iso9660
      msdos

Постинсталляция


Конфигуратор

      /stand/sysinstall
Просто конфигур

      /etc/rc.conf

Параметры ядра


Посмотреть
      sysctl -a|grep ip
Задать в онлайне
      sysctl net.inet.icmp.icmplim=400
Для постоянной установки записать в /etc/sysctl.conf

      переменная=значение
Часть параметров задается в /usr/src/sys/i386/config/LINT
А можно дописать их в YOURKERNEL

      Например вполне разумно смотрятся maxusers 512
options NMBUFS=16384
options NMBCLUSTERS=32768

Как смотреть температуру процессора, скорость вращения вентиляторов



      lmmon из портов.
      consolehm
      healthd

Установка пакета из сети

Makefiles для установки пакетов лежат в /usr/ports
Для инсталляции пакета xyz:

      locate xyz | grep /usr/ports # определяем его портовую директорию
      cd /usr/ports/whereitis/xyz # и переходим в нее
      make install
      если не хотим качать пакет из интернета - заранее кладем его в
      /usr/ports/distfiles


      или же просто
export PACKAGEROOT='ftp://ftp.*ближайшее зеркало*.freebsd.org'
pkg_add -r package_short_name # (имя папки в портах, как правило)
А еще есть
/usr/ports/sysutils/portupgrade

Как обновить дерево портов

ДЛя начала его надо просто установить. Для этого
/sbin/sysinstall
      Configuration
      Distribution
      Ports и устанавливаем их из сети
Потом собираем и ставим cvsup
/usr/ports/net/cvsup-without-gui
make install
man cvsup # и внимательно читаем

Затем создаем файл ~/sup/ports-supfile # что брать и откуда
###########################################################
*default host=cvsup6.ru.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default release=cvs delete use-rel-suffix compress
*default compress
ports-all
###########################################################

Затем создаем файл ~/sup/refuse # список, чего не брать
doc/da_*
doc/de_*
doc/es_*
doc/el_*
doc/fr_*
doc/it_*
doc/ja_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/zh_*
ports/arabic
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/japanese
ports/korean
ports/polish
ports/portuguese
# ports/russian
ports/ukrainian
ports/vietnamese
# ports/x11
# ports/x11-clocks
# ports/x11-fm
# ports/x11-fonts
# ports/x11-servers
# ports/x11-toolkits
# ports/x11-wm
# ports/x11-themes
##########################################
и наконец

cvsup ~/sup/ports-supfile # что брать и откуда

Как назначить IP-alias на сетевой интерфейс



Одноразовая операция
ifconfig fxp0 alias 1.2.3.4 netmask 0xffffffff # добавить
ifconfig fxp0 -alias 1.2.3.4 # убрать
На постоянной основе:
/etc/rc.conf
ifconfig_fxp0_alias0="inet 81.19.6.18 netmask 0xffffffff"
ifconfig_fxp0_alias1="inet 81.19.6.19 netmask 0xffffffff"

Атрибуты иммутабле




      флаг schg -- system immutable

      ls -lo /path/to/file # посмотреть

      chflags 0 /path/to/file # сбросить

Счетчики