Ich habe versucht, einen Symlink zu setzen von
/tmp/mysql.sock -> /var/run/mysqld/mysqld.sock
Allerdings passiert es immer, wenn ich es mit dem folgenden Befehl versuche:
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
Ich bekomme folgende Antwort:
ln: failed to access ‘/tmp/mysql.sock’: Permission denied
Ich habe versucht, chmod zu verwenden, aber die Antwort war dieselbe.
Ich muss dies wegen eines Problems mit HHVM tunhttps://github.com/facebook/hhvm/issues/4987
(Ich verwende Ubuntu 14.04LTS)
Antwort1
Es klingt, als ob im Ordner /tmp die Sticky Bits gesetzt sind
Dies bedeutet, dass Ihre Berechtigung aufgrund von protected_symlinks verweigert wird.
Wenn protected_symlinks auf „0“ gesetzt ist, ist das Verhalten beim Verfolgen von symbolischen Links uneingeschränkt.
Wenn der Wert auf „1“ gesetzt ist, dürfen Symlinks nur verfolgt werden, wenn sie sich außerhalb eines für alle beschreibbaren Sticky-Verzeichnisses befinden, wenn die UID des Symlinks und des Followers übereinstimmen oder wenn der Verzeichnisbesitzer mit dem Besitzer des Symlinks übereinstimmt.
Um dieses Verhalten zu ändern
sysctl -w fs.protected_symlinks=0
Weiterführende LiteraturBerechtigungen