Можно ли реализовать систему бронирования "имя", используя разрешения файла 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 только для предотвращения других (обычных) пользователей возиться с этим каталогом. Это на самом деле не нужно. Узнайте больше о липкой части здесь: