Có thể vô hiệu hóa quyền truy cập tệp trên hệ thống tệp ext3 hoặc ext4 không?


10

Có thể vô hiệu hóa quyền truy cập tệp trên hệ thống tệp ext3 / 4 không?

Chỉ cần tự hỏi liệu có thể vô hiệu hóa hoàn toàn hoặc bỏ qua quyền truy cập tệp trên hệ thống tệp ext3 hoặc ext4. Có lẽ là một lựa chọn gắn kết?

Tôi không quan tâm đến ý nghĩa bảo mật vì tôi sẽ làm điều này để thử nghiệm và với phương tiện di động.


2
Tại sao bạn muốn xóa quyền truy cập tệp khỏi hệ thống tệp ext3 hoặc ext4? Chúng được xây dựng với quyền truy cập tệp POSIX. Nếu bạn đang tìm cách sử dụng một hệ thống tập tin với các tùy chọn quyền hạn chế, có lẽ thứ gì đó như FAT32 hoặc exFAT sẽ tốt hơn?
Rob Gibson

Tôi tò mò nếu có tùy chọn gốc Linux
Corey

2
Đây là một tùy chọn gốc Linux để sử dụng FAT32, vì nó là một hệ thống tệp được hỗ trợ. Bạn chỉ cần sử dụng một hệ thống tệp không được thiết kế cho các hệ thống POSIX, vì các hệ thống đó là các quyền của tệp hỗ trợ.
Rob Gibson

1
sẽ không $ sudo chmod -R 777 /your/filesystemlàm trò bịp?
Dế đỏ

1
@RedCricket sẽ là một cách giải quyết nếu câu trả lời hóa ra là không
Corey

Câu trả lời:


5

Đó không phải là điều duy nhất bạn có thể làm.

Có một cách để chỉ cấp cho mọi người quyền mà không cần sử dụng quyền thông thường, điều đó sẽ làm lộn xộn màn hình của bạn (theo một cách nào đó).

Điều này có nghĩa là ls --color(theo mặc định) sẽ luôn hiển thị o:rwXtrong nền khối, điều này thật ghê tởm và chỉ nhằm cảnh báo người dùng về các quyền sai (khi chúng phù hợp với bạn).

Nhưng bạn có thể dễ dàng đạt được quyền ghi phổ quát (hoặc gần phổ quát) vào các tệp của mình bằng cách sử dụng danh sách kiểm soát truy cập .

setfacl -d -m g:sudo:rwX .
setfacl -m g:sudo:rwX .

sẽ cấp quyền rwX cho tất cả mọi người trong nhóm sudo. Vì hầu hết các hệ thống của bạn, bạn sẽ có một người dùng trong nhóm sudo, đặc biệt đối với phương tiện lưu động (và do đó, các hệ thống cục bộ), bạn sẽ luôn có quyền truy cập ở mọi nơi cho bất kỳ ai trong nhóm đó (chính là bạn). Bạn cũng có thể mở rộng nó cho người dùng, trong trường hợp bạn đang ở một số hệ thống khác sử dụng nhóm đó:

setfacl -d -m g:users:rwX .
setfacl -m g:users:rwX .

Cờ -d có nghĩa là các quyền sẽ lan truyền đến tất cả các tệp mới được tạo (mặc định). Nhược điểm duy nhất là bạn thực sự không thể nhìn thấy các quyền đó, điều đó có nghĩa là bạn muốn tắt chúng hoàn toàn (do đó, việc sử dụng trên phương tiện loại bỏ là gì nếu bạn đặt quyền mà mọi người có thể phá vỡ bằng mọi cách, phải không?). Điều đó giống như nói: Bạn có thể truy cập các tệp này nếu bạn gọi cho mình John. Được rồi, tôi gọi mình là John. Tốt, bạn có quyền truy cập ngay bây giờ.

(Mọi người đều có thể giả sử root trên mọi hệ thống mà họ sở hữu và do đó, quyền hệ thống tập tin không có nghĩa gì).

ExtFS chỉ không có nghĩa là cho phương tiện di động. Không có hệ thống tập tin Linux mà là thực sự hữu ích về phương tiện di động, nhưng FAT và NTFS có nhược điểm của việc không thực sự liên kết tượng trưng hỗ trợ và thực hiện lá cờ, đó là khó khăn đối với các kho git, ví dụ. Chỉ là ý kiến ​​của tôi ở đây.

Bạn chỉ có thể xem tệp ACL của mình bằng cách thực hiện:

getfacl <file>

Và khi bạn ls -l bạn sẽ thấy:

drwxr-xr-x+ 4 user user 4096 aug 31 03:40 .

Dấu + chỉ ra rằng có một ACL hoạt động trên tệp (hoặc thư mục).

Đầu ra của getfacl sẽ là (ví dụ):

# file: .
# owner: user
# group: user
user::rwx
group::rwx                      #effective:r-x
group:sudo:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:sudo:rwx
default:mask::rwx
default:other::r-x

Tôi không biết tất cả các chi tiết, nhưng điều này sẽ làm việc. Miễn là bạn ở trong sudo, bạn có thể làm bất cứ điều gì.


4

Không, bạn không thể bỏ quyền truy cập tệp cho các hệ thống tệp ext {2,3,4}.

Điều duy nhất bạn có thể làm là đặt tất cả các tệp thành quyền 777 .

Chỉ cần chạy:

 chmod a+rwX -R <mountpoint>

4
Tốt hơn làm cho điều đó chmod a+rwX -R <mountpoint>để không cho phép thực thi giả.
vonbrand

@vonbrand phải
H.-Dirk Schmitt

nhưng Xtrong chmod a+rwXlàm cho tất cả các tập tin thực thi, phải không? Đó là một điều tốt??
vẫy gọi

3
@becko Bạn đã bỏ lỡ quan điểm của hai bình luận trước. Chữ hoa Xsẽ chỉ làm cho các thư mục thực thi (enterable) mà không làm các file thực thi; trong khi chữ thường xsẽ làm cho tất cả các tệp và thư mục có thể thực thi được.
XA21X

0

Tất nhiên các quyền hệ thống tập tin chỉ được kiểm tra bởi trình điều khiển hệ thống tập tin (mô-đun) và nếu bạn muốn vá mô-đun đó, bạn có thể vô hiệu hóa quyền hệ thống tập tin tất cả những gì bạn muốn.

Tôi đã từng làm điều này cho cifs.ko, mô-đun 'Samba' (máy khách) cho kernel, bởi vì có một số lỗi samba mà bạn phải có quyền truy cập cục bộ và bạn có quyền truy cập từ xa, nhưng vẫn không được cấp quyền truy cập.

Tôi đã vô hiệu hóa kiểm tra quyền cục bộ nếu người dùng cục bộ nằm trong nhóm (cục bộ) của tệp, giống như tùy chọn "noperm", chỉ kích hoạt khi bạn là thành viên nhóm, lần này.

Tất nhiên, extfs không chính xác là một mô-đun trong kernel, nhưng một cờ mới sẽ không đáng để thêm vào.


Tôi không chắc liệu bạn có trả lời câu hỏi hay không. Bạn nói điều đó là có thể, nếu đó là một mô-đun, thì bạn nói rằng đó không phải là một mô-đun.
Jeff Schaller

Cũng có thể nếu mặt trời nhảy vuông trên bầu trời. Nếu bạn biết bất cứ điều gì về kernel, bạn sẽ biết rằng một cái gì đó không phải là một mô-đun sẽ yêu cầu biên dịch lại toàn bộ kernel, điều này hơi cấm đối với người bình thường, trong khi biên dịch một mô-đun tương đối miễn phí. Tôi chỉ nói lên sự thật rằng Linux không có gì vốn có thể ngăn cản một lựa chọn như vậy phát sinh, bởi vì giới hạn này cũng đã làm tôi khó chịu.
Xennex81
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.