Невозможно создать каталог с помощью sudo - PullRequest
0 голосов
/ 29 октября 2018

Вопрос

Почему sudo не может создать каталог с ошибкой?

USER=ansible

AUTH_KEY_DIR="$(sudo -i -u ${USER} pwd)/.ssh"
AUTH_KEY_FILE="${AUTH_KEY_DIR}/.ssh/authorized_keys"

# ERROR >-bash: mkdir /home/ansible/.ssh: No such file or directory
sudo -i -u ${USER} "mkdir ${AUTH_KEY_DIR}"   # <----- Error is caused here. 
sudo -i -u ${USER} "touch ${AUTH_KEY_FILE}"

Решение

sudo -i -u ${USER} /bin/bash -c "mkdir ${AUTH_KEY_DIR}"  

1 Ответ

0 голосов
/ 29 октября 2018

Слишком много Qouting. Команда sudo не повторно маркирует команды:

sudo -i -u ${USER} mkdir "${AUTH_KEY_DIR}"

Он не может создать каталог так же, как работает:

"mkdir ${AUTH_KEY_DIR}"

попытается найти исполняемый файл с именем mkdir ${AUTH_KEY_DIR} и запустить его. Вы хотите запустить mkdir с аргументом ${AUTH_KEY_DIR}.

...