samba + acl = управление доступом из windows
sudo apt-get update
sudo apt-get install acl
теперь объясним системе. что у нас на файловой системе есть расширенное управление правами:
$ sudo vi /etc/fstab # /etc/fstab: static file system information. # # proc /proc proc defaults 0 0 /dev/hda1 / ext3 defaults,errors=remount-ro 0 1 /dev/hda3 /home ext3 defaults,acl 0 2 /dev/hda2 /var ext3 defaults 0 2 /dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
в столбик options дописываем параметр acl (подчёркнуто) после чего либо перемонтируем соответствующие разделы,
$ sudo mount -o remount /dev/hda3
либо перегружаем всю систему.
ну что, разделы с нужной опцией примонтировались?
как расширенные права выглядят с точки зрения системы можно посмотреть командой
$ getfacl tmp # file: tmp # owner: root # group: root user::rwx group::rwx other::rwx
это, что называется по умолчанию добавим кому ни будь доступ
sudo setfacl -m u:username:rx tmp
смотрим что получилось
$ getfacl tmp # file: tmp # owner: root # group: root user::rwx user:username:r-x group::rwx mask::rwx other::rwx
для чего это надо непосредственно в линуксе я пока не придумал - задач не стояло.
перейдём к более практическому применению - расширенные права в samba.
пробовали назначать права доступа к файлам и каталогам на самбовской шаре? ну как? а с использованием acl всё гораздо интереснее.
добавляем расширенные права в конфиг самбы
$ sudo vi /etc/samba/smb.conf
[global] ... acl compatibility = auto ... [sharename] comment = Share path = /path/to/directory browseable = yes writable = yes create mask = 0664 directory mask = 0777 inherit acls = yes inherit owner = yes inherit permissions = yes map acl inherit = yes
а вот теперь можно пробовать назначать персональный доступ к файлам и каталогам для отдельных пользователей прямо с виндовой машины. ну совсем такой как в виндах не получится, а вот на предмет читать/писать запросто. особенно для самбы в виндовом домене.
