Ich habe einen bestimmten Ordner in „/home/…/reboot/“. Ich habe eine Reihe von Benutzern, die schreibgeschützten Zugriff auf die sich ständig ändernden Dateien darin benötigen. Mein Problem ist, dass dieselben Benutzer nicht autorisiert sind, irgendwelche der übergeordneten Verzeichnisdateien anzuzeigen.
Im Moment ist das einzige, was ich habe, dass sich ihr Startordner unter „/home/…/reboot/“ befindet, indem ich die Datei etc/passwd ändere; und ich muss den gesamten Zugriff auf andere Ordner blockieren. Wie könnte ich ihnen nur Zugriff auf dieses Verzeichnis gewähren?
Akzeptierte Antwort:
Erstellen Sie eine schreibgeschützte Ansicht dieses Verzeichnisses an einem anderen Speicherort. Das geht mit bindfs.
Nehmen wir an, das betreffende Verzeichnis ist /home/confidential/reboot
und dass Sie den Benutzern in der Gruppe mygroup
Lesezugriff gewähren möchten . Erstellen Sie ein Verzeichnis /views/mygroup/reboot
die dieser Gruppe zugänglich ist.
mkdir -p /views/mygroup/reboot
chown root:mygroup /views/mygroup
chmod 750 /views/mygroup
Erstellen Sie die schreibgeschützte Ansicht mit bindfs
. Der bindfs-Prozess muss die Berechtigung haben, die Dateien zu lesen und auf den Einhängepunkt zuzugreifen; hier würden Sie es vermutlich als root ausführen.
bindfs -p a-w /home/confidential/reboot /views/mygroup/reboot
Wenn die Dateien unter /home/confidential/reboot
sind für die Benutzer in mygroup
nicht lesbar und Sie dies tun möchten, ändern Sie die Berechtigungsspezifikation in -p a=rX
.
Um die schreibgeschützte Ansicht beim Booten zu erstellen, fügen Sie sie zu /etc/fstab
hinzu :
bindfs#/home/confidential/reboot /views/mygroup/reboot fuse perms=a=rX