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