Ich habe ein Problem mit der Erstellung von Softlinks. Es folgt die Originaldatei.
$ ls -l /etc/init.d/jboss
-rwxr-xr-x 1 askar admin 4972 Mar 11 2014 /etc/init.d/jboss
Die Linkerstellung schlägt mit einem Berechtigungsproblem für den Eigentümer der Datei fehl:
ln -sv jboss /etc/init.d/jboss1
ln: creating symbolic link `/etc/init.d/jboss1': Permission denied
$ id
uid=689(askar) gid=500(admin) groups=500(admin)
Also habe ich den Link mit sudo-Berechtigungen erstellt:
$ sudo ln -sv jboss /etc/init.d/jboss1
`/etc/init.d/jboss1' -> `jboss'
$ ls -l /etc/init.d/jboss1
lrwxrwxrwx 1 root root 11 Jul 27 17:24 /etc/init.d/jboss1 -> jboss
Als nächstes habe ich versucht, den Besitzer des Softlinks auf den ursprünglichen Benutzer zu ändern.
$ sudo chown askar.admin /etc/init.d/jboss1
$ ls -l /etc/init.d/jboss1
lrwxrwxrwx 1 root root 11 Jul 27 17:24 /etc/init.d/jboss1 -> jboss
Die Erlaubnis des Softlinks wird jedoch nicht geändert.
Was fehlt mir hier, um die Berechtigung des Links zu ändern?
Antworten:
Wenn auf einem Linux-System der Eigentümer einer symbolischen Verknüpfung mit
chown
geändert wird, wird standardmäßig das Ziel der symbolischen Verknüpfung geändert (dh auf was auch immer die symbolische Verknüpfung zeigt ).Wenn Sie den Eigentümer des Links selbst ändern möchten, müssen Sie die
-h
Option verwenden, umchown
:Zum Beispiel:
Beachten Sie, dass das Ziel des Links jetzt root gehört.
Und wieder ist der Link
test1
immer noch im Besitz von root, obwohl ertest
sich geändert hat.Und schließlich ändern wir den Eigentümer des Links mithilfe der
-h
Option.quelle
cp -as
nochinstall
nochln
direkt Symlinks mit einer bestimmten Benutzer / Gruppe erstellen.Wenn Sie auf Symlinks reagieren, müssen Sie die meisten Tools (chown, chmod, ls ...) anweisen, den Link nicht zu dereferenzieren: Sie müssen den
-h
Parameter hinzufügen , wie in der Manpage angegeben:Also versuche :
sudo chown -h askar.admin /etc/init.d/jboss1
quelle
Beachten Sie auch, dass der Fehler, den Sie oben angegeben haben
liegt nicht daran, dass der Besitzer des Symlinks jemand anderes als der Besitzer der Originaldatei ist. Dies wird (höchstwahrscheinlich) dadurch verursacht, dass der Benutzer askar keinen Schreibzugriff auf das Verzeichnis hat
/etc/init.d
.quelle