De ce primesc o eroare de permisiune refuzată? (Administrarea sistemului, Permisiuni, Ubuntu 12.04)

Jumbalaya Wanton a intrebat.
a intrebat.

Încerc să creez o legătură simbolică, dar primesc permisiunea refuzată. Cum pot să știu de ce?

ln -nfs /home/deploy/foo/shared/config/nginx.conf /etc/nginx/sites-enabled/foo
ln: failed to create symbolic link `/etc/nginx/sites-enabled/foo': Permission denied

Acesta este conținutul fișierului meu visudo fișier:

# This file is managed by Chef.
# Do NOT modify this file directly.

Defaults      !lecture,tty_tickets,!fqdn

# User privilege specification
root          ALL=(ALL) ALL

deploy ALL=(ALL) ALL

# Members of the group 'sysadmin' may gain root privileges
%sysadmin ALL=(ALL) ALL
# Members of the group 'sysadmins' may gain root privileges
%sysadmins ALL=(ALL) ALL

Sunt logat ca un utilizator numit deploy, sunt în interiorul fișierului sysadmins grup.

whoami
deploy

cat /etc/group
deploy:x:1000:
sysadmin:x:2300:deploy

Comentarii

  • Ce comandă ați executat? Care este rezultatul din id? –  > Por Michael Hampton.
  • @MichaelHampton Îmi pare rău, am fost un pic prost să nu includ comanda. Am actualizat întrebarea. De asemenea, nu știu ce vrei să spui prin output of id–Sunt un novice în domeniu. –  > Por Jumbalaya Wanton.
  • Ați încercat sudo ln ... ? –  > Por krisFR.
  • @krisFR dacă folosesc sudo funcționează. Dar eu folosesc Capistrano 3 care nu poate executa comenzi sudo. –  > Por Jumbalaya Wanton.
  • Asta înseamnă că trebuie să scrii id și apăsați Enter. Apoi lipiți rezultatul. –  > Por Michael Hampton.
2 răspunsuri
krisFR

Așa cum am discutat în comentarii :

Ar trebui să rulați dvs. ln comanda folosind sudo :

sudo ln -nfs /home/deploy/foo/shared/config/nginx.conf /etc/nginx/sites-enabled/foo

Acum, dacă acest lucru nu este posibil din cauza Capistrano 3 (pe care nu îl cunosc), trebuie să dați comanda dvs. deploy utilizatorului permisiuni de scriere pe folderul /etc/nginx/sites-enabled.

Comentarii

  • Mulțumesc. Asta e ceea ce am încercat inițial. Se dă peste cap: sudo no tty present and no askpass program specified. Am de gând să încerc și cealaltă sugestie a ta. –  > Por Jumbalaya Wanton.
  • @Jumbalaya Wanton Ce zici de acum? –  > Por krisFR.
Grant

Având permisiunea de a folosi sudo nu rulează automat toate comenzile ca root. Acest lucru ar elimina toate avantajele de securitate ale bot folosind direct contul root.

Trebuie să rulați comanda prin sudo sau să modificați permisiunile astfel încât contul dvs. obișnuit de utilizator să poată scrie acolo.