Các cài đặt gắn kết mặc định cho mount / fstab là gì?


18

Các tùy chọn gắn mặc định cho một phân vùng không root là gì?

Mục nhập người đàn ông cho ...

defaults - use default options: rw, suid, dev, exec, auto, nouser, and async.

... Vì vậy, đó có thể là những gì chúng ta mong đợi để xem. Nhưng, trừ khi tôi thiếu thứ gì đó, đó không phải là điều xảy ra.

Tôi có một phân vùng ext3 có nhãn "NewHome20G" được hệ thống xem là / dev / sdc6. Điều này chúng ta có thể thấy từ ...

root@john-pc1204:~# blkid | grep NewHome20G
/dev/sdc6: LABEL="NewHome20G" UUID="d024bad5-906c-46c0-b7d4-812daf2c9628" TYPE="ext3" 

Tôi có một mục trong fstab như sau ...

root@john-pc1204:~# cat /etc/fstab | grep NewHome
LABEL=NewHome20G        /media/NewHome20G        ext3         rw,nosuid,nodev,exec,users     0  2

Lưu ý các cài đặt tùy chọn được chỉ định trong dòng fstab đó.

Bây giờ tôi xem cách phân vùng thực sự được gắn kết sau khi khởi động ...

root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

... Vì vậy, khi hệ thống tập tin được gắn kết, các tùy chọn exec & users tôi đã chỉ định dường như đã bị bỏ qua.

Để chắc chắn, tôi ngắt kết nối sdc6, kết nối lại và xem lại các tùy chọn gắn kết ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

.... cùng một kết quả

Bây giờ tôi ngắt kết nối phân vùng một lần nữa, nhắc lại nó chỉ định tùy chọn exec và xem kết quả ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o exec
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,nosuid,nodev) [NewHome20G]

... Và ở đây, tùy chọn exec cuối cùng đã có hiệu lực và cài đặt noexec đã biến mất.

Chỉ để quan tâm, tôi gắn lại phân vùng với tùy chọn mặc định

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o defaults
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

Noexec đã trở lại, vì vậy nó trông rất giống rw, noexec, nosuid, gật đầu là những tùy chọn mặc định KHÔNG phải là những gì người đàn ông nói.

Vì sao vấn đề này ?

Tôi có một thư mục chứa đầy các tập lệnh hữu ích được lưu trữ trên đĩa dữ liệu. Bởi vì đĩa đó được gắn noexec, các tập lệnh sẽ không chạy, mặc dù tất cả chúng đã được cài đặt với chmod 777. Tôi có thể làm việc này theo nhiều cách nhưng thật đáng thất vọng khi mục nhập của người đàn ông dường như sai.

Tôi đã bỏ lỡ điều gì đó rõ ràng ở đây hoặc các tùy chọn mặc định trong Ubuntu đã thay đổi so với phiên bản trước đây?

Câu trả lời:


18

Hướng dẫn sử dụng là chính xác . Vấn đề của bạn là có lẽ bạn đã không tính đến 3 chi tiết quan trọng:

  • users(và user) ngụ ý các tùy chọn noexec, nosuidnodev

  • Trừ khi bị ghi đè bởi các tùy chọn tiếp theo

  • Tùy chọn thứ tự vấn đề;)

Vì vậy, khi bạn sử dụng rw,nosuid,nodev,exec,userstrong fstab của mình , tùy chọn cuối cùng users, sẽ đặt noexec,nosuid,nodev, do đó vô hiệu hóa exec(và cũng làm cho bạn trở nên nosuid,nodevdư thừa).

Kết quả, như mong đợi, là rw,noexec,nosuid,nodev.

Và không, userskhông bị bỏ qua, nó thường không hiển thị trong mountđầu ra danh sách. Nhưng bất kỳ người dùng nào cũng có thể ngắt kết nối và gắn lại. Thử nó!

rodrigo@desktop ~ $ mount /dev/sda6                     # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works       # noexec will deny this
bash: /mnt/mint10/bin/echo: Permission denied

mountsẽ chỉ hiển thị một cái gì đó liên quan đến người dùng nếu user( không users ) được sử dụng và một người dùng không phải root thông thường sẽ gắn kết nó, như thế này:

rodrigo@desktop ~ $ mount /dev/sda6         # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6  # it will list current "owner"
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev,user=rodrigo)
rodrigo@desktop ~ $ umount /dev/sda6
rodrigo@desktop ~ $ sudo mount /dev/sda6
rodrigo@desktop ~ $ mount | grep /dev/sda6  # since owner=root, it won't show
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6        # only mounter can unmount
umount: only root can unmount LABEL=MINT10 from /mnt/mint10

Cũng lưu ý rằng, khi sử dụng usermà không có noauto, phân vùng sẽ được tự động hóa (bằng root) khi khởi động. Vì vậy, cho đến khi root ngắt kết nối, không ai có thể ngắt kết nối hoặc (re-) mount.

Điều đó nói rằng, tôi đoán bạn đã tìm ra giải pháp của mình: chỉ cần thay đổi thứ tự các tùy chọn của bạn và mọi thứ sẽ hoạt động tốt:

LABEL=NewHome20G  /media/NewHome20G  ext3  users,exec  0  2

Thông báo như thế nào execsau users . Và cũng rw,nosuid,nodevkhông cần thiết. rwđã là một mặc định và những cái khác được tự động bật bởiusers

Và kết quả là:

rodrigo@desktop ~ $ mount /dev/sda6                  # user mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works    # exec works
it works
rodrigo@desktop ~ $ sudo umount /dev/sda6            # root unmount
rodrigo@desktop ~ $ sudo mount /dev/sda6             # root mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6                 # user unmount
rodrigo@desktop ~ $

Có nghĩa là bất kỳ người dùng nào, root hoặc không root, đều có thể gắn kết và ngắt kết nối nó, bất kể ai đã gắn kết hoặc ngắt kết nối trước đó. Và thực thi hoạt động quá :)


Ý bạn là "... khi sử dụng usermà không có auto, phân vùng sẽ được tự động hóa ..."?
Andreas J.

@AndreasJ. Không, ý tôi là vậy noauto. autođã là hành vi mặc định, do đó, không noautogiống như với auto: phân vùng sẽ được tự động hóa.
MestreLion

Xin lỗi, tôi đọc sai câu của bạn. Nó làm cho ý nghĩa hoàn hảo!
Andreas J.
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.