Ich muss in einem Bash-Skript testen, ob ein bestimmter Benutzer ein bestimmtes Verzeichnis mit allen darin enthaltenen Dateien und Unterverzeichnissen lesen kann. Das Skript wird als root ausgeführt.Bash-Skript, um zu testen, ob ein bestimmter Benutzer ein Verzeichnis und alle darin enthaltenen Dateien lesen kann?
den angegebenen Benutzernamen Unter der Annahme $user
und das Verzeichnis Test ist $dir
ich die folgende Zeile in dem Skript
su -m $user -c "test -r $dir && test -x $dir" if [ $? -ne ]; then echo "$dir is not readable or executable" fi
Würden Sie richtig vorschlagen oder verbessern hinzugefügt?
Es sieht aus wie „finden“ 0 zurück, auch wenn einige Dateien nicht lesbar sind. Wie kann ich testen, dass _alle_ Dateien in $ dir von $ user gelesen werden können? – Michael
@Michael Siehe oben bearbeiten. – devnull
Danke. Es funktioniert jetzt. – Michael