У меня есть скрипт A.sh, который запрашивает сервер; получает пароль монтирования и монтирует личную папку на клиенте.
Затем у меня есть скрипт Init.sh, который сначала проверяет состояние интернет-соединения, а затем выполняет A.sh.
Если я выполню вручную A.sh, личная папка будет доступна во всех сеансах пользователя. Но если я выполню Init.sh или A.sh через задание cron, вывод покажет, что папка была смонтирована, но это не будет отражено в других местах.
- A.sh получает пароль для монтирования папки
- Добавляет его в связку ключей
printf "%s" "$PASS" | sudo ecryptfs-add-passphrase --fnek -
- Из вывода извлекает подпись и хеши фнека.
- И, наконец, монтирует папку с помощью команды
sudo mount -t ecryptfs -o ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_sig="$SIGNATURE",ecryptfs_fnek_sig="$FNEK",ecryptfs_unlink_sigs,ecryptfs_passthrough=no,no_sig_cache,key=passphrase:passphrase_passwd="$PASS" "$PRIVATE_FOLDER" "$MOUNT_POINT"
Я знаю, что он монтируется, потому что в журналах выводится строка Mounted eCryptfs
. Я не знаю, почему это заканчивается в конце сценария.
Задание cron запускается под этим пользователем crontab.