Mam problem z tworzeniem miękkich linków. Poniżej znajduje się oryginalny plik.
$ ls -l /etc/init.d/jboss
-rwxr-xr-x 1 askar admin 4972 Mar 11 2014 /etc/init.d/jboss
Utworzenie łącza kończy się niepowodzeniem z powodu problemu z uprawnieniami dla właściciela pliku:
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)
Utworzyłem link z uprawnieniami sudo:
$ 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
Następnie próbowałem zmienić własność miękkiego linku na pierwotnego użytkownika.
$ 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
Ale pozwolenie na miękki link nie ulega zmianie.
Czego mi brakuje tutaj, aby zmienić pozwolenie na link?
Odpowiedzi:
W systemie Linux, zmieniając własność łącza symbolicznego
chown
, domyślnie zmienia cel łącza symbolicznego (tzn. Cokolwiek , na co wskazuje dowiązanie symboliczne ).Jeśli chcesz zmienić własność samego linku, musisz użyć
-h
opcji, abychown
:Na przykład:
Zauważ, że cel linku jest teraz własnością root.
I znowu, link
test1
nadal jest własnością root, mimo żetest
się zmienił.I na koniec zmieniamy własność linku za pomocą
-h
opcji.źródło
cp -as
ani aniinstall
nieln
można bezpośrednio tworzyć dowiązań symbolicznych z określonym użytkownikiem / grupą.Działając na dowiązaniach symbolicznych, musisz powiedzieć większości narzędzi (chown, chmod, ls ...), aby nie dereferencjonowały linku: musisz dodać
-h
parametr, jak podano na stronie podręcznika:Więc spróbuj :
sudo chown -h askar.admin /etc/init.d/jboss1
źródło
Zauważ też, że błąd, który podałeś powyżej
nie wynika z tego, że właścicielem dowiązania symbolicznego jest ktoś inny niż właściciel oryginalnego pliku. Jest to (najprawdopodobniej) spowodowane tym, że użytkownik askar nie ma dostępu do zapisu do katalogu
/etc/init.d
.źródło