Quyền của tệp trong Linux / Unix: Cách đọc, ghi và thay đổi?
Linux là bản sao của UNIX, hệ điều hành đa người dùng có thể được nhiều người dùng truy cập cùng lúc. Linux cũng có thể được sử dụng trong máy chủ và máy chủ lớn mà không cần bất kỳ sửa đổi nào. Nhưng điều này làm dấy lên mối lo ngại về bảo mật vì người dùng không được yêu cầu hoặc có ác ý có thể làm hỏng, thay đổi hoặc xóa dữ liệu quan trọng. Để bảo mật hiệu quả, Linux chia quyền thành 2 cấp.
- Quyền sở hữu
- Sự cho phép
Khái niệm về tập tin Linux cho phép và quyền sở hữu là rất quan trọng trong Linux. Ở đây, chúng tôi sẽ giải thích các quyền và quyền sở hữu Linux và sẽ thảo luận về cả hai vấn đề này. Chúng ta hãy bắt đầu với Quyền sở hữu.
Nhấp chuột vào đây nếu video không thể truy cập được
Quyền sở hữu tệp Linux
Mỗi tệp và thư mục trên hệ thống Unix/Linux của bạn được chỉ định 3 loại chủ sở hữu, được đưa ra dưới đây.
người sử dang
Người dùng là chủ sở hữu của tập tin. Theo mặc định, người tạo tệp sẽ trở thành chủ sở hữu của tệp. Do đó, người dùng đôi khi còn được gọi là chủ sở hữu.
Nhóm
Một nhóm người dùng có thể chứa nhiều người dùng. Tất cả người dùng thuộc một nhóm sẽ có cùng quyền truy cập vào tệp của nhóm Linux. Giả sử bạn có một dự án trong đó một số người yêu cầu quyền truy cập vào một tệp. Thay vì chỉ định quyền theo cách thủ công cho từng người dùng, bạn có thể thêm tất cả người dùng vào một nhóm và chỉ định quyền của nhóm đối với tệp sao cho chỉ thành viên nhóm này chứ không ai khác có thể đọc hoặc sửa đổi tệp.
Nền tảng khác
Bất kỳ người dùng nào khác có quyền truy cập vào một tập tin. Người này chưa tạo tệp và cũng không thuộc nhóm người dùng có thể sở hữu tệp. Thực tế, nó có nghĩa là tất cả những người khác. Do đó, khi bạn đặt quyền cho người khác, nó cũng được gọi là đặt quyền cho cả thế giới.
Bây giờ, câu hỏi lớn được đặt ra là làm thế nào Linux phân biệt giữa ba loại người dùng này để người dùng 'A' không thể ảnh hưởng đến tệp chứa thông tin/dữ liệu quan trọng của người dùng 'B' khác. Điều đó giống như bạn không muốn đồng nghiệp của mình, người làm việc cho bạn Máy tính Linux, để xem hình ảnh của bạn. Đây là đâu Quyền thiết lập và họ xác định hành vi người dùng.
Hãy cho chúng tôi hiểu Hệ thống cấp phép trên Linux.
Quyền đối với tệp Linux
Mỗi tệp và thư mục trong hệ thống UNIX/Linux của bạn đều có 3 quyền sau được xác định cho cả 3 chủ sở hữu được thảo luận ở trên.
- Read: Quyền này cung cấp cho bạn quyền mở và đọc tệp. Quyền đọc trên một thư mục cung cấp cho bạn khả năng liệt kê nội dung của nó.
- Viết: Quyền ghi cung cấp cho bạn quyền sửa đổi nội dung của tệp. Quyền ghi trên thư mục cung cấp cho bạn quyền thêm, xóa và đổi tên các tệp được lưu trữ trong thư mục. Hãy xem xét một tình huống trong đó bạn phải có quyền ghi vào tệp nhưng không có quyền ghi vào thư mục nơi tệp được lưu trữ. Bạn sẽ có thể sửa đổi nội dung tập tin. Nhưng bạn sẽ không thể đổi tên, di chuyển hoặc xóa tệp khỏi thư mục.
- Hành hình: In Windows, một chương trình thực thi thường có phần mở rộng “.exe” và bạn có thể dễ dàng chạy. Trong Unix/Linux, bạn không thể chạy chương trình trừ khi được đặt quyền thực thi. Nếu quyền thực thi không được đặt, bạn vẫn có thể xem/sửa đổi mã chương trình (miễn là quyền đọc và ghi đã được đặt), nhưng không thể chạy nó.
Hãy xem các quyền của tệp trong Linux bằng các ví dụ:
ls – l trên thiết bị đầu cuối mang lại
ls - l
Ở đây, chúng tôi đã nhấn mạnh '-rw-rw-r–'và mã trông kỳ lạ này là mã cho chúng ta biết về các quyền Unix được cấp cho chủ sở hữu, nhóm người dùng và thế giới.
Đây, cái đầu tiên'–' ngụ ý rằng chúng tôi đã chọn một file.p>
Ngược lại, nếu đó là một thư mục, d sẽ được hiển thị.
Các ký tự khá dễ nhớ.
r = quyền đọc
w = quyền viết
x = thực thi quyền
– = không được phép
Chúng ta hãy nhìn nó theo cách này.
Phần đầu tiên của mã là 'rw-'. Điều này gợi ý rằng chủ sở hữu 'Nhà' có thể:
- Đọc tệp
- Viết hoặc chỉnh sửa tập tin
- Anh ta không thể thực thi tệp vì bit thực thi được đặt thành '-'.
Theo thiết kế, nhiều bản phân phối Linux như Fedora, CentOS, Ubuntu, v.v. sẽ thêm người dùng vào một nhóm có cùng tên nhóm với tên người dùng. Do đó, người dùng 'tom' được thêm vào nhóm có tên 'tom'.
Phần thứ hai là 'rw-'. Nó dành cho nhóm người dùng 'Trang chủ' và các thành viên trong nhóm có thể:
- Đọc tệp
- Viết hoặc chỉnh sửa tập tin
Phần thứ ba dành cho thế giới có nghĩa là bất kỳ người dùng nào. Nó nói rằng 'r–'. Điều này có nghĩa là người dùng chỉ có thể:
- Đọc tệp
Thay đổi quyền truy cập tệp/thư mục trong Linux bằng lệnh 'chmod'
Giả sử bạn không muốn đồng nghiệp nhìn thấy hình ảnh cá nhân của mình. Điều này có thể đạt được bằng cách thay đổi quyền truy cập tệp.
Chúng ta có thể sử dụng 'chmod' lệnh viết tắt của 'chế độ thay đổi'. Sử dụng lệnh, chúng ta có thể đặt quyền (đọc, ghi, thực thi) trên tệp/thư mục cho chủ sở hữu, nhóm và thế giới.
Cú pháp:
chmod permissions filename
Có 2 cách sử dụng lệnh –
- Chế độ tuyệt đối
- Chế độ tượng trưng
Chế độ tuyệt đối (số) trong Linux
Ở chế độ này, tập tin quyền không được biểu diễn dưới dạng ký tự mà là số bát phân gồm ba chữ số.
Bảng bên dưới cung cấp số liệu cho tất cả các loại quyền.
Con số | Loại quyền | Mã |
---|---|---|
0 | Không cho phép | - |
1 | Thực hiện | -NS |
2 | Viết | -Trong- |
3 | Thực hiện + Viết | -wx |
4 | Đọc | NS- |
5 | Đọc + Thực thi | rx |
6 | Đọc + Viết | rw - |
7 | Đọc + Viết + Thực thi | rwx |
Hãy xem lệnh chmod quyền hoạt động như thế nào.
Trong cửa sổ terminal nêu trên, chúng tôi đã thay đổi quyền của tệp 'sample thành '764'.
Mã tuyệt đối '764' ghi như sau:
- Chủ sở hữu có thể đọc, viết và thực thi
- Nhóm người dùng có thể đọc và viết
- Thế giới chỉ có thể đọc
Điều này được hiển thị dưới dạng '-rwxrw-r–
Đây là cách bạn có thể thay đổi quyền của người dùng trong Linux trên tệp bằng cách gán một số tuyệt đối.
Chế độ tượng trưng trong Linux
Ở chế độ Tuyệt đối, bạn thay đổi quyền cho cả 3 chủ sở hữu. Ở chế độ biểu tượng, bạn có thể sửa đổi quyền của một chủ sở hữu cụ thể. Nó sử dụng các ký hiệu toán học để sửa đổi quyền của tệp Unix.
Operator | Mô tả |
---|---|
+ |
Thêm quyền vào một tập tin hoặc thư mục |
– |
Xóa quyền |
= |
Đặt quyền và ghi đè các quyền đã đặt trước đó. |
Các chủ sở hữu khác nhau được đại diện là -
Ký hiệu người dùng | |
---|---|
u |
người dùng/chủ sở hữu |
g |
nhóm |
o |
khác |
a |
tất cả các |
Chúng tôi sẽ không sử dụng các quyền có số như 755 mà sử dụng các ký tự như rwx. Hãy xem xét một ví dụ
Thay đổi quyền sở hữu và nhóm trong Linux
Để thay đổi quyền sở hữu của một tệp/thư mục, bạn có thể sử dụng lệnh sau:
chown user filename
Trong trường hợp bạn muốn thay đổi người dùng cũng như nhóm cho một tập tin hoặc thư mục, hãy sử dụng lệnh
chown user:group filename
Hãy xem điều này trong thực tế
Trong trường hợp bạn chỉ muốn thay đổi chủ sở hữu nhóm, hãy sử dụng lệnh
chgrp group_name filename
'chgrp' là viết tắt của nhóm thay đổi.
Mẹo
- Tệp /etc/group chứa tất cả các nhóm được xác định trong hệ thống
- Bạn có thể sử dụng lệnh “groups” để tìm tất cả các nhóm mà bạn là thành viên.
- Bạn có thể sử dụng lệnh newgrp để làm việc với tư cách thành viên của một nhóm khác với nhóm mặc định của bạn
- Bạn không thể có 2 nhóm sở hữu cùng một tệp.
- Bạn không có nhóm lồng nhau trong Linux. Một nhóm không thể là nhóm con của nhóm khác
- x- Thực hiện một thư mục có nghĩa là Được phép "nhập" một thư mục và có thể truy cập vào các thư mục con
- Có những quyền khác mà bạn có thể thiết lập trên Tệp và Thư mục sẽ được đề cập trong hướng dẫn nâng cao sau
Tóm tắt:
- Linux là một hệ thống nhiều người dùng sử dụng quyền và quyền sở hữu để bảo mật.
- Có ba loại người dùng trên hệ thống Linux, đó là Người dùng, Nhóm và Khác
- Linux chia quyền truy cập tệp thành đọc, ghi và thực thi được ký hiệu là r, w và x
- Các quyền trên một tệp có thể được thay đổi bằng lệnh 'chmod', lệnh này có thể được chia thành chế độ Tuyệt đối và Biểu tượng
- Lệnh 'chown' có thể thay đổi quyền sở hữu của một tệp/thư mục. Sử dụng các lệnh sau: chown user file hoặc chown user:group file
- Lệnh 'chgrp' có thể thay đổi quyền sở hữu nhóm tên tệp nhóm chrgrp
- x – eXecuting một thư mục có nghĩa là gì? Trả lời: Được phép “nhập” một thư mục và có thể truy cập vào các thư mục con.