Làm thế nào để quyền tệp Linux hoạt động?

Mục lục:

Làm thế nào để quyền tệp Linux hoạt động?
Làm thế nào để quyền tệp Linux hoạt động?

Video: Làm thế nào để quyền tệp Linux hoạt động?

Video: Làm thế nào để quyền tệp Linux hoạt động?
Video: Virtualization - Ảo hóa là gì? Hiểu rõ trong 5 phút | TING3S - YouTube 2024, Tháng mười một
Anonim
Nếu bạn đã sử dụng Linux một thời gian (và thậm chí OS X), có thể bạn sẽ gặp phải lỗi "quyền". Nhưng chính xác thì chúng là gì và tại sao chúng lại cần thiết hoặc hữu ích? Chúng ta hãy nhìn vào bên trong.
Nếu bạn đã sử dụng Linux một thời gian (và thậm chí OS X), có thể bạn sẽ gặp phải lỗi "quyền". Nhưng chính xác thì chúng là gì và tại sao chúng lại cần thiết hoặc hữu ích? Chúng ta hãy nhìn vào bên trong.

Quyền Người dùng

Trở lại trong ngày, máy tính là những cỗ máy khổng lồ cực kỳ đắt tiền. Để tận dụng tối đa chúng, nhiều thiết bị đầu cuối máy tính đã được kết nối, cho phép nhiều người dùng cùng nhau kinh doanh. Việc xử lý và lưu trữ dữ liệu được thực hiện trên máy tính, trong khi các thiết bị đầu cuối của chúng ít hơn một phương tiện xem và nhập dữ liệu. Nếu bạn nghĩ về nó, chúng ta có thể truy cập dữ liệu trên “đám mây” khá nhiều; xem hệ thống Cloud MP3 của Amazon, Gmail và Dropbox và bạn sẽ nhận thấy rằng trong khi các thay đổi có thể được thực hiện cục bộ, mọi thứ được lưu trữ từ xa.

(Ảnh: Zenith Z-19 "câm" thiết bị đầu cuối; tín dụng: ajmexico)
(Ảnh: Zenith Z-19 "câm" thiết bị đầu cuối; tín dụng: ajmexico)

Để làm việc này, người dùng cá nhân cần có tài khoản. Họ cần phải có một phần của khu vực lưu trữ được phân bổ cho họ, và họ cần phải được phép chạy các lệnh và chương trình. Mọi người đều có “quyền người dùng” cụ thể, quyết định những gì họ có thể và không thể thực hiện, ở đâu trên hệ thống họ làm và không có quyền truy cập và những tệp của họ có thể và không thể sửa đổi. Mỗi người dùng cũng được đặt vào các nhóm khác nhau, cấp hoặc hạn chế quyền truy cập thêm.

Truy cập file

Trong thế giới đa người dùng lập dị này, chúng tôi đã thiết lập các ranh giới như những gì người dùng có thể làm. Nhưng những gì họ truy cập? Vâng, mỗi tệp đều có một nhóm quyền và chủ sở hữu. Chỉ định chủ sở hữu, thường bị ràng buộc khi tệp được tạo, khai báo người dùng thuộc về nó và chỉ người dùng đó mới có thể thay đổi quyền truy cập của nó.
Trong thế giới đa người dùng lập dị này, chúng tôi đã thiết lập các ranh giới như những gì người dùng có thể làm. Nhưng những gì họ truy cập? Vâng, mỗi tệp đều có một nhóm quyền và chủ sở hữu. Chỉ định chủ sở hữu, thường bị ràng buộc khi tệp được tạo, khai báo người dùng thuộc về nó và chỉ người dùng đó mới có thể thay đổi quyền truy cập của nó.

Trong thế giới Linux, các điều khoản được chia thành ba loại: đọc, viết và thực hiện. Quyền truy cập “Đọc” cho phép người dùng xem nội dung của tệp, quyền truy cập “ghi” cho phép người dùng chỉnh sửa nội dung của tệp và “thực thi” cho phép người dùng chạy một bộ hướng dẫn, như tập lệnh hoặc chương trình. Mỗi loại này được áp dụng cho các lớp khác nhau: người dùng, nhóm và thế giới. "Người dùng" nghĩa là chủ sở hữu, "nhóm" có nghĩa là bất kỳ người dùng nào trong cùng một nhóm với chủ sở hữu và "thế giới" có nghĩa là bất kỳ ai và mọi người.

Thư mục cũng có thể bị hạn chế với các quyền này. Ví dụ: bạn có thể cho phép những người khác trong nhóm của bạn xem các thư mục và tệp trong thư mục chính của bạn, nhưng không cho phép bất kỳ ai bên ngoài nhóm của bạn. Có thể bạn sẽ muốn giới hạn quyền truy cập “viết” cho chính mình, trừ khi bạn đang làm việc trên một dự án được chia sẻ của một số loại. Bạn cũng có thể tạo thư mục dùng chung cho phép mọi người xem và sửa đổi các tệp trong thư mục đó.
Thư mục cũng có thể bị hạn chế với các quyền này. Ví dụ: bạn có thể cho phép những người khác trong nhóm của bạn xem các thư mục và tệp trong thư mục chính của bạn, nhưng không cho phép bất kỳ ai bên ngoài nhóm của bạn. Có thể bạn sẽ muốn giới hạn quyền truy cập “viết” cho chính mình, trừ khi bạn đang làm việc trên một dự án được chia sẻ của một số loại. Bạn cũng có thể tạo thư mục dùng chung cho phép mọi người xem và sửa đổi các tệp trong thư mục đó.

Thay đổi quyền trong Ubuntu

GUI

Để thay đổi quyền của tệp bạn sở hữu trong Ubuntu, chỉ cần nhấp chuột phải vào tệp và chuyển đến “Thuộc tính”.

Bạn có thể thay đổi liệu Chủ sở hữu, Nhóm hoặc Người khác có thể đọc và viết, chỉ đọc hoặc không làm gì cả. Bạn cũng có thể chọn một hộp để cho phép thực thi tệp và điều này sẽ bật đồng thời cho Chủ sở hữu, Nhóm và Người khác.
Bạn có thể thay đổi liệu Chủ sở hữu, Nhóm hoặc Người khác có thể đọc và viết, chỉ đọc hoặc không làm gì cả. Bạn cũng có thể chọn một hộp để cho phép thực thi tệp và điều này sẽ bật đồng thời cho Chủ sở hữu, Nhóm và Người khác.

Dòng lệnh

Bạn cũng có thể thực hiện điều này thông qua dòng lệnh. Chuyển đến thư mục có tệp trong đó và nhập lệnh sau để xem tất cả các tệp trong danh sách:

ls -al

Bên cạnh mỗi tệp và thư mục, bạn sẽ thấy một phần đặc biệt trình bày các quyền mà nó có. Nó trông như thế này:
Bên cạnh mỗi tệp và thư mục, bạn sẽ thấy một phần đặc biệt trình bày các quyền mà nó có. Nó trông như thế này:

-rwxrw-r–

Các r viết tắt của “read”, w viết tắt của "viết", và x viết tắt của “execute.” Các thư mục sẽ bắt đầu bằng chữ “d” thay vì “-“. Bạn cũng sẽ nhận thấy rằng có 10 khoảng trống giữ giá trị. Bạn có thể bỏ qua đầu tiên, và sau đó có 3 bộ 3. Tập đầu tiên dành cho chủ sở hữu, tập thứ hai dành cho nhóm và tập hợp cuối cùng dành cho thế giới.

Để thay đổi quyền của tệp hoặc thư mục, hãy xem xét biểu mẫu cơ bản của lệnh chmod.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Điều này có vẻ phức tạp lúc đầu, nhưng tôi tin tưởng, nó khá dễ dàng. Trước tiên, hãy xem các lớp học:

  • u: Điều này là dành cho chủ sở hữu.
  • g: Điều này là dành cho nhóm.
  • o: Điều này dành cho tất cả những người khác.
  • a: Điều này sẽ thay đổi quyền cho tất cả các điều trên.

Tiếp theo, các toán tử:

  • +: Dấu cộng sẽ thêm các quyền theo sau.
  • -: Dấu trừ sẽ xóa các quyền theo sau.

Vẫn còn với tôi? Và phần cuối cùng cũng giống như khi chúng tôi kiểm tra quyền của tệp:

  • r: Cho phép truy cập đọc.
  • w: Cho phép ghi quyền truy cập.
  • x: Cho phép thực hiện.

Bây giờ, hãy đặt nó lại với nhau. Giả sử chúng ta có một tệp có tên là "todo.txt" có các quyền sau đây:

-rw-rw-r–

Đó là, chủ sở hữu và nhóm có thể đọc và viết, và thế giới chỉ có thể đọc. Chúng tôi muốn thay đổi các quyền này:

-rwxr-–

Nghĩa là chủ sở hữu có toàn quyền và nhóm có thể đọc. Chúng ta có thể làm điều này trong 3 bước. Trước tiên, chúng tôi sẽ thêm quyền thực thi cho người dùng.

chmod u+x todo.txt

Sau đó, chúng tôi sẽ xóa quyền ghi cho nhóm.

chmod g-w todo.txt

Cuối cùng, chúng tôi sẽ xóa quyền đọc cho tất cả người dùng khác.

chmod o-r todo.txt

Chúng ta cũng có thể kết hợp chúng thành một lệnh, như sau:

chmod u+x,g-w,o-r todo.txt

Bạn có thể thấy rằng mỗi phần được phân tách bằng dấu phẩy và không có dấu cách.
Bạn có thể thấy rằng mỗi phần được phân tách bằng dấu phẩy và không có dấu cách.

Dưới đây là một số quyền hữu ích:

  • -rwxr-xr-x: Chủ sở hữu có đầy đủ quyền, nhóm và những người dùng khác có thể đọc nội dung tệp và thực thi.
  • -rwxr – r–: Chủ sở hữu có toàn quyền, nhóm và những người dùng khác chỉ có thể đọc tệp (hữu ích nếu bạn không nhớ người khác đang xem tệp của mình.
  • -rwx--: Chủ sở hữu có toàn quyền, tất cả những người khác không có quyền (hữu ích cho các tập lệnh cá nhân).
  • -rw-rw--: Chủ sở hữu và nhóm có thể đọc và viết (hữu ích để cộng tác với các thành viên nhóm).
  • -rw-r – r–: Chủ sở hữu có thể đọc và viết, nhóm và những người dùng khác chỉ có thể đọc tệp (hữu ích để lưu trữ tệp cá nhân trên mạng dùng chung).
  • -rw ---: Chủ sở hữu có thể đọc và viết, tất cả những thứ khác không có (hữu ích cho việc lưu trữ các tệp cá nhân).

Có một vài điều khác bạn có thể làm với chmod - như setuid và setgid - nhưng chúng hơi sâu và hầu hết người dùng sẽ không thực sự cần sử dụng chúng.

Tập tin gốc hoặc siêu người dùng và hệ thống

Ngày nay, chúng tôi không phải lúc nào cũng chạy các hệ thống có nhiều người dùng. Tại sao chúng ta vẫn phải lo lắng về quyền hạn?
Ngày nay, chúng tôi không phải lúc nào cũng chạy các hệ thống có nhiều người dùng. Tại sao chúng ta vẫn phải lo lắng về quyền hạn?

Vâng, Unix và các dẫn xuất của nó - Linux, OS X, trong số những thứ khác - cũng phân biệt giữa những thứ do người dùng điều hành, mọi thứ được quản trị viên hoặc đặc quyền quản trị điều hành và mọi thứ được chạy bởi chính hệ thống. Như vậy, những thứ không thể thiếu cho hệ thống cần quyền quản trị được thay đổi hoặc truy cập. Bằng cách này, bạn không làm hỏng bất cứ điều gì vô tình.

Trong Ubuntu, để thay đổi các tệp hệ thống bạn sử dụng "sudo" hoặc "gksudo" để đạt được tương đương với các đặc quyền của Quản trị viên. Trong các bản phân phối khác, bạn chuyển sang "root" hoặc "super-user" có hiệu quả tương tự cho đến khi bạn đăng xuất.

Xin lưu ý rằng trong cả hai trường hợp này, việc thay đổi quyền của tệp có thể dẫn đến các chương trình không hoạt động, vô tình thay đổi quyền sở hữu tệp cho người dùng gốc (thay vì chủ sở hữu) và làm cho hệ thống kém an toàn hơn (bằng cách cấp thêm quyền). Do đó, bạn không nên thay đổi quyền đối với tệp - đặc biệt là tệp hệ thống - trừ khi cần thiết hoặc bạn biết mình đang làm gì.

Các quyền của tệp được đặt ra để cung cấp một hệ thống bảo mật cơ bản giữa những người dùng. Tìm hiểu cách chúng hoạt động có thể giúp bạn thiết lập chia sẻ cơ bản trong môi trường nhiều người dùng, bảo vệ các tệp "công khai" và cung cấp cho bạn manh mối về điều gì đó xảy ra với quyền sở hữu tệp hệ thống.

Nghĩ rằng bạn có thể giải thích mọi thứ dễ dàng hơn? Có một sự điều chỉnh? Bạn muốn hồi tưởng về những ngày xưa? Hãy nghỉ ngơi và đưa suy nghĩ của bạn xuống trong các bình luận.

Đề xuất: