Прописал в /etc/fstab две точки монтирования
//net1/dfs /mnt/net1/ cifs user,noauto,file_mode=0650,dir_mode=0750,credentials=~/.credentials/net1.pass 0 0
//net2/dfs /mnt/net2/ cifs user,noauto,file_mode=0650,dir_mode=0750,credentials=~/.credentials/net2.pass 0 0
Предполагается, что у каждого пользователя в профиле будет список файлов с паролями доступа
Не выполняется.
Команда mount /mnt/net1 выдаёт
mount.cifs: permission denied: no match for /mnt/net1 found in /etc/fstab
Типа не найдена строка монтирования
Команда (для проверки) sudo mount /mnt/net1 выдаёт
error 2 (No such file or directory) opening credential file ~/.credentials/net1.pass
Строка монтирования определяется, но не может использовать относительный путь к файлу пароля в профиле пользователя
Если вписать путь как /etc/.credentials/$USER/net1.pass - будет такая же ошибка
В первом случае при запуске mount от имени пользователя у Вас ошибка, потому что пользователю не разрешено использовать mount
(можно исправить через sudoers)
Но в данном случае всё равно не поможет, потому что будет та же самая "ошибка 2"
Дело в том, что символ "~" является как бы макросом, и раскрывается в полный путь домашнего каталога текущего пользователя командной оболочкой, но никак не программой mount, которая собственно и читает, а потом обрабатывает файл /etc/fstab.
программа mount пытается найти именно файл "~/.credentials/net1.pass", т.е. хочет в текущем каталоге увидеть каталог "~" (ну и в нём уже остальное)
То же самое и про переменную $USER - mount воспринимает эту запись именно как имя каталога в /etc
Это вполне допустимые имена в системе (обратите внимание на одинарные кавычки - это чтобы bash не попытался сделать подстановки вместо ~ и $USER):
mkdir -p '~/$USER'
А по Вашей задаче можно предложить, например, монтирование скриптом, запускаемым от пользователя - там переменные и "~" будут уже честно отрабатываться.