Làm cách nào tôi có thể tự động đặt quyền ghi khi gắn ổ USB trong linux?


18

Khi tôi gắn ổ USB ngoài trên linux (CentOs4), các quyền theo mặc định được đặt thành chỉ đọc. Vì có nhiều người dùng trên máy tính cần sử dụng ổ đĩa ngoài, tôi muốn mọi người đều có rwquyền cho toàn bộ ổ đĩa. Tôi cũng muốn chúng có thể gắn ổ đĩa nếu máy tính bị tắt. Họ có thể sử dụng sudo mountđể gắn ổ đĩa, nhưng điều này sẽ chỉ cho phép họ đọc và rõ ràng tôi không muốn cho phép sudo chmod.

Có một cài đặt mặc định mà tôi có thể thay đổi để mọi đĩa USB bên ngoài mới tự động được cấp rwquyền không?

Câu trả lời:


17

Để cho phép mọi người truy cập rw, phím là tùy chọn umask = 0 để gắn lệnh.

sudo mount -o umask=0,uid=nobody,gid=nobody /dev/something /mnt/somewhere

umask = 0 là đủ, uid và gid chỉ vì sự rõ ràng, vì vậy bạn không thấy nhiều chủ sở hữu 'root' hơn là nhất thiết.


Câu trả lời của @ Tom (viết / etc / fstab) sẽ cho phép bạn bỏ qua sudovà nếu bạn viết umask = 0 dưới dạng tùy chọn bổ sung ở đó, bạn sẽ có được cả hai thế giới tốt nhất:

Có cái này trong / etc / fstab:

/dev/something /mnt/somewhere auto users,noatime,umask=0 0 0

cho phép bạn chạy

mount /dev/something

và mọi người đều có quyền truy cập vào tất cả các tập tin.


Đây là lưu ý kỹ thuật, nếu bạn muốn biết chi tiết:

Như đã man mountnói, 'umask = 0' sẽ đảm bảo rằng không có quy tắc bổ sung nào áp dụng cho chế độ truy cập tệp. Đối với các hệ thống tệp FAT (được sử dụng rộng rãi nhất trên các đĩa USB), không có chế độ truy cập nào được lưu trữ. Nhưng quy trình hiện tại của bạn có một số giá trị umask được đặt, bạn có thể thấy nó nếu bạn chỉ chạy umasktrong thiết bị đầu cuối. mountsử dụng như mặc định và loại bỏ chế độ truy cập của giá trị umask của bạn khỏi tất cả các tệp trên đĩa được gắn. Các giá trị umask được sử dụng rộng rãi nhất là (bát phân) 022 - không có nhóm và ghi khác, và 027 - không ghi nhóm, không có bất kỳ quyền truy cập nào khác.


Tôi gặp lỗi với 'tùy chọn xấu' nếu tôi thêm umask=0 0 0dưới dạng một mục trong fstab. Liệu umask-entry cần phải là mục cuối cùng? Không những gì managed=0 0 0entry làm điều đó hiện nay là cuối cùng?
Jonas

1
FWIW, tùy chọn umask là tùy chọn chỉ dành cho VFAT, tức là giải pháp giúp miễn là bộ nhớ USB sử dụng hệ thống tệp VFAT (không xảy ra trong trường hợp của tôi).
Tomislav Nakic-Alfirevic

2
Cảm ơn bạn. Nhưng tôi đã phải thay đổi nó để làm cho nó hoạt động: sudo mount -o umask=0,uid=nobody /dev/something /mnt/somewhereNó chỉ hoạt động mà không đặt tham số gid.
Nippey

2

Thêm một mục vào / etc / fstab. Đây là một mục mà tôi đã thêm chỉ một vài giờ trước cho ổ USB Seagate của mình:

UUID = 4ACC734ECC733375 / media / Linux ext3 lỗi = remount-ro, mặc định, người dùng, noatime, gật đầu 0 0

Chìa khóa ở đây là mục "người dùng" cho phép người dùng gắn kết và ngắt kết nối ổ đĩa.

Chỉnh sửa: điều này hoạt động cho các ổ đĩa cụ thể - Tôi không biết liệu nó có thể được bật cho tất cả các ổ đĩa có một mục nhập hay không.


Nếu người dùng gắn ổ đĩa, tất cả người dùng khác cũng có được rwphép không?
Jonas

1

Loại mount. Điều này sẽ cung cấp cho nơi hiện tại nó đang ở. Đây là đầu ra của tôi.

rick@rick-Main ~ $ mount
/dev/sda4 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
/dev/sda6 on /media/DATA1 type vfat (rw,uid=1000,utf8,umask=077)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=rick)
/dev/sdf1 on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime)

Cái cuối cùng là ổ USB của tôi được Linux Mint tự động.

Bây giờ gõ

sudo umount /dev/sdf1

điều này sẽ ngắt kết nối ổ đĩa

bây giờ kể lại chính xác.

sudo mount -t vfat /dev/sdf1 /media/usb0 -o rw,users,umask=0
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.