URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID14
Нить номер: 2151
[ Назад ]

Исходное сообщение
"Запутался в матчасти с правами доступа..."

Отправлено Pry , 23-Июл-09 17:57 
Доброго времени суток. Вопрос достаточно тупой, поэтому прошу отнестись к нему со снисхождением, тем более что он относится не только к Samba :)

Итак, допустим у нас на самбе есть два юзера, kolya и sasha. Я устанавливаю 'create mask = 664' и 'directory mask = 775', чтобы члены группы могли читать/изменять файлы и папки, созданные другими членами группы.

Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера sasha. Теперь kolya может свободно это делать, но почему это даёт право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не в группе kolya???!!!

Заранее спасибо за понимание и сострадание! :)


Содержание

Сообщения в этом обсуждении
"Запутался в матчасти с правами доступа..."
Отправлено Pry , 24-Июл-09 09:39 
Хорошо, поставлю вопрос так, добавить пользователя kolya в группу sasha это то же самое что добавить пользователя sasha в группу kolya? При условии что и там и там 775 на папки и 664 на файлы конечно...



"Запутался в матчасти с правами доступа..."
Отправлено tux2002 , 10-Авг-09 18:51 
>Хорошо, поставлю вопрос так, добавить пользователя kolya в группу sasha это то
>же самое что добавить пользователя sasha в группу kolya? При условии
>что и там и там 775 на папки и 664 на
>файлы конечно...

Нет конечно.

Напишите сюда
id kolya
id sasha
Может они оба имеют первичную группу users? И Вы просто невнимательны?


"Запутался в матчасти с правами доступа..."
Отправлено Pry , 10-Авг-09 19:52 
id как я понимаю делает то же самое что и groups? Но тем не менее вопрос остаётся (для меня) открытым:

"Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера sasha. Теперь kolya может свободно это делать, но почему это даёт право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не в группе kolya???!!!"

Т.е. по уму я добавил kolya в группу sasha и теперь kolya может читать/изменять файлы sasha, но не наоборот?


"Запутался в матчасти с правами доступа..."
Отправлено angra , 11-Авг-09 07:40 
Могу предположить что вас вводит в заблуждение. В большинстве случаев на уровне программного кода изменение файла происходит следующим образом:
1. Читаем исходный файл в память
2. Вносим изменения в памяти
3. Создаем временный файл в который пишем изменения, здесь срабатывают права на директорию
4. Замещаем исходный файл временным, фактически это удаление файла и тоже попадает под права на директорию, а не на файл.

Попробуйте от имени sasha сделать append(в шелле >>) на файл принадлежащий kolya или попробовать изменить файлы sasha в другой директории, в которой kolya не может создавать файлы. Ну и наконец можете добавить sticky bit на директорию, описание в man chmod.



"Запутался в матчасти с правами доступа..."
Отправлено tux2002 , 11-Авг-09 17:49 
>id как я понимаю делает то же самое что и groups? Но
>тем не менее вопрос остаётся (для меня) открытым:
>
>"Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера
>sasha. Теперь kolya может свободно это делать, но почему это даёт
>право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не
>в группе kolya???!!!"
>
>Т.е. по уму я добавил kolya в группу sasha и теперь kolya
>может читать/изменять файлы sasha, но не наоборот?

Ещё раз повторяю, смотрите внимательней, чудес не бывает, Вы что-то пропустили.
Покажите ls-l файлов, созданных sasha.