Wie kann ich einen symbolischen Link von /tmp/mysql.sock setzen?

Wie kann ich einen symbolischen Link von /tmp/mysql.sock setzen?

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

verwandte Informationen