Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Posix ACL  (Прочитано 581 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн metallic

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Posix ACL
« : 10 Апреля 2015, 11:15:13 »
Имеется файловый сервер Linux(Samba).
Я использую ACL для детального разграничения прав внутри шары.

Вот конфиг шары в самбе
[Episodes]
    path = /srv/resources/shares/Episodes
    writeable = yes
    browsable = yes
    valid users = @sw_god, @SW_all
    read list =.
    write list = @sw_god, @SW_all
    create mask = 0770
    force directory mode = 0770
    force group = root

Внутри /srv/resources/shares/Episodes доступ на подкаталоги ограничен ACL.
Например у папки /srv/resources/shares/Episodes/Ep01/Cameras/Final такие права доступа:

# file: srv/resources/shares/Episodes/Ep01/Cameras/Final
# owner: root
# group: root
user::rwx
group::r-x
group:sw_god:rwx
group:sw_all:r-x
group:sw_operator:rwx
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:sw_god:rwx
default:group:sw_all:r-x
default:group:sw_operator:rwx
default:mask::rwx
default:other::---

Эти права были установлены следующими командами:

setfacl -b -R srv/resources/shares/Episodes/Ep01
chmod -R 750 srv/resources/shares/Episodes/Ep01
chown -R 0:0 srv/resources/shares/Episodes/Ep01

setfacl -R -m g:sw_all:rx srv/resources/shares/Episodes/Ep01
setfacl -R -d -m g:sw_all:rx srv/resources/shares/Episodes/Ep01

setfacl -R -m g:sw_god:rwx srv/resources/shares/Episodes/Ep01
setfacl -R -d -m g:sw_god:rwx srv/resources/shares/Episodes/Ep01

setfacl -R -m g:sw_operator:rwx srv/resources/shares/Episodes/Ep01/Cameras/Final
setfacl -R -d -m g:sw_operator:rwx srv/resources/shares/Episodes/Ep01/Cameras/Final

В общем группа sw_all имеет доступ на чтение, группа sw_god имеет доступ на чтение/запись на каталог Ep01
Также группа sw_operator имеет доступ на чтение/запись в Ep01/Cameras/Final

Есть два юзера testuser и testuser2:

# id testuser
uid=3365(testuser) gid=3000(domain users) groups=3000(domain users),3010(sw_all),3034(sw_operator),3018,3012(BUILTIN\users)

# id testuser2
uid=3366(testuser2) gid=3000(domain users) groups=3000(domain users),3010(sw_all),3012(BUILTIN\users)

Как видно, testuser входит в группы sw_all и sw_operator, а юзер testuser2 только в sw_all.
Соответственно в теории testuser имеет доступ на запись в Episodes/Ep01/Cameras/Final, тогда как testuser2 только на чтение.
На практике так и есть, НО проблема в том, что после того, как testuser что-то создал в Episodes/Ep01/Cameras/Final, например Episodes/Ep01/Cameras/Final/test, после этого testuser2 может записывать и редактировать файлы в Episodes/Ep01/Cameras/Final/test, но при этом все еще не может в Episodes/Ep01/Cameras/Final

Собственно, с чего вдруг у пользователя testuser2 появились права на запись в Episodes/Ep01/Cameras/Final/test ?

Вот права доступа на папки:

[root@]# getfacl /srv/resources/shares/Episodes/Ep01/Cameras/Final
# file: srv/resources/shares/Episodes/Ep01/Cameras/Final
# owner: root
# group: root
user::rwx
group::r-x
group:sw_god:rwx
group:sw_all:r-x
group:sw_operator:rwx
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:sw_god:rwx
default:group:sw_all:r-x
default:group:sw_operator:rwx
default:mask::rwx
default:other::---

[root@]# getfacl /srv/resources/shares/Episodes/Ep01/Cameras/Final/test/
# file: srv/resources/shares/Episodes/Ep01/Cameras/Final/test/
# owner: testuser
# group: root
user::rwx
group::rwx
group:sw_god:rwx
group:sw_all:r-x
group:sw_operator:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:sw_god:rwx
default:group:sw_all:r-x
default:group:sw_operator:rwx
default:mask::rwx
default:other::---

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.