Ошибка «только root может монтировать» - но я root

9

Вчера мне удалось смонтировать общий ресурс smb с помощью следующей команды:

sudo mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

Я не знаю, почему это больше не работает. (Возможно из системного обновления).

Я получил следующую ошибку:

mount: only root can mount //XXX.XXX.XXX/share on /home/ben/share

Я не знаю, как решить эту проблему ..

Я также попытался смонтировать его с помощью su -, и Smbclient работает.

Я запускаю ArchLinux.

Бен Д
источник
1
Какой выход echo "$EUID"?
Крис Даун
1
@ChrisDown echo $ EUID = 1000
Бен Д
6
@BenD - в этом случае вы не работаете как root. (Очевидно, что это должно выполняться в той же среде, в которой вы пытаетесь подключиться, поэтому вы должны убедиться, что расширяется корневая оболочка $EUID.)
Крис Даун
2
Почему путь между сообщением об ошибке и командой монтирования отличается? Один есть, /media/shareа другой есть /home/ben/share. Кроме того, я рекомендую использовать /mntдля ручного или статического крепления. /mediaбыл создан для демонов HAL / udev для монтирования динамически создаваемых дисков, таких как USB-накопитель.
penguin359
1
Как уже упоминалось @ 9000, посмотрите, что говорит подробный режим, добавив -v к команде mount. Также проверьте системные журналы, если вы еще этого не сделали, и dmesg, и, возможно, выполните команду strace для более глубокого устранения неполадок.
Banjer

Ответы:

1

Если вы не знаете, что происходит, попробуйте strace:

sudo strace -f -F -o mount.strace mount -t cifs //XXXX/share /media/share -o user=Ben,password=XXX,workgroup=WORKGROUP,ip=XXX.XX.XX,uid=ben,gid=ben,rw

Тогда попробуйте поискать файл mount.straceснизу для некоторых ошибок, вы, очевидно, найдете причину ... Это сложный метод, я знаю ...

Ян Марек
источник
0

Поскольку я не вижу надлежащей причины вашей ошибки, я бы предложил немного другой синтаксис.

Сначала я создам новый каталог как root (чтобы убедиться, что root может его создать), а затем смонтирую общий ресурс с немного другими параметрами. Вот команды (все они должны быть успешными):

sudo mkdir /mnt/smb_share
sudo touch /mnt/smb_share/test && sudo rm -f /mnt/smb_share/test && echo "Permissions are OK"
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP)

Команда mount должна запросить ваш пароль пользователя Samba Ben. Я удалил параметры uid и gid только для того, чтобы убрать «шум». С помощью этой команды вы сможете проверить, можете ли вы смонтировать общий ресурс. Конечно, вам нужно заменить:

  • (имя хоста) по имени хоста общего сервера. Если это не работает с именем хоста, попробуйте еще раз, но вместо этого используйте IP-адрес;
  • (WORKGROUP) по вашей рабочей группе или домену.

Если это работает. Попробуйте размонтировать общий ресурс и перемонтировать его только с помощью uid:

sudo umount /mnt/smb_share
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP),uid=ben

Если это работает, добавьте gid, затем добавьте rw и, наконец, добавьте опцию пароля (шаг за шагом). Таким образом, вы можете определить, какой из вариантов не понят.

Гюйгенс
источник