Я работаю над программным обеспечением, которое должно смонтировать долю smb/cifs автоматически.
Выгода - то, что доля должна быть смонтирована с помощью входа в систему пользователя, и пароль, и, AFAIK и по причинам completly неизвестный мне, похож на gio, не имеет опции указать пароль в командной строке, только пользователь. Если пользователь требует пароля, он просит его в интерактивном режиме. В то время как это работает на кого-то звонящего gio от терминала, для разработки... это - боль.
Я уже попытался звонить
gio mount smb://<user>:<password>@<server>/<share>/
но это просто игнорирует пароль и просит его в терминале. (Плохая) документация не показывает способа указать пароль. Действительно ли ожидание является подсказкой пароля и "эмуляцией" входа единственный способ установить его?
Используя монтирование-t cifs не является опцией, так как это требует root/sudo, и программное обеспечение, я продолжаю работать, как предполагается, не требует поднятых полномочий.
Создайте файл в вашем домашнем каталоге. Например, в /home/morbius/.servercreds
В этот файл введите свои учетные данные. Вы должны указать имя пользователя, рабочую группу и пароль - по одному на строку
<username>
<workgroup>
<password>
Тогда ваша команда gio будет выглядеть так:
gio mount smb://<server>/<share> < /home/morbius/.servercreds
Чтобы не создавать новый файл, вы можете направить ввод в gio
.
echo -e "USERNAME\nWORKGROUP\nPASSWORD\n" | gio mount smb://<server>/<share>
echo -e
указывает echo
разрешить использование специальных символов, а \n
после каждого поля аналогично нажатию клавиши ввода.