UNIX - mount: hanya root yang bisa melakukannya

15

Saya perlu mengizinkan pengguna non-root untuk me-mount / melepas perangkat. Saya seorang noob total ketika datang ke UNIX, jadi tolong bodohkan untuk saya.

Saya telah mencari di seluruh interwebz untuk menemukan jawaban dan tampaknya semua orang memberikan jawaban yang sama, yaitu memodifikasi /etc/fstabuntuk memasukkan perangkat itu dengan useropsi (atau users, mencoba keduanya). Saya melakukan itu dan masih dikatakan mount: only root can do that.

Berikut adalah isi dari fstab saya:

# / etc / fstab: informasi sistem file statis.
#
# Gunakan 'vol_id --uuid' untuk mencetak pengidentifikasi unik universal untuk a
# perangkat; ini dapat digunakan dengan UUID = sebagai cara yang lebih kuat untuk memberi nama perangkat
# itu berfungsi bahkan jika disk ditambahkan dan dihapus. Lihat fstab (5).
#
#                
proc / proc default proc 0 0
# / ada di / dev / mapper / minicc-root selama instalasi
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime, errors = remount-ro 0 1
# / boot pada / dev / sda5 selama instalasi
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# swap ada di / dev / mapper / minicc-swap_1 saat instalasi
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 tidak ada swap sw 0 0
/ dev / scd0 / media / cdrom0 udf, pengguna iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, pengguna, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard otomatis, pengguna, rw, exec 0 0

Partisi drive jempol saya muncul sebagai /dev/sdb1. Saya cukup yakin saya fstabsudah diatur OK, tetapi semua orang di posting lain tampaknya gagal menyebutkan bagaimana mereka benar-benar memanggil mountperintah setelah entri ini ada di file fstab. Saya pikir di sinilah masalah saya. Perintah yang saya gunakan untuk memasang drive adalah:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountdimiliki oleh root dan berada di grup root dan memiliki 4755 izin.
/bin/umountdimiliki oleh root dan berada di grup root dan memiliki 4755 izin.
/mnt/sdcarddimiliki oleh saya dan berada di salah satu grup saya dan memiliki 0755 izin.

Perintah mount saya berfungsi dengan baik jika saya menggunakan sudo, tetapi saya harus dapat melakukan ini tanpa sudo(harus dapat melakukannya dari skrip PHP menggunakan shell_exec). Ada saran?

Travesty3
sumber
1
Tolong jangan gunakan ekspresi seperti "teh interwebz", itu hanya mengganggu.
Georg Schölly
9
Saya lebih suka melihat "teh interwebz" disuntikkan dengan humor dan kepribadian daripada melihat seseorang menggunakan "u", "ur", "any1" dan sejenisnya karena kemalasan dan ketidaktahuan. Maksud saya adalah bahwa ada perbedaan dan itu jelas berdasarkan konteksnya.
Dijeda sampai pemberitahuan lebih lanjut.

Jawaban:

17

Saat memasang volume sebagai pengguna biasa, Anda hanya perlu memberikan nama titik pemasangan, yaitu:

mount /mnt/sdcard

The /etc/fstabfile menyediakan perangkat yang akan digunakan.

Kevin Panko
sumber
2
Atau Anda dapat memasang perangkat dan fstabakan memasok titik pemasangan.
Dijeda sampai pemberitahuan lebih lanjut.
AHA! Saya pikir itu akan menjadi sesuatu yang salah dengan sintaks perintah saya. SANGAT senang itu sesuatu yang sederhana. Terima kasih!!! Memberikan jawaban untuk posting ini karena itu adalah solusi paling langsung dan deskriptif untuk masalah SAYA, meskipun jawaban Dennis juga menyarankan ini dan juga akan memecahkan masalah.
Travesty3
7

Coba ubah kepemilikan /dev/sdb1menjadi root:

chown root:root /dev/sdb1

dan fstabjalur Anda ke

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

Dan lakukan mountseperti ini:

mount /dev/sdb1
Dijeda sampai pemberitahuan lebih lanjut.
sumber
Terima kasih atas tanggapannya! Solusi Anda juga akan menyelesaikan masalah, dan semoga orang lain yang membaca posting ini juga akan terbantu dengan saran Anda yang lain. Terima kasih lagi!
Travesty3
-1

Saya pikir opsi otomatis melakukan kekacauan. Ganti saja dengan noauto.

gogiel
sumber
perhatikan bahwa "otomatis" di "otomatis, pengguna, rw, exec", bukan "otomatis" mandiri. standalone "auto" adalah untuk mendeteksi filesystem yang akan digunakan dan harus baik-baik saja.
quack quixote
tidak, masalah yang sama. mengubahnya menjadi mengatakan / dev / sdb1 / mnt / sdcard otomatis noauto, pengguna, rw, exec 0 0. tidak yakin apakah itu perlu atau tidak, tetapi karena ini adalah server dev dan saya bisa, saya memang me-restart komputer setelah memodifikasi file fstab, tidak berhasil. terima kasih atas sarannya, tetap datang!
Travesty3