Kesalahan "Hanya root yang bisa dipasang" - tetapi saya root

9

Kemarin saya bisa me-mount share seseorang dengan perintah berikut:

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

Saya tidak tahu mengapa itu tidak berfungsi lagi. (Mungkin dari pembaruan sistem).

Saya mendapat kesalahan berikut:

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

Saya tidak tahu bagaimana cara memperbaiki masalah ini ..

Saya juga mencoba me-mount-nya dengan su -, dan Smbclient berfungsi.

Saya Menjalankan ArchLinux.

Ben D
sumber
1
Apa output dari echo "$EUID"?
Chris Down
1
@ChrisDown echo $ EUID = 1000
Ben D
6
@ BenD - Dalam hal ini Anda tidak berjalan secara efektif sebagai root. (Jelas ini harus dijalankan di lingkungan yang sama dengan yang Anda coba pasang, jadi Anda harus memastikan itu adalah shell root yang sedang mengembang $EUID.)
Chris Down
2
Mengapa jalur berbeda antara pesan kesalahan dan perintah mount? Yang satu /media/sharedan yang lainnya /home/ben/share. Juga, saya merekomendasikan penggunaan /mntuntuk mount manual atau statis. /mediadibuat untuk daemon HAL / udev untuk memasang disk yang dibuat secara dinamis seperti drive USB.
penguin359
1
Seperti yang disebutkan @ 9000, lihat apa yang dikatakan mode verbose dengan menambahkan -v ke perintah mount Anda. Juga periksa log sistem Anda jika Anda belum melakukannya, dan dmesg, dan mungkin jalankan strace pada perintah untuk pemecahan masalah yang lebih dalam.
Banjer

Jawaban:

1

Jika Anda tidak tahu, apa yang terjadi, coba 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

Kemudian coba cari file mount.stracedari bawah untuk beberapa kesalahan, Anda pasti akan menemukan alasan ... Ini metode yang sulit, saya tahu ...

Jan Marek
sumber
0

Karena saya tidak melihat alasan yang tepat untuk kesalahan Anda, saya akan mengusulkan sintaks yang sedikit berbeda.

Pertama saya akan membuat direktori baru sebagai root (pastinya root bisa membuatnya) dan kemudian me-mount share dengan opsi yang sedikit berbeda. Inilah perintahnya (semuanya harus berhasil):

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)

Perintah mount seharusnya menanyakan kata sandi pengguna Samba Anda. Saya telah menghapus opsi uid dan gid hanya untuk menghilangkan beberapa "noise". Dengan perintah ini Anda harus dapat memverifikasi bahwa Anda dapat me-mount share. Tentu saja Anda perlu mengganti:

  • (nama host) dengan nama server host yang sama. Jika tidak bekerja dengan nama host, coba lagi tetapi gunakan alamat IP sebagai gantinya;
  • (WORKGROUP) oleh workgroup atau domain Anda.

Jika ini berhasil. Coba unmount share dan remount hanya dengan uid:

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

Jika ini berfungsi, tambahkan gid, lalu tambahkan rw dan akhirnya tambahkan opsi kata sandi (langkah demi langkah). Jadi, Anda dapat mengidentifikasi opsi mana yang tidak dipahami.

Huygens
sumber