Хорошо, у меня есть пользователь "nas" на моем сервере ubuntu. В его домашнем каталоге у меня есть «общая» папка, но я также хочу позволить пользователю создать свою собственную папку на этом уровне для личного использования. поэтому любой пользователь, который входит в систему, может создать папку, к которой у него будет эксклюзивный (не читаемый никем) доступ, и если они хотят поделиться чем-то, они помещают это в общую папку. Как мне этого добиться? Я читал о разрешениях для каталога / tmp с помощью setuid и думаю, что это может быть ключом к этому ...
Опция 1: Сделать каталог верхнего уровня доступным для записи.
Напомните пользователям, что разрешения на создаваемые ими каталоги ИХ ответственность как владелец каталога.
Обратите внимание, что это позволяет пользователям создавать более одного каталога. Ваши пользователи в конечном итоге облажаются и натвут (аксиома: пользователи тупые).
Как вы правильно догадались, sticky bit
(+t
, как найдено на /tmp
) здесь важен: он не позволяет пользователям удалять чужие каталоги, которые они могли бы делать, если бы каталог верхнего уровня был доступен для записи всем без липкий кусочек.
Вариант 2: Сделать каталог верхнего уровня владельцем root. Создайте подкаталог для каждого пользователя при создании его учетной записи.
Вы можете установить разрешения для каталогов пользователей на все, что хотите, по умолчанию (0700
хорошее начало). Опять же, управление разрешениями на нем после этого ИХ ответственность как владелец каталога.
Это предохраняет ваших пользователей от беспорядка в каталоге верхнего уровня. Вы можете автоматизировать создание каталогов как часть вашего сценария создания пользователя (вы ведь используете сценарий, верно? :)