เฉพาะ root เท่านั้นที่สามารถเมานต์ / dev / sdb1 on / media / sdb1 - นำไปสู่ไดรฟ์ usb ภายนอก


14

ฉันไม่เข้าใจว่าทำไมเมื่อฉันลองใช้ไดรเวอร์ USB ภายนอกของปลั๊กอินใน Ubuntu 12.04 ฉันเห็นข้อความถัดไป:

Error mounting: mount exited with exit code 1: helper failed with:
mount: only root can mount /dev/sdb1 on /media/sdb1

นี่คือเนื้อหาของ/etc/fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc                                       /proc           proc  nodev,noexec,nosuid       0  0  
# / was on /dev/sda1 during installation
UUID=5f5d330f-d5f2-4157-9496-94f1dce2f181  /               ext4  errors=remount-ro         0  1  
# swap was on /dev/sda5 during installation
UUID=84747ef4-6f50-49bc-9df1-fcba364ba299  none            swap  sw                        0  0  

/dev/fd0                                   /media/floppy0  auto  rw,user,noauto,exec,utf8  0  0  
/dev/sdc1                                  /media/sdc1     vfat  uid=1000,noauto           0  0  
/dev/sdd1                                  /media/sdd1     vfat  uid=1000,noauto           0  0  
/dev/sdb1                                  /media/sdb1     vfat  uid=1000,noauto           0  0

และนี่คือปัจจุบันของฉันsudo fdisk -l:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e28b8

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   310484991   155241472   83  Linux
/dev/sda2       310487038   312580095     1046529    5  Extended
/dev/sda5       310487040   312580095     1046528   82  Linux swap / Solaris

Disk /dev/sdb: 993 MB, 993001472 bytes
2 heads, 1 sectors/track, 969728 cylinders, total 1939456 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1             133     1939455      969661+   6  FAT16

Disk /dev/sdc: 4009 MB, 4009754624 bytes
16 heads, 32 sectors/track, 15296 cylinders, total 7831552 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd8e1f237

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *          32     7831551     3915760    b  W95 FAT32

sdcและsdb- มีไดรเวอร์ usb ภายนอกอยู่

ฉันสามารถแก้ไขปัญหานี้และติดตั้งไดรฟ์ usb ภายนอกทั้งหมดโดยอัตโนมัติได้หรือไม่


ตรวจสอบการอนุญาตของคุณ ผลการโพสต์ของ: ls -l / | grep mediaและls -l /media | grep sd
Dan

@ dan08 ทุกอย่างที่drwxr-xr-x 2 root root 4096 Jun 14 11:04 bin; drwxr-xr-x 3 root root 4096 Aug 21 18:47 boot; drwxr-xr-x 2 root root 4096 Jun 9 14:17 cdrom;ฉันไม่รู้จะแบ่งบรรทัดนี้เป็นส่วนได้อย่างไร
nazar_art

@ dan08 drwxr-xr-x 2 root root 4096 Aug 20 22:00 sdc1/แน่นอนพวกเขาทั้งหมดที่มีอยู่เช่น
nazar_art

คำตอบ:


22

คุณต้องเพิ่มuserตัวเลือกในของคุณfstab

/dev/sdc1    /media/sdc1     vfat  uid=1000,noauto,user           0  0  
/dev/sdd1    /media/sdd1     vfat  uid=1000,noauto,user           0  0  
/dev/sdb1    /media/sdb1     vfat  uid=1000,noauto,user           0  0

userตัวเลือกที่ช่วยให้ผู้ใช้ในการติดตั้งอุปกรณ์ตามที่กล่าวในคนที่:

โดยปกติแล้ว superuser เท่านั้นที่สามารถเมานต์ระบบไฟล์ อย่างไรก็ตามเมื่อ fstab มีuserตัวเลือกในบรรทัดใครก็สามารถติดตั้งระบบที่สอดคล้องกันได้

หรือถ้าคุณต้องการให้ผู้ใช้คนใดคนหนึ่งเมานต์ / เลิกเมานท์ไดรฟ์ที่ใช้usersแทน:

/dev/sdc1    /media/sdc1     vfat  uid=1000,noauto,users           0  0  
/dev/sdd1    /media/sdd1     vfat  uid=1000,noauto,users           0  0  
/dev/sdb1    /media/sdb1     vfat  uid=1000,noauto,users           0  0

หน้าคน:

เฉพาะผู้ใช้ที่ติดตั้งระบบไฟล์เท่านั้นที่สามารถยกเลิกการต่อเชื่อมได้อีกครั้ง หากผู้ใช้ใด ๆ สามารถยกเลิกการต่อเชื่อมได้ให้ใช้ผู้ใช้แทนผู้ใช้ในบรรทัด fstab

หมายเหตุ:userตัวเลือกก็หมายความnoexec, nosuidและnodevดังนั้นหากคุณต้องการตัวเลือกที่คุณจะต้องเพิ่มคู่ของพวกเขา ตัวอย่างเช่นหากคุณจะต้องเรียกใช้งานไฟล์ไบนารีจากไดรฟ์คุณควรเพิ่มตัวเลือกexecดังนั้นตัวเลือกของคุณจะเป็นuid=1000,noauto,user,execเช่นนั้นและตัวเลือกนั้นจะเหมือนกันสำหรับอีกสองไฟล์

อ่านเพิ่มเติม: Fstab - เอกสาร Ubuntu


ตามการตอบกลับของคุณความแตกต่างระหว่าง "ผู้ใช้" และ "ผู้ใช้" ที่มี "ผู้ใช้" ผู้ใช้สามารถนับได้เช่นกัน แต่ไม่ใช่กับ "ผู้ใช้" หรือไม่
Jose Gómez

1
ไม่ผู้ใช้อนุญาตให้ผู้ใช้ใด ๆ
ถอน

2

หากคุณมีรายการสำหรับอุปกรณ์ใน / etc / fstab อุปกรณ์จะป้องกันไม่ให้ Ubuntu เมานต์อัตโนมัติติดตั้งอุปกรณ์นั้นเมื่อทำการเชื่อมต่อ

ฉันเพิ่งทดสอบสิ่งนี้ในระบบของฉันซึ่งติดตั้ง thumb-drive อัตโนมัติเมื่อใส่:

// insert thumb-drive
$ grep gvfsd /proc/mount
gvfsd-fuse on /run/user/msw/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=msw)

เมื่อฉันเพิ่มสาย

/dev/sdb1   /mnt    vfat    noexec 0 0

เพื่อ / etc / fstab และแทรก thumb-drive มีความวุ่นวายของกิจกรรมโดยกระบวนการgvfsd-udisks2-volume-monitorซึ่งรวมถึงการเปิดและอ่าน / etc / fstab (ดังที่แสดงโดยstrace) thumb-drive ไม่ได้เมานต์

เมื่อฉันเปลี่ยน / etc / fstab โดยเพิ่มหนึ่งตัวเพื่อคอมเมนต์รายการ:

#/dev/sdb1   /mnt    vfat    noexec 0 0

gvfsd-udisks2-volume-monitor เริ่มยุ่งอีกครั้งและติดตั้ง thumb drive ฉันไม่ต้องถอด thumb-drive ออกแล้วใส่เข้าไปใหม่ฉันไม่ต้องส่งสัญญาณไปยัง gvfsd ดังนั้น daemon การติดตั้งอัตโนมัติดูเหมือนว่ากำลังรับชม / etc / fstab สำหรับการเปลี่ยนแปลง

ฉันไม่รู้ว่าทำไมมันถึงทำงานแบบนี้ แต่การทดสอบนั้นง่ายและทำซ้ำได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.