У меня есть этот сценарий 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
mean
/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, как указано в -s