Sửa đổi mục nhập fstab để tất cả người dùng có thể Đọc và Ghi vào Tập EXT4


44

Tôi có một hộp Ubuntu 10.04 với phân vùng EXT4. Phân vùng này được thiết lập để tự động gắn kết /etc/fstab. Đối với mục đích của bài viết này, chúng tôi sẽ gọi nó : /media/foo.

Thật không may, chỉ rootcó thể tạo / xóa các tập tin / thư mục trên hệ thống tập tin gốc của foo. Để người dùng khác thực hiện tệp / io trên ổ đĩa này, rootcần tạo một thư mục và chmodquyền cho người khác.

Tôi muốn gắn kết khối lượng như vậy mà ai cũng sẽ có thể đọc / ghi vào khối lượng mà không cần rootđến chmod.

Dưới đây là fstabmục của tôi :

/dev/sda8    /media/foo    ext4    rw,user,exec 0 0

Các mục ban đầu đã có defaultsthay vì rw,user,exec. Tôi đã thêm các mục bổ sung, cụ thể là rwđể bất kỳ người dùng nào cũng có thể đọc / ghi.

Thật không may, fstabmục không hoạt động. Nó gắn kết tốt, nhưng nó vẫn cần rootphải can thiệp.

Và, chỉ trong trường hợp bất cứ ai hỏi, chỉ cần chạy: chmod -R 777 *trên /media/foonhư rootkhông làm việc.

Câu trả lời:


45

Tùy chọn gắn kết userchỉ cho phép hệ thống tập tin được gắn kết bởi bất kỳ người dùng nào. Các rwtùy chọn làm cho các hệ thống tập tin không chỉ đọc. Bạn sẽ phải sử dụng quyền để làm cho thư mục cha có thể ghi.

chmod 777 /media/foo

Các chmodlệnh bạn chỉ hiển thị ảnh hưởng đến các tập tin hiện có trong phạm vi /media/foo .


2
Nơi tốt nhất trong Ubuntu để thêm lệnh này khi khởi động là gì?
Ivan Balashov

@IvanBalashov: Bạn có thể sử dụng một @rebootmục trong /etc/crontabsố các khả năng khác.
Dennis Williamson

3
@DennisWilliamson Cảm ơn. Tôi đã đặt nó vào /etc/rc.localnếu nó làm cho bất kỳ sự khác biệt. Điều khiến tôi băn khoăn về điều này mặc dù, đó là nó thực sự nên được cấu hình fstab. Nếu không, điểm gắn kết có thể thay đổi và tập lệnh cũng phải thay đổi, bảo trì địa ngục.
Ivan Balashov

Wow, tôi phải bắt đầu đoán những điều đó: D cảm ơn bạn rất nhiều.
erm3nda

1
Đồng ý với chmod, nhưng thêm a: chmod + t / media / foo để cho phép người dùng tạo thư mục con của riêng họ
user1251840

25

Tôi nghĩ sẽ đơn giản hơn khi thay đổi mục nhập fstab thành:

/dev/sda8    /media/foo    ext4    rw,user,exec,umask=000 0 0

umask=000có nghĩa là bất cứ ai cũng có thể đọc, viết hoặc thực hiện bất kỳ tập tin hoặc thư mục trong foo. Mặc định thông thường là 022, có nghĩa là người dùng không thể viết.


32
umask chỉ là một tùy chọn cho các phân vùng ntfs / vfat. mount sẽ không thích umask trên một hệ thống tập tin ext.
Daniel

8

Tôi đã có cùng một vấn đề trên openSUSE, nhưng tôi nghĩ giải pháp cũng có thể áp dụng cho vấn đề này. Tất cả người dùng tôi muốn chia sẻ hệ thống tệp được gắn kết thuộc về cùng một nhóm chính: người dùng

Tôi có dòng sau trong fstab của mình:

/dev/<partition> <mount_point>          ext4       rw,acl       0 0

và tôi đã chạy các lệnh sau:

sudo chgrp -R users <mount_point>
sudo setfacl -d -m g::rwx <mount_point>

để các tập tin hoặc thư mục mới được tạo có được các quyền đó. Điều này ngụ ý rằng bạn đã cài đặt gói acl.


Nếu nó là một thư mục được mã hóa, /homeđiều này sẽ được gắn vào /etc/crypttab?
George Udosen

2

Vâng, có một điều, bạn muốn chắc chắn rằng thư mục của / media / foo có thể ghi được. Nếu chưa, hãy chạy lệnh sau:

chmod +w /media/foo

Hãy nhớ rằng, ngôi sao chỉ áp dụng cho các nội dung hiển thị của thư mục, không phải chính thư mục cũng như bất kỳ tệp nào không hiển thị.



0

Vài năm trước tôi đã đặt nhóm của điểm gắn kết thành nhóm plugdev, thêm người dùng vào nhóm đó. Bằng cách này, bằng cách tạo các nhóm mới, có thể cấp quyền trên cơ sở cho mỗi người dùng. Đối với việc sử dụng tại nhà, nó đủ để đặt quyền gắn kết cho người khác: đọc / ghi / thực thi như được viết ở trên.

Tôi đã làm điều đó với 'sudo nautilus &' trong thiết bị đầu cuối và nhấp chuột phải -> thuộc tính -> quyền, nhưng bất kỳ trình quản lý tệp nào khác chạy dưới quyền root đều ổn.

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.