Я использую Ubuntu 10.04 сервер LTS с моделью обеспечения безопасности по умолчанию (заблокированный корень, с помощью sudo
поднять полномочия). Я иногда люблю использовать sudo -i
когда я должен буду выполнить ряд команд с поднятыми полномочиями, или когда я должен буду рыться вокруг в каталогах с полномочиями только для корня.
Иногда, при установке программного обеспечения это будет работать как его собственная непривилегированная системная учетная запись (adduser --system --group --no-create-home --disabled-login some-daemon-user
) Я нахожу, что должен выполнить последовательность команд как тот пользователь, а не я или корень. Я попытался использовать sudo -i -u some-daemon-user
, но это просто возвращает a 1
состояние без любого сообщения об ошибке.
Я проверил syslog
, messages
, auth
, и debug
файлы журнала в /var/log
и ни один из них не включает сообщений та ссылка sudo
или рассматриваемая учетная запись.
Так, действительно ли возможно стать другим некорневым пользователем, sudo-стилем, просто не устанавливая пароль и входя в систему (как они)? Моя система 'Повреждается' в некотором роде, или я просто делаю ее неправильно?
sudo -i
запускает оболочку, указанную в записи базы данных паролей целевого пользователя, которая /bin/false
для вашего системного пользователя.
Используйте
sudo -u some-daemon-user bash
или
sudo -u some-daemon-user -H bash
, если хотите установить переменную среды $ HOME, установленную для целевого пользователя.
Аааа ... проблема в том, что стандартная оболочка этих пользователей обычно установлена на /bin/false
, и по соображениям безопасности вы не должны менять это. Но вы все равно можете запустить, например: sudo -u www-data /bin/sh