Доброго времени суток. Вопрос достаточно тупой, поэтому прошу отнестись к нему со снисхождением, тем более что он относится не только к Samba :)Итак, допустим у нас на самбе есть два юзера, kolya и sasha. Я устанавливаю 'create mask = 664' и 'directory mask = 775', чтобы члены группы могли читать/изменять файлы и папки, созданные другими членами группы.
Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера sasha. Теперь kolya может свободно это делать, но почему это даёт право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не в группе kolya???!!!
Заранее спасибо за понимание и сострадание! :)
Хорошо, поставлю вопрос так, добавить пользователя kolya в группу sasha это то же самое что добавить пользователя sasha в группу kolya? При условии что и там и там 775 на папки и 664 на файлы конечно...
>Хорошо, поставлю вопрос так, добавить пользователя kolya в группу sasha это то
>же самое что добавить пользователя sasha в группу kolya? При условии
>что и там и там 775 на папки и 664 на
>файлы конечно...Нет конечно.
Напишите сюда
id kolya
id sasha
Может они оба имеют первичную группу users? И Вы просто невнимательны?
id как я понимаю делает то же самое что и groups? Но тем не менее вопрос остаётся (для меня) открытым:"Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера sasha. Теперь kolya может свободно это делать, но почему это даёт право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не в группе kolya???!!!"
Т.е. по уму я добавил kolya в группу sasha и теперь kolya может читать/изменять файлы sasha, но не наоборот?
Могу предположить что вас вводит в заблуждение. В большинстве случаев на уровне программного кода изменение файла происходит следующим образом:
1. Читаем исходный файл в память
2. Вносим изменения в памяти
3. Создаем временный файл в который пишем изменения, здесь срабатывают права на директорию
4. Замещаем исходный файл временным, фактически это удаление файла и тоже попадает под права на директорию, а не на файл.Попробуйте от имени sasha сделать append(в шелле >>) на файл принадлежащий kolya или попробовать изменить файлы sasha в другой директории, в которой kolya не может создавать файлы. Ну и наконец можете добавить sticky bit на директорию, описание в man chmod.
>id как я понимаю делает то же самое что и groups? Но
>тем не менее вопрос остаётся (для меня) открытым:
>
>"Я добавляю kolya в группу sasha, чтобы kolya мог читать/изменять файлы юзера
>sasha. Теперь kolya может свободно это делать, но почему это даёт
>право юзеру sasha изменять файлы, созданные kolya, ведь sasha же не
>в группе kolya???!!!"
>
>Т.е. по уму я добавил kolya в группу sasha и теперь kolya
>может читать/изменять файлы sasha, но не наоборот?Ещё раз повторяю, смотрите внимательней, чудес не бывает, Вы что-то пропустили.
Покажите ls-l файлов, созданных sasha.