Показать полную графическую версию : Выставить права на папки для пользоватей
Добра всем !
Суть в том, что стоит задача организовать файловое хранилище для отдела.
В отделе должно быть два пользователя с уровнем доступа ко всем папкам.
Есть пользователи, которые должны иметь доступ к некоторым общим папкам и именным папкам, и пользователи не должны видеть содержимое папок друг друга.
КАТАЛОГ
Каталог1
общая - на чтение
пользователь1
пользователь2
Каталог2
общая - на чтение
пользователь1
пользователь2
У руководителя должен быть доступ ко всем папкам, у пользователей к именным и общим.
На WIN делается за 5 мин. Но в моем случае хранилище должны быть на linux в моем случае UBUNTU
SAMBA нам не подошла. Так как нужен был доступ из вне, остановился на WEBDAV - я если честно заколебался настраивать эти права! Получается если есть доступ к корневой папке, то по умолчанию и ко всем остальным, файл .htaccess не помогает! Замылился уже!
Курите ACL.
На WIN делается за 5 мин. »
ACL на линуксе делается за 1 минуту. :)
Так как нужен был доступ из вне, остановился на WEBDAV - я если честно заколебался настраивать эти права! Получается если есть доступ к корневой папке, то по умолчанию и ко всем остальным, файл .htaccess не помогает! »
Оригинальный выбор, чем продиктован? Чего у ж тогда не SVN или git ;). Это ж просто протокол, не в его сфере разграничивать права.
Подумайте получше над постановкой задачи - как давать пользователям личные и общие пространства хранения файлов.
Относительно простой, кстати вариант - owncloud. Только он ещё сырой очень, глюков не перечесть.
ACL на линуксе делается за 1 минуту. »
Как я понял ACL может выставлять права владельцу группе и остальным. Так вот я же использую при этом WEBDAV, если убрать как владельца папки WWW-DATA то пропадает доступ к папкам вообще. То есть т.к владельцем являться www-data какие бы я ограничения далее не выставлял к папки имеют доступ все пользователи прошедшие авторизацию. Есть у меня папка %имя_пользователя% к ней должен иметь доступ сам руководитель, пользователь и более некто. Я выставляю как владелец %имя_пользователя% как группу %руководители% права всем остальным "запрет". В этом случае папка вообще перестает быть доступной.
Чем выставляете? setfacl? Или вы с обычными позикс правами путаете?
Курите ACL (https://wiki.archlinux.org/index.php/Access_Control_Lists_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9))
Чем выставляете? setfacl? »
Выставляю обычным методом через MC. Владелец, группа, остальные.
Курите ACL »
Покурил :)
# file: SALE_USER1
# owner: www-data
# group: SALES-WR
user::rwx
user:Super_user1:rwx
user:sale_user2:---
group::rwx
mask::rwx
other::---
По логике вещей пользователю sale_user2 должен быть запрещен доступ к каталогу SALE_USER1, а он открыт.
Ничего не выходит. Через acl назначай, не назначай - пофиг :///
Sphinx114
26-03-2013, 21:44
tutitam, а sftp не подходит? Также в задании неясно Каталог1/пользователь1 и Каталог2/пользователь1 это одно и то же лицо?
В отделе должно быть два пользователя с уровнем доступа ко всем папкам. »
То есть право записи на всё что идёт от корневого каталога?
То есть право записи на всё что идёт от корневого каталога? »
В общем. Есть 4 пользователя, условно говоря два руководителя "s_user1" и "s_user2", а также 2 пользователя "u_user1" и "u_user2"
Руководители должны иметь полный доступ к папкам а пользователи только к общим и своим именным, то есть пользователи должны иметь доступ к папке u_user1 и общая.
папка - корневая папка.
_____папка_общая
_____папка_1
__________инструкции
__________u_user1
__________u_user2
__________s_user1
_____папка_2
__________общая
__________u_user1
__________u_user1
__________s_user2
Вот собственно и все.
Есть у кого еще какие идеи!!? Очень срочно и необходимо сделать.
Перепробовал уже все и .htaccess тоже. Нефига не помогает! АСL тоже !
Sphinx114
28-03-2013, 18:57
tutitam, какие идеи? Я спросил про sftp, ответа нет. Для доступа к серверу юзер может использовать програмку WinSCP, очень удобно и просто. Я конечно не спец по никсам, может чего-то не учёл или не понял... Попытался воспроизвести что тебе нужно в виртуалке (на фряхе), вполне неплохо получилось.
КАТАЛОГ root:wheel 755
Каталог1 root:wheel 755
общая - на чтение boss:boss 755 home:КАТАЛОГ
пользователь1 u1:g1 770 home:Каталог1
пользователь2 u2:g2 770 home:Каталог1
Каталог2 root:wheel 755
общая - на чтение boss:boss 755 home:КАТАЛОГ
пользователь1 u3:g3 770 home:Каталог2
пользователь2 u4:g4 770 home:Каталог2
#cat /etc/group
...
boss:*:1001:
g1:*:1011:boss
q2:*:1012:boss
g3:*:1013:boss
g4:*:1014:boss
#cat /etc/ssh/sshd_config
...
ChrootDirectory %h
Subsystem sftp internal-sftp
...
У юзера boss не будет права записи на то что создаст обычный юзер, umask не работает. Также не знаю есть ли ограничение на 15 вторичных групп.
Разобрался почему ACL не работал. Я выставлял права для юзеров которых созхдал в рамках вебдав, правила систем на них не распространялись т.к они действовали в рамках разрешенного ОС WEBDAV. Решил пока что следующим образом.
Вот пример конфига.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName otdel.site.by
DocumentRoot /var/www/otdel.site.by/
<Directory /var/www/otdel.site.by>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location "/files">
DAV on
AuthType Basic
AuthName "Digest Realm"
AuthUserFile /var/www/otdel.site.by/sales.passwd
<Limit GET HEAD OPTIONS REPORT PROPFIND>
Require user s_user1 s_user2 u_user1 u_user2
Satisfy any
</Limit>
</Location>
################---ПАПКА1---################
<Location "/files/ПАПКА1">
<Limit GET HEAD OPTIONS REPORT PROPFIND>
Deny from all
Require user user s_user1 s_user2 u_user1 u_user2
Satisfy any
</Limit>
</Location>
################---ПАПКА2---################
<Location "/files/ПАПКА2">
<Limit GET HEAD OPTIONS REPORT PROPFIND>
Deny from all
Require user user s_user1 s_user2 u_user1
Satisfy any
</Limit>
</Location>
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.