Mam serwer wielu użytkowników systemu Linux z ponad 100 użytkownikami w / etc / passwd
Chciałbym pozwolić użytkownikom na „rezerwację” / „zarezerwowanie” nazwy swoich upodobań (w tym przypadku subdomeny, ale te szczegóły nie mają znaczenia)
Utworzyłem katalog o nazwie /reservations
i przy pomocy chmod 777.
Jeśli użytkownik johndoe to zrobi, touch /reservations/coolsite
oznacza, że chciałby „posiadać” tę nazwę „coolsite”
„Mechanizm” należy skonfigurować tak, aby:
johndoe może później zmienić zdanie i
rm /reservations/coolsite
cofnąć rezerwację tego imieniainny użytkownik nie może tego zrobić
touch /reservations/coolsite
, ponieważ johndoe najpierw o to poprosił.jeśli johndoe
rm
jego plik, inny użytkownik może go zarezerwować.użytkownicy nie mogą
rm / rename / mv / etc
plików innych osóbUżytkownik johndoe może mieć wiele rezerwacji
touch /reservations/coolsite && touch /reservations/coolsite2
Czy jest to możliwe przy użyciu jakiegoś standardowego mechanizmu uprawnień do Linuksa?
Nie chciałbym uciekać się do perla, moje umiejętności perla stały się zardzewiałe od dnia, w którym rubin przyszedł z jej falującymi blond włosami ...
źródło
touch
?umask
). Oh good one @perlduckOdpowiedzi:
Pytasz o katalog
/reservations
dokładnie tak, jak/tmp
zachowuje się katalog standardowy :Każdy użytkownik może tworzyć tam pliki i tylko on może je usuwać lub modyfikować. Osiąga się to poprzez
t
bit (inaczej lepki bit ) w uprawnieniach. Wówczas żaden użytkownik nie potrzebuje specjalnych uprawnień ani umasków.A zatem:
to wszystko czego potrzebujesz. Ma
chown root
to jedynie na celu uniemożliwienie innym (zwykłym) użytkownikom majstrowania przy tym katalogu. To nie jest naprawdę potrzebne. Przeczytaj więcej o lepkim kawałku tutaj:źródło