У меня есть многопользовательский сервер Linux с более чем 100 пользователями в / etc / passwd
Я хотел бы разрешить пользователям «бронировать» / «резервировать» имя по своему вкусу (в данном случае поддомен, но эти детали не имеют значения)
Я создал каталог с именем /reservations
и с chmod 777.
Если пользователь johndoe делает, touch /reservations/coolsite
он указывает, что хотел бы «владеть» этим именем «coolsite»
«Механизм» должен быть настроен так, чтобы
Джондо может изменить свое мнение позже, и
rm /reservations/coolsite
снять это имядругому пользователю это запрещено
touch /reservations/coolsite
, потому что johndoe сначала попросил об этом.если johndoe
rm
его файл, другой пользователь может забронировать его.пользователи не могут
rm / rename / mv / etc
файлы других людейПользователь johndoe может сделать несколько заказов, выполнив
touch /reservations/coolsite && touch /reservations/coolsite2
Возможно ли это с помощью какого-то стандартного механизма разрешений Linux?
Я не хотел бы прибегать к Perl для этого, мои навыки Perl стали ржавыми, так как день рубин пришел вместе с ее волнистые светлые волосы ...
источник
touch
?umask
). О, хороший @perlduckОтветы:
То, что вы запрашиваете каталог,
/reservations
- это то, как/tmp
ведет себя стандартный каталог:Каждый пользователь может создавать файлы там, и только он может удалять или изменять их. Это достигается с помощью
t
бита (он же залипает ) в разрешениях. Ни один пользователь не нуждается в специальных разрешениях или масках.Таким образом:
это все, что тебе нужно.
chown root
Только для предотвращения других (обычные) пользователей возиться с этой директории. Это на самом деле не нужно. Узнайте больше о липком месте здесь:источник