(удаленный... может только иметь одну Гиперссылку как нового пользователя ~),
Извините, я не видел, что это о неинтерактивной сессии, к которой не применяется вышеупомянутая ссылка.
Когда Bash запускается в режиме совместимости SH, он пытается подражать поведению запуска исторических версий sh максимально тесно при приспосабливании стандарту POSIX® также. Чтение файлов профиля является/etc/profile и ~/.profile, если это - оболочка входа в систему.
Если это не оболочка входа в систему, ENV переменной среды оценен, и получающееся имя файла взято в качестве названия файла запуска.
После того, как файлы запуска читаются, Bash переходит к режиму совместимости POSIX(r) (для выполнения, не для запуска!).
Bash запускается в sh режиме совместимости когда:
- основное имя файла в argv [0] является sh (:!: Внимание дорогие uber-умные пользователи Linux.../bin/sh могут быть связаны с/bin/bash, но это не означает это, действует как/bin/bash:!:)
Таким образом, вопрос, почему он не выполняет его, даже при том, что Ваша оболочка запускается как это.
Идеально это были бы учетные записи SFTP, с помощью аутентификации открытого ключа SSH, а не паролей. Вы получили бы и безопасность и удобство. Но давайте предположим, что у Вас нет выбора не использования FTP с паролями.
Вы могли сохранить пароли ( .netrc
файл) в зашифрованной файловой системе и монтируют, что файловая система только, когда Вы хотите получить доступ к нему. Простым способом создать зашифрованное дерево каталогов является encfs. Установка:
# install encfs, e.g. apt-get install encfs
mkdir ~/.passwords.d
encfs ~/.passwords.encfs ~/.passwords.d
mv ~/.netrc ~/.passwords.d
ln -s .passwords.d/.netrc ~
fusermount -u ~/.passwords.d
Ежедневное использование:
encfs ~/.passwords.encfs ~/.passwords.d
ftp …
fusermount -u ~/.passwords.d