Ich habe einen Linux-Mehrbenutzerserver mit mehr als 100 Benutzern in / etc / passwd
Ich möchte Benutzern erlauben, einen Namen ihrer Wahl zu "buchen" / "zu reservieren" (in diesem Fall eine Subdomain, aber diese Details spielen keine Rolle).
Ich habe ein Verzeichnis namens /reservations
und mit chmod 777 erstellt.
Wenn Benutzer Johndoe dies tut, touch /reservations/coolsite
gibt er an, dass er diesen Namen "coolsite" "besitzen" möchte.
Der "Mechanismus" sollte so eingerichtet sein, dass
Johndoe kann später seine Meinung ändern und
rm /reservations/coolsite
diesen Namen entfernenEin anderer Benutzer darf das nicht
touch /reservations/coolsite
, weil Johndoe zuerst danach gefragt hat.Wenn Johndoe
rm
seine Datei, kann ein anderer Benutzer sie buchen.Benutzer können keine
rm / rename / mv / etc
anderen VolksdateienBenutzer Johndoe kann mehrere Buchungen haben, indem er tut
touch /reservations/coolsite && touch /reservations/coolsite2
Ist dies mit einem Standard-Linux-Berechtigungsmechanismus möglich?
Ich würde es hassen, dafür auf Perl zurückzugreifen, meine Perl-Fähigkeiten sind rostig geworden, seit der Tag, an dem Rubin mit ihren welligen blonden Haaren einherging ...
quelle
touch
?umask
). Oh gut @perlduckAntworten:
Was Sie nach dem Verzeichnis fragen,
/reservations
ist genau das Verhalten des Standardverzeichnisses/tmp
:Jeder Benutzer kann dort Dateien erstellen und nur er darf sie löschen oder ändern. Dies wird durch das
t
Bit (auch bekannt als Sticky Bit ) in den Berechtigungen erreicht. Kein Benutzer benötigt dann spezielle Berechtigungen oder Aufgaben.Somit:
ist alles, was du brauchst. Dies
chown root
soll nur verhindern, dass andere (normale) Benutzer mit diesem Verzeichnis herumspielen. Es wird nicht wirklich benötigt. Lesen Sie hier mehr über das klebrige Stück:quelle