Виконання команди як користувач nologin


43

Нещодавно я налаштував свій сервер, щоб мої "віртуальні" користувачі suPHP не могли увійти в систему за допомогою цієї статті

Моє питання зараз полягає в тому, що раніше, коли я запускав rakeкоманду для мого додатка Ruby on Rails, який працює на сервері, я раніше suзаходив www-dataі виконував команду - очевидно, я більше не можу цього робити через нологін.

Отже, як користувач root, як я можу виконувати команди як інший користувач, навіть якщо вони є нологіном?


Один із способів - запустити оболонку для цього користувача (чітко вказавши оболонку): sudo -u www-data bashвиконайте свої команди та вийдіть
cyberx86

@ cyberx86 Ваше рішення працює частуванням, чи можете ви надіслати його як відповідь для мене?

Відповіді:


50

Один із способів - запустити оболонку для цього користувача (чітко вказавши оболонку):

sudo -u www-data bash 

Це запустить (bash) оболонку як вказаний користувач. Потім ви можете виконати свої команди та вихід із системи (щоб повернутися до попередньої оболонки)


39

Як root ви можете використовувати su -s /bin/sh $user - -sопція переосмислює налаштовану оболонку для користувача.


1
Це завжди здається помилковим для мене.

Для мене чудово працює, ніколи не мав проблеми. Під час запуску сценаріїв з синтаксисом bash потребує / bin / bash, а не / bin / sh
ekerner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.