Linux
試圖理解 linux 腳本
我找到了這個 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