Berechtigungen im Dateisystem

Fallstricke bei Dateirechten

The file access permissions do not allow the specified action.

Die Fehlermeldung an sich dürfte genügend Informationen über das grundsätzliche Problem beinhalten. Problematisch ist es aber manchmal herauszufinden, an welcher Stelle die Berechtigungen falsch sind.

Zum Beispiel erscheint diese Fehlermeldung, wenn ein mountpoint mit den Berechtigungen 750 ausgestattet ist (z.B. weil root beim anlegen eine umask 027 hatte) und darüber ein Dateisystem mit anderen (d.h. mehr) Berechtigungen gemountet wird. D.h. z.B. hat das Dateisystem dir Rechte 755. Trotzdem taucht der Fehler auf, wenn z.B. find eine Datei sucht. Unter AIX wird bei der Bewertung der Rechte anscheinend den inode Nummern gefolgt. D.h. vor den Rechten des gemounteten Dateiystems werden die Rechte des darunterliegenden mountpoints gefunden und die schlagen dann (weil restriktiver) auf das Dateisystem durch.

Beispiel: Der mountpoint steht auf 750, ein normaler Benutzer versucht einen find.

$ find /usr -type d

find: 0652-081 cannot change directory to </usr/local/maestro/pobox>:

: The file access permissions do not allow the specified action.

/usr/local/maestro/stdlist

Jetzt werden die Rechte überprüft. Dazu muß das Dateisystem abgehängt sein.

(0)ffxn0xf2:/root $ ls -altr /opt/websphere-51

total 8

drwxr-xr-x 11 root system 4096 May 06 13:09 ..

drwxr-x--- 2 root system 256 May 12 12:36 .

(0)ffxn0xf2:/root 41$

Dann werden die Rechte des mountpoints erweitert.

(0)ffxn0xf2:/root 41$ chmod o+rx /opt/websphere-51

drwxr-xr-x 11 root system 4096 May 06 13:09 .

drwxr-xr-x 2 root system 256 May 12 12:36 websphere-51

(0)ffxn0xf2:/root 45$

Das Dateisystem wird wieder angehängt und find läuft durch, ohne daß am eigentlichen Dateisystem irgendetwas verändert werden mußte.

$ find /usr -type d

/usr/local/maestro/stdlist

...

(Top)