Разрешить одному процессу доступ к файлу

Я предполагаю, что у пользователя user1 нет пароля -less доступ к sudo, правильно? Если это так, вы можете использовать команду runuser.

runuser -l user2 -c 'whoami'

Вы можете просто использовать su / sudo, если у вас настроены разрешения sudo.

su - user2 -c 'whoami'

Однако я предполагаю, что у вас нет sudo без пароля и / или у вас может не быть пароля для пользователя user2. Вы можете сделать сложную задачу, сгенерировав пару ключей RSA для пользователя user1, а затем добавив ключ id_rsa.pub в файл $ HOME / .ssh / authorized_keys пользователя2, чтобы включить аутентификацию с открытым ключом RSA, а затем использовать SSH, чтобы сделать это без пароля.

От имени пользователя user1 выполните следующее: ssh keygen Просто нажмите клавишу ввода в запросах Затем выполните следующее, чтобы добавить ключ автоматически (вы можете сделать это вручную, чтобы). Если вы используете эту команду, вам понадобится пароль пользователя user2 только в первый раз.

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub user2 @ hostname

Если это сработает, вы сможете войти в систему как user1, затем запустите ssh user2 @ localhost для входа как user2 без пароля. Убедитесь, что в / etc / ssh / sshd_config на сервере включена аутентификация PublicKey.

Затем для удаленного выполнения команды вы можете запустить что-то вроде:

ssh user2 @ localhost "remote-command1; remote-command2"

2
18.08.2015, 01:36
0 ответов

Теги

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