Debian:umount /media/usb0:“不允許操作”
我最近從 Ubuntu 14.10 轉到了 Debian 測試。在 Ubuntu 下,我有一個用於將我的主文件夾備份到 U 盤的 shell 腳本。腳本的最後一行解除安裝 U 盤。使其適應 Debian 的文件系統,它應該是:
umount /media/usb0
(或 umount
/media/usb
連結到/media/usb0
)。但是當我執行腳本時,最後一行會拋出umount: /media/usb0: umount failed: Operation not permitted
. 顯然,sudo
它可以工作,但我想知道為什麼我需要在這裡成為 sudo (在 Ubuntu 上不是必需的)。任何想法如何規避這一點,那麼如何在沒有root權限的情況下解除安裝USB記憶棒?(腳本的其餘部分完美執行)。更新
這是我的 /etc/fstab:
# <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/sklar--vg-root / ext4 errors=remount-ro 0 1 # /boot was on /dev/sda1 during installation UUID=a90bee04-e08a-4a86-8465-762aca5719a4 /boot ext2 defaults 0 2 /dev/mapper/sklar--vg-swap_1 none swap sw 0 0 /dev/sdb1 /media/usb0 auto rw,user,noauto 0 0
預設情況下,
mount
僅允許 root 使用,或者,如果在 中指定/etc/fstab
,則由使用者使用。現在,如果您的 USB 驅動器在未指定
/etc/fstab
(或手動root
)的情況下自動掛載,則不會使用user=youruser
選項掛載,因此youruser
將無法掛載umount
。如果您的 USB 驅動器在選項中指定
/etc/fstab
,則user
任何使用者都可以使用mount
它,並且同一個使用者(和 root)也可以使用umount
它。您需要的是在 中指定您的 USB 驅動器
/etc/fstab
,使用user=youruser
. 那樣的話,不管是裝上root
還是youruser
掛載U盤,youruser
都可以umount
。
以下是
/etc/fstab
用於外部 USB 大容量儲存設備的典型線路。UUID="4E1AEA7B1AEA6007" /mnt/passport auto rw,user,noauto 0 0
這個特殊的恰好是我的 Passport USB 硬碟驅動器。注意
user
第四個欄位中的關鍵字。該欄位(與文件系統關聯的掛載選項)告訴系統允許使用者掛載和解除安裝設備。還有其他選擇,但使用user
非常普遍和典型。UUID
是從 獲取的,blkid
是儲存設備的標識符。有關詳細資訊,請參閱
man mount
,特別是“非超級使用者掛載”部分。這說:非超級使用者掛載。
通常,只有超級使用者可以掛載文件系統。但是,當
fstab
一行包含使用者選項時,任何人都可以掛載相應的系統。因此,給定一條線
/dev/cdrom /cd iso9660 ro,user,noauto,unhide
任何使用者都可以
iso9660
使用以下命令掛載在他的 CDROM 上找到的文件系統mount /dev/cdrom
或者
mount /cd
有關詳細資訊,請參閱
fstab(5)
。只有掛載文件系統的使用者才能再次解除安裝它。如果任何使用者應該能夠解除安裝,則在 fstab 行中使用 users 而不是 user。owner 選項類似於 user 選項,但限制使用者必須是特殊文件的所有者。這可能很有用,例如,/dev/fd
如果登錄腳本使控制台使用者成為該設備的所有者。組選項類似,但使用者必須是特殊文件組的成員。