Недавно я настраивал сайт Symfony 3, что потребовало от меня установить некоторые разрешения на папку /var
. Мне пришлось сделать следующее:
$ HTTPDUSER=`ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
$ sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX var
$ sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX var
Это добавило необходимые разрешения,
но теперь я получаю следующее сообщение каждый раз, когда использую команду sudo
.
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for user:
Обычно такое сообщение отправляется только в первый раз, когда пользователь использует sudo
.
Кроме того, раньше я мог ввести свой пароль для sudo
один раз, и он истекал через некоторое время (и тогда мне приходилось вводить его снова).
Теперь я каждый раз получаю и сообщение, и запрос пароля.
Есть ли способ исправить это?
Если вы наберете
sudo -s
в терминале, то все последующие команды будут выполняться как sudo
, но я бы не предлагал оставаться в таком режиме, если в этом нет необходимости.
На всякий случай, если кому-то интересно, вот что я сделал, чтобы решить эту проблему.
Исправление:
sudo setfacl -R -b
Это рекурсивно (-R) удаляет все (-b) разрешения acl
Я также получал предупреждение о групповой записи для следующих файлов:
/var/lib/sudo/lectured
/var/lib/sudo/ts
Исправление:
sudo chmod 700
для обоих файлы и исправляют разрешения, а также исправляют предупреждения