Symlink geben "Permission denied"... root

Schrieb ich ein einfaches script zu automatisieren, erstellen Sie einen symbolischen link.

#!/pseudo
today = "/tmp/" + date("Y-m-d")
exec("ln -sf " + today + " /tmp/today")

Einfach genug; bekommen Sie das heutige Datum ein und erstellen Sie einen symbolischen Link. Idealerweise führen Sie nach Mitternacht mit -f so ist es nur updates in-place.

Dieser funktioniert Prima! ...für meine user.

xkeeper /tmp$ ls -ltr
drwxrwxrwx  xkeeper   xkeeper   2014-10-21
lrwxrwxrwx  xkeeper   xkeeper   today -> /tmp/2014-10-21/

xkeeper /tmp$ cd today
xkeeper /tmp/today$ cd ..

Beachten Sie, dass es gut funktioniert, alle Berechtigungen sind world-readable, alles sieht gut aus.

Aber wenn jemand anderes will, um diesen link zu verwenden (sagen wir, root, aber alle anderen Benutzer, die dieses problem hat), etwas sehr merkwürdiges passiert:

root /tmp# cd today
bash: cd: today: Permission denied

Ich bin völlig ratlos, warum das so ist. Ich habe auch versucht zu erstellen, die links mit ln -s -n -f (nicht, dass "--no-dereferencing" ist sehr gut erklärt), aber das gleiche Problem erscheint.

  • Beachten Sie, dass es funktioniert völlig in Ordnung, wenn ich den link selbst mit root (alle anderen Benutzer Zugriff haben), aber das hat auch nicht wirklich erklären, warum es funktioniert nicht, wenn die von anderen Benutzern erstellt.
  • Was bedeutet #!/pseudo ?
  • Okay, sehr seltsam. Ich habe versucht, einen link erstellen in der gleichen Art und Weise in einem temporären Ordner irgendwo in /var/www/, und es funktioniert wie erwartet, ohne Erlaubnis Fehler. Was in der Welt.
  • Gibt es eine Referenz dazu? Dies ist das erste mal, dass ich jemals so etwas gehört und Googlen stellt sich nichts. Es geht auch gegen die traditionelle Rolle der Wurzel sowohl in den 40 Jahren Unix-und in der informatik im Allgemeinen...
  • Ok ich meinte diesen Unterschied behaivor für /tmp unter anderem, kann aber verwendet die falschen Worte...
InformationsquelleAutor Xkeeper | 2014-10-21
Schreibe einen Kommentar