Linux

試圖理解 linux 腳本

  • February 1, 2015

我找到了這個 Linux 腳本,我正在嘗試理解它。有人可以幫我理解它。

劇本

if [ ! -d "/home/ftp/$PAM_USER" ]; then
 /bin/su - ftp -s /bin/sh -c "/usr/bin/env mkdir /home/ftp/$PAM_USER"
 /bin/su - ftp -s /bin/sh -c "/usr/bin/env chmod 751 /home/ftp/$PAM_USER"
fi

我不明白的事情

if [ ! -d "/home/vsftpd/$PAM_USER" ]; then 

我假設上面的腳本是一個條件檢查,看看 pam 使用者目錄是否存在

是什麼/bin/su意思

是什麼ftp意思

是什麼-s /bin/sh意思

是什麼-c /usr/bin/env意思

 /bin/su - ftp -s /bin/sh -c "/usr/bin/env chmod 751 /home/vsftpd/$PAM_USER"

fi

最後,我如何測試以確保該腳本甚至可以正常工作?

如果答案看起來基本或不完整,我深表歉意。不幸的是,就我目前的知識水平而言,我不確定要問什麼問題。

/bin/su - ftp -s /bin/sh -c "/usr/bin/env mkdir /home/ftp/$PAM_USER"

表示執行以下命令

/usr/bin/env mkdir /home/ftp/$PAM_USER

作為 ftp 使用者。您需要成為 root 才能執行該命令。

/bin/su 將更改為新使用者 ftp 並且該使用者正在通過-c使用 /bin/sh shell 執行命令,如-s

引用自:https://serverfault.com/questions/664057