Невозможный выполнить команду при помощи su для другого (система) пользователь

Это едва объяснено в Реализации SELinux как Модуль безопасности Linux

Это приводит к заполненной selinuxfs файловой системе и настраивает специальный пустой узел устройства, используемый SELinux, когда это закрывает несанкционированные файлы после изменения контекста execve.

По-видимому, программы не могут использовать /dev/null непосредственно, в то время как в SELinux-контексте и им была нужна их собственная версия. Это было раньше известно как open_devnull, и его начало предоставляет еще несколько подробной информации о том, почему это было необходимо:

Этот патч против 2.6.6-rc3 изменений модуль SELinux, чтобы попытаться сбросить любые дескрипторы это закрывается на должностном лице (из-за отсутствия разрешения новым доменом в наследованный открытый файл) для обращения к пустому устройству. Это решает проблему SELinux стимулирование проступка программы, особенно из-за наличия дескрипторов 0-2 закрытых, когда новому домену не предоставляют доступ к tty вызывающей стороны. Это должно, прежде всего, обратиться к случаю, где вызывающей стороне доверяют относительно нового домена, поскольку недоверяемый случай вызывающей стороны уже обрабатывается через AT_SECURE и glibc безопасный режим.

2
16.03.2014, 01:37
1 ответ

Ваш пользователь deluge имеет / bin / false в качестве оболочки по умолчанию - это то, что запускает su и передает -c ] вариант (или запуск без каких-либо параметров, если вы просто выполняете su deluge ). Вы можете использовать параметр - shell для adduser , чтобы установить оболочку при создании пользователя. Например:

sudo adduser --shell /bin/sh --disabled-password --system \
  --home /var/lib/deluge --gecos "Deluge server" --group deluge

Или используйте chsh , чтобы изменить оболочку для уже созданного пользователя:

sudo chsh -s /bin/sh deluge

Или вы можете использовать - shell (или -s ]) с параметром su для переопределения / etc / passwd :

su deluge -s /bin/sh -c "flexget --test execute"

В зависимости от того, что еще вы делаете с пользователем, / bin / bash может быть более подходящая оболочка для использования.

3
27.01.2020, 22:06

Теги

Похожие вопросы