
Я использую гостевую Ubuntu 22.04 в Hyper-V в Windows 11. Я создал файловый ресурс и предоставил к нему общий доступ для локального пользователя ("shareuser"). Я пытаюсь автоматически смонтировать его с помощью cifs и соответствующих изменений, /etc/fstab
но у меня ничего не получается. Когда я выполняю монтирование в командной строке, мне выдается следующее:
sudo mount -t cifs -o domain=WORKGROUP,username=shareuser,password=pass1234
//172.22.0.1/sharename /home/otheruser/share
mount: /home/otheruser/share: cannot mount //172.22.0.1/sharename read-only.
sharename
определенно не только для чтения, так как я могу подключиться к smbclient и передавать файлы совершенно нормально. Просто cifs не работает так, как должен.
Работающее соединение smbclient
выглядит так:
smbclient -U WORKGROUP/shareuser --password 'pass1234' //172.22.0.1/sharename
Странно, что у меня есть еще одна Ubuntu 22.04 VM, где все работает нормально. Я нашел много постов, которые идут в том же направлении, но ни один из них не содержит точно такое же сообщение об ошибке. Также --verbose
не выводит ничего, кроме сообщения об ошибке выше. Любая подсказка приветствуется.
решение1
Для подключения из Linux CIFS к Windows 11 требуется SMB3. Вот два варианта, которые работают у меня на Debian 12 («книжный червь»):
w='WORKGROUP' # Workgroup or domain; blank if unused
u='shareuser' # Username
p='pass1234' # Password; no comma allowed
s='//172.22.0.1/sharename' # Share
mkdir -p /mnt/net
mount -t cifs -o "vers=3.02,${w:+domain=$w,}username=$u,password=$p" "$s" /mnt/net
smbclient --user "$u" --max-protocol SMB3 "$s" "$p" --command 'dir'