Я пытаюсь создать символическую ссылку, но мне отказывают в разрешении. Как мне сказать почему?
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
Разрешение на использование sudo не приводит к автоматическому запуску всех ваших команд от имени пользователя root. Это устранило бы все преимущества безопасности, которые дает бот, напрямую использующий учетную запись root.
Вам нужно запустить команду через sudo или изменить разрешения, чтобы ваша учетная запись обычного пользователя могла писать туда.
Как мы обсуждали в комментариях:
Вы должны запустить свой ln
команда с использованием sudo
:
sudo ln -nfs /home/deploy/foo/shared/config/nginx.conf /etc/nginx/sites-enabled/foo
Теперь, если это невозможно из-за Capistrano 3 (чего я не знаю), вы должны deploy
права пользователя на запись в папку /etc/nginx/sites-enabled
.