Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Выставить права на папки для пользоватей (http://forum.oszone.net/showthread.php?t=257061)

tutitam 25-03-2013 10:41 2117963

Выставить права на папки для пользоватей
 
Добра всем !

Суть в том, что стоит задача организовать файловое хранилище для отдела.
В отделе должно быть два пользователя с уровнем доступа ко всем папкам.
Есть пользователи, которые должны иметь доступ к некоторым общим папкам и именным папкам, и пользователи не должны видеть содержимое папок друг друга.

КАТАЛОГ
Каталог1
общая - на чтение
пользователь1
пользователь2
Каталог2
общая - на чтение
пользователь1
пользователь2

У руководителя должен быть доступ ко всем папкам, у пользователей к именным и общим.
На WIN делается за 5 мин. Но в моем случае хранилище должны быть на linux в моем случае UBUNTU
SAMBA нам не подошла. Так как нужен был доступ из вне, остановился на WEBDAV - я если честно заколебался настраивать эти права! Получается если есть доступ к корневой папке, то по умолчанию и ко всем остальным, файл .htaccess не помогает! Замылился уже!

tutitam 25-03-2013 17:14 2118210

Что никто не поможет ?

vadblm 25-03-2013 18:29 2118265

Курите ACL.
Цитата:

Цитата tutitam
На WIN делается за 5 мин. »

ACL на линуксе делается за 1 минуту. :)
Цитата:

Цитата tutitam
Так как нужен был доступ из вне, остановился на WEBDAV - я если честно заколебался настраивать эти права! Получается если есть доступ к корневой папке, то по умолчанию и ко всем остальным, файл .htaccess не помогает! »

Оригинальный выбор, чем продиктован? Чего у ж тогда не SVN или git ;). Это ж просто протокол, не в его сфере разграничивать права.

Подумайте получше над постановкой задачи - как давать пользователям личные и общие пространства хранения файлов.

Относительно простой, кстати вариант - owncloud. Только он ещё сырой очень, глюков не перечесть.

tutitam 26-03-2013 11:27 2118752

Цитата:

Цитата vadblm
ACL на линуксе делается за 1 минуту. »


Как я понял ACL может выставлять права владельцу группе и остальным. Так вот я же использую при этом WEBDAV, если убрать как владельца папки WWW-DATA то пропадает доступ к папкам вообще. То есть т.к владельцем являться www-data какие бы я ограничения далее не выставлял к папки имеют доступ все пользователи прошедшие авторизацию. Есть у меня папка %имя_пользователя% к ней должен иметь доступ сам руководитель, пользователь и более некто. Я выставляю как владелец %имя_пользователя% как группу %руководители% права всем остальным "запрет". В этом случае папка вообще перестает быть доступной.

vadblm 26-03-2013 11:36 2118765

Чем выставляете? setfacl? Или вы с обычными позикс правами путаете?
Курите ACL

tutitam 26-03-2013 11:40 2118768

Цитата:

Цитата vadblm
Чем выставляете? setfacl? »

Выставляю обычным методом через MC. Владелец, группа, остальные.

tutitam 26-03-2013 12:46 2118839

Цитата:

Цитата vadblm
Курите 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, а он открыт.

tutitam 26-03-2013 18:47 2119133

Ничего не выходит. Через acl назначай, не назначай - пофиг :///

Sphinx114 26-03-2013 21:44 2119279

tutitam, а sftp не подходит? Также в задании неясно Каталог1/пользователь1 и Каталог2/пользователь1 это одно и то же лицо?
Цитата:

Цитата tutitam
В отделе должно быть два пользователя с уровнем доступа ко всем папкам. »

То есть право записи на всё что идёт от корневого каталога?

tutitam 27-03-2013 13:12 2119855

Цитата:

Цитата Sphinx114
То есть право записи на всё что идёт от корневого каталога? »

В общем. Есть 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

Вот собственно и все.

tutitam 28-03-2013 17:49 2120878

Есть у кого еще какие идеи!!? Очень срочно и необходимо сделать.

Перепробовал уже все и .htaccess тоже. Нефига не помогает! АСL тоже !

Sphinx114 28-03-2013 18:57 2120920

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 вторичных групп.

tutitam 29-03-2013 12:15 2121379

Разобрался почему 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>



Время: 09:49.

Время: 09:49.
© OSzone.net 2001-