J'ai un serveur multi-utilisateurs Linux avec plus de 100 utilisateurs dans / etc / passwd
Je voudrais permettre aux utilisateurs de "réserver" / "réserver" un nom de leur choix (dans ce cas un sous-domaine, mais ces détails n'ont pas d'importance)
J'ai créé un répertoire appelé /reservations
et avec chmod 777.
Si l'utilisateur johndoe le fait, touch /reservations/coolsite
il indique qu'il aimerait "posséder" ce nom "coolsite"
Le "mécanisme" devrait être mis en place de telle sorte que,
johndoe peut changer d'avis plus tard et annuler la
rm /reservations/coolsite
réservation de ce nomun autre utilisateur n'est pas autorisé à le faire
touch /reservations/coolsite
, car johndoe l'a demandé en premier.si johndoe
rm
son fichier, un autre utilisateur est autorisé à le réserver.les utilisateurs ne peuvent pas d'
rm / rename / mv / etc
autres fichiersl'utilisateur johndoe peut avoir plusieurs réservations en faisant
touch /reservations/coolsite && touch /reservations/coolsite2
Est-ce possible en utilisant une sorte de mécanisme d'autorisations Linux standard?
Je détesterais avoir recours à Perl pour cela, mes compétences en Perl sont devenues rouillées depuis le jour où Ruby est arrivée avec ses cheveux blonds ondulés ...
la source
touch
?umask
). Oh good one @perlduckRéponses:
Ce que vous demandez pour le répertoire
/reservations
est exactement comment/tmp
se comporte le répertoire standard :Chaque utilisateur peut y créer des fichiers et lui seul est autorisé à les supprimer ou à les modifier. Ceci est réalisé par le
t
bit (aka sticky bit ) dans les autorisations. Aucun utilisateur n'a alors besoin d'autorisations ou de masques spéciaux.Donc:
est tout ce dont vous avez besoin. C'est
chown root
uniquement pour empêcher d'autres utilisateurs (réguliers) de jouer avec ce répertoire. Ce n'est pas vraiment nécessaire. En savoir plus sur le bit collant ici:la source