5. Подготовка файловой системы сервера.

5. Подготовка файловой системы сервера.

Как и описано в пункте 3.1 статьи я выполнил в консоли команду:

# zgrep CONFIG_EXT3_FS /proc/config.gz
gzip: /proc/config.gz: No such file or directory

«Гугление» привело меня к информации о том, что в Ubuntu по умолчанию не включен интерфейс proc. Конфигурацию ядра можно посмотреть командой:

# cat /boot/config-`uname -r`

Нам собственно нужно проверить следующее:

# cat /boot/config-`uname -r` | grep CONFIG_EXT
CONFIG_EXTRA_FIRMWARE=""
CONFIG_EXTCON=m
CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_MAX8997=m
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set

В нашем ядре есть поддержка XATTR, SECURITY и POSIX_ACL для файловых систем ext3 и ext4.

Посмотрим наш /etc/fstab:

# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#
/dev/mapper/samba-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=ab2ea6bd-8211-41b2-b12e-7a75c3536da0 /boot ext2 defaults 0 2
/dev/mapper/samba-swap_1 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

Изменим строку

/dev/mapper/samba-root / ext4 errors=remount-ro 0 1

на

/dev/mapper/samba-root / ext4 errors=remount-ro,user_xattr,acl,barrier=1 1 1

И перезагрузим сервер.

Проведем тесты

# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
file: test.txt
user.test="test"
# getfattr -n security.test -d test.txt
file: test.txt
security.test="test2"

Если результат выполнения команд как в примере выше, наша система поддерживает все экстра атрибуты файлов.

Для проверки поддержки ACL выполним с правами root:

 # touch test3.txt
 # setfacl -m g:adm:rwx test3.txt
 # getfacl test3.txt

Вывод последней команды должен быть:

group:adm:rwx