簡體   English   中英

Linux shell 腳本 - 如何切換用戶並運行腳本?

[英]Linux shell script - How to switch user and run a script?

我目前正在編寫一個 .sh 腳本來在 4 台不同的機器上部署不同的應用程序。 現在我在以其他用戶身份運行腳本時遇到問題。 我需要使用我的憑據使用 myUser 登錄,然后 sudo su 到 user2 以運行特定腳本。

通常,我會手動執行以下操作:

ssh myUser@remotehost
[Type in password]
sudo su - user2
cd /path/only/accessible/to/user2
./someScript.sh

當我嘗試

ssh -t myUser@$remotehost "sudo su - user2 && /path/only/accessible/to/user2 && ./someScript.sh"

我被問到我的密碼,然后以 user2 的身份登錄,腳本沒有任何反饋,這通常會給我一些信息。

我究竟做錯了什么?

嘗試
ssh -t myUser@$remotehost "sudo -u user2 /path/only/accessible/to/user2/someScript.sh"

如果您之后需要shell訪問,您可以使用
ssh -t myUser@$remotehost "sudo -u user2 /path/only/accessible/to/user2/someScript.sh && /bin/bash -l"

如果有人對此感到疑惑,請進行更新。

我最終做的是使用 ssh 密鑰登錄。 我的系統管理員必須參與其中才能進行設置,但至少這是一個可行的選擇。

ssh -i /path/to/sshKey user2@$remoteHost "/path/only/accessible/to/user2/someScript.sh"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM