在Linux系統中,`su`指令通常用來切換使用者身份。以下是一些`su`指令的常用方法:
1. **切換至特定使用者**:最基本的用法是直接輸入`su`加上欲切換至的使用者名稱。例如,`su user1`會切換到名為`user1`的使用者帳號下。
2. **切換至超級使用者(root)**:如果想要切換到超級使用者(root)帳號下,可以直接輸入`su`或者`su -`。輸入`su -`會將環境變數也一併切換至root的環境。
3. **切換至其他身份執行命令**:你也可以使用`-c`選項指定要執行的命令,而不是切換整個 shell。例如,`su user2 -c "ls -l"`會以`user2`身份執行`ls -l`命令。
4. **限制切換權限**:在某些情況下,系統管理員可能會限制哪些使用者可以使用`su`指令。這通常是透過設定`/etc/suoders`檔案來實現的。
---
```bash
su -s /bin/sh sys -c "/bin/test.sh"
```
這行命令是在使用 su(切換使用者)命令來以 sys 使用者的身份執行 /bin/test.sh 指定的腳本。這個命令的具體效果如下:
1. su -s /bin/sh sys:以 sys 使用者的身份執行命令,並指定使用 /bin/sh 作為 shell。這表示將以 sys 使用者的身份執行後續的命令。
2. -c "/bin/test.sh":在 sys 使用者的身份下,執行 /bin/test.sh 指定的腳本。
綜合起來,這行命令將會以 sys 使用者的身份,以 /bin/sh 為 shell,執行 /bin/test.sh 指定的腳本。