Не пинайте сильно я новичек, подскажите пожалуйста возможно ли сделать так, допусти есть два пользователя юзер1 и юзер2 и папки /юзер1 и /юзер2 нужно чтобы при копировании/создании файла/папки юзером1 в директории /юзер2(владелец юзер2 т.е chown -R юзер2 юзер2/) владельцем копируемого файла становился автоматически юзер2!!!
Помогите разобраться права доступа
на мой взгляд это некое нарушение безопасности. я как владелец файлов должен контролировать права своих файлов.
Вижу единственный способ - применять команду chown для каждого нового файла.
Как вариант - загнать обоих юзверей в одну группу и делать эту группу владельцем все новых файлов..
chelovek, есть папка - "общедоступная" - в нее можно копировать(или даже там работать) и таким образом передавать. Тогда и безопасность не пострадает.
Можно и другие папки создать рекурсивно меняющие права.
на мой взгляд это некое нарушение безопасности. я как владелец файлов должен контролировать права своих файлов.
Вижу единственный способ - применять команду chown для каждого нового файла.
Как вариант - загнать обоих юзверей в одну группу и делать эту группу владельцем все новых файлов..
Хотел сделать так применять chown с помошью crontab для каждого нового файла. Но как то не очень это все.
Вообщем задача стояла у меня изначально такая, может быть посоветуете сделать как то по другому:
1.есть папка /disk/users - владелец admin группа admins (это не стлоль выжно но всеже) chmod 770 - чтобы юзеры не могли создавать/удалять папки в /users сама же /disk - это шара самбы, (делаю файлообмен м/у юзерами винды в локалке)
2.В папке users лежат папки user1, user2, user3 и т.д
3.У каждой папки свой владелец соответственно -chown -R user1: /users/user1 и т.д.
4.Все юзеры user1, user2, user3 и.т.д входят в группу users.
Что нужно сделать:
Грубо говоря нужно устроить файлообмен м/у user1, user2, user3 и.т.д, но есть тонкости из-за чего и весь сыр-бор, каждый из юзеров может только бросать файлы в папки к др. юзерам, но не должен открывать файлы в этих папках.
Что я сделал:
САМБу настроил так:
[users]
comment=users
path=/disk/users
read only=no
valid users=user1, user2, user3
public=yes
writeable=yes
create mask=700
directory mask=730
Далее для каждого юзера:
chown user1:user1 /user1
chmod a+rwx,g+s,o+t /user1
chmod o-r /user1
теперь т.к права на создаваемые файлы 640 rw-r----- то группа может читать файлы в папках user1, user2, user3. Вот примерно так.
Но мне нужно чтобы другие юзеры этой группы не могли открывать файлы создаваемые файлы. вот и сделать так чтобы при копировании менялся владелец на владельца папки в которую копирую..... объяснил как мог надеюсь не сильно мутно....
chelovek, есть папка - "общедоступная" - в нее можно копировать(или даже там работать) и таким образом передавать. Тогда и безопасность не пострадает.
Можно и другие папки создать рекурсивно меняющие права.
Тоже рассматривал такой варинт, но это не очень удобно для пользователей. Хотелось бы чтобы было проще взял скопировал кому нужно и все.
rw-r----- а если поменять на rw--w---- ? Это права для папки и рекурсивно их распространить?
rw-r----- а если поменять на rw--w---- ? Это права для папки и рекурсивно их распространить?
Но, в этом случае другие юзеры смогут и удалять файлы из этой папки? А хотя... смогут ли они ее вообще открывать, для переброса файлов?
chelovek, смогут
chelovek, смогут
Дело в том что по задумке не удалять не открывать файлы они не должны.
Они будут видеть названия - но открыть файлы не смогут. А папку откроют наверно. Я так не пробовал. Сейчас еще посмотрю.
Они будут видеть названия - но открыть файлы не смогут. А папку откроют наверно. Я так не пробовал. Сейчас еще посмотрю.
Если не ошибаюсь, то для открытия папки нужны права - x
[quote=Филин]Они будут видеть названия - но открыть файлы не смогут. А папку откроют наверно. Я так не пробовал. Сейчас еще посмотрю.
Если не ошибаюсь, то для открытия папки нужны права - x[/quote]
Тип доступа Для файла Для каталога
r Чтение содержимого файла Отображение содержимого каталога (например командой ls)
w Запись в файл Изменение содержимого каталога
x Запуск файла на исполнение Возможность войти в каталог командой cd
То, есть для открытия папки нужны еще права - x?
Значит если я ставлю rw-wx----- все будет, ок? Пользователи будут открывать папку и смогут туда писать, но так как нет прав r удалить они ничего и не смогут, т.к не увидят содержимого?
Не так на исполнение имхо ничего не нужно давать.Вам нужно использовать для прав папки написать как я сказал и там же добавить sticky bit - это флаг t - он сделает невозможным удаление для все кроме владельца. Естественно папка должна быть рекурсивной - R. Попробуйте так. Если не получится будем думать.
Не так на исполнение имхо ничего не нужно давать.Вам нужно использовать для прав папки написать как я сказал и там же добавить sticky bit - это флаг t - он сделает невозможным удаление для все кроме владельца. Естественно папка должна быть рекурсивной - R. Попробуйте так. Если не получится будем думать.
ок! завтра буду пробывать, отпишусь.
А если не получится можно и добавить в права папки х . Думаю ничего страшного не будет если файлы станут исполняемыми :D
А если не получится можно и добавить в права папки х . Думаю ничего страшного не будет если файлы станут исполняемыми :D
smile
Но мне кажется и без х нормально будет.
Но мне кажется и без х нормально будет.
Привет! Вон начинаю пробывать, т.е. пишу для папки владельца вот так: chmod 1720 -R /user1 ? sticky bit я правильно ставлю?
[quote=Филин]Но мне кажется и без х нормально будет.
Привет! Вон начинаю пробывать, т.е. пишу для папки владельца вот так: chmod 1720 -R /user1 ? sticky bit я правильно ставлю?[/quote]
вообще не прокатило smile , пробую вот так chmod 1760 -R /user1 даже так писать в папку не могу, содержимого не вижу, но и не пишу.... проблема...
Спасибо всем за участие, проблему решил smile , помогли добрые люди wink , может кому понадобиться вообщем сделал так:
Создал для каждого юзверя свою отдельную группу, но также все юзеры входят и в одну общую группу users. Далее:
chown user1:user1 /user1
chmod a+rwx,g+s,o+t /user1 - для каждого юзера
и в САМБЕ
create mask = 640
directory mask = 750