Пытаюсь понять сценарий 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 mean

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

fi

Наконец, как я могу проверить, работает ли этот сценарий?

Прошу прощения, если ответ кажется простым или неполным. К сожалению, при моем нынешнем уровне знаний я не знаю, какие вопросы задавать.

-8
задан 1 February 2015 в 06:52
1 ответ
 /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

1
ответ дан 16 December 2019 в 22:48

Теги

Похожие вопросы