Permissions
為什麼我收到權限被拒絕錯誤?
我正在嘗試創建一個符號連結,但我的權限被拒絕。我怎麼知道為什麼?
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
這是我的
visudo
文件的內容:# 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
我以名為 deploy 的使用者身份登錄,我在
sysadmins
組內。whoami deploy cat /etc/group deploy:x:1000: sysadmin:x:2300:deploy
正如我們在評論中討論的那樣:
您應該
ln
使用以下命令執行命令sudo
:sudo ln -nfs /home/deploy/foo/shared/config/nginx.conf /etc/nginx/sites-enabled/foo
現在,如果由於 Capistrano 3(我不知道)而無法做到這一點,則您必須授予
deploy
使用者對文件夾的寫入權限/etc/nginx/sites-enabled
。
擁有使用 sudo 的權限不會自動以 root 身份執行所有命令。這將消除 bot 直接使用 root 帳戶的所有安全優勢。
您需要通過 sudo 執行命令,或更改權限,以便您的普通使用者帳戶可以在那裡寫入。