Contents:
Phân quyền trên Linux là một trong những kiến thức cơ bản cho những ai tìm hiểu/làm việc trên nền tảng Linux. Bài viết này sẽ giới thiệu khái quát về phân quyền cũng như cách phân quyền trên Linux.
Trong Linux mỗi file (folder) đều có 3 nhóm phân quyền chính:
Tuy nhiên có ngoại lệ đó là root
(super user) không bị ràng buộc bởi bất cứ sự phân quyền nào, có toàn quyền trên mọi file của hệ thống.
Lưu ý: Nếu không cần thiết các bạn không nên đăng nhập vào user root. Vì có những lệnh rất nguy hiểm nếu thực thi nhầm sẽ gây hại đến hệ thống.
Ví dụ lệnh rm -rf sẽ xóa tất cả file và folder mà không cần hỏi.
Mỗi file có 3 loại quyền cơ bản:
Tên quyền | Ký hiệu | Dạng bát phân | Mô tả |
---|---|---|---|
Read | r | 4 | Quyền đọc file |
Write | w | 2 | Quyền ghi file |
Execute | x | 1 | Quyền thực thi file |
Để xem phân quyền của một file hoặc một folder ta sử dụng câu lệnh
ls -l path/to/file hoặc ls -la path/to/file (để hiện các hidden file)
Output của câu lệnh trên là:
[root@ITFROMZERO~]# ls -l 合計 90296 drwxr-xr-x. 2 root root 86 11月 2 11:06 Downloads -rw-r--r--. 1 root root 82722543 7月 12 2018 NVIDIA-Linux-x86_64-390.77.run -rw-r--r--. 1 root root 208160 12月 6 17:28 Untitled.ipynb -rw-r--r--. 1 root root 2581992 12月 6 19:18 Untitled1.ipynb -rw-------. 1 root root 1785 10月 16 16:48 anaconda-ks.cfg drwxr-xr-x. 3 root root 84 11月 20 16:21 arai drwxr-xr-x. 2 root root 19 10月 23 09:30 bin drwxr-xr-x. 15 root root 4096 10月 31 12:32 cmake-3.6.2 -rw-r--r--. 1 root root 6920069 9月 8 2016 cmake-3.6.2.tar.gz drwxr-xr-x. 4 root root 42 12月 3 12:40 docker-mysql-5.7 -rw-r--r--. 1 root root 15080 10月 3 2017 epel-release-7-11.noarch.rpm
-
với file thông thường, d
với thư mục, c
với thiết bị, l
với liên kết.Các thiết lập mặc định của Linux về file nhiều khi sẽ không giải quyết được vấn đề thiết lập hoặc khi bạn muốn chia sẻ quyền cho người dùng khác…May mắn là việc phân quyền cũng không quá phức tạp.
Group Permission
Group Permision | Ký hiệu | Mô tả |
---|---|---|
Owner | u | Chủ sở hữu |
Group | g | Nhóm sở hữu |
Other | o | Người dùng và nhóm khác |
All | a | Toàn bộ người dùng và nhóm (tương đương ugo ) |
Operator
Operator | Ký hiệu | Mô tả |
---|---|---|
Add | + | Cấp thêm quyền |
Remove | – | Loại bỏ quyền |
Assign | = | Chỉ định quyền cụ thể |
chmod
chmod (change mode) là câu lệnh cơ bản nhất để phân quyền file. Có hai cách để phân quyền bằng chmod đó là sử dụng symbolic và octal number:
chmod [options] [mode] file
trong đó options bao gồm:
VD:
chmod a+r test.txt
-> Thêm quyền đọc cho tất cả người dùng và nhóm.
chmod u=rw,g=r,o= plan.sh
-> Cho chủ sở hữu quyền đọc và ghi, group sở hữu quyền đọc, những người dùng và nhóm khác không được làm gì.
chmod -R 775 /home/tmp
-> Cho chủ sở hữu và group sở hữu full quyền, còn những người khác chỉ được đọc và thực thi.
chown
và chgrp
chown (change ownership): Thay đổi “chủ quyền” của file hoặc folder. Cú pháp:
chown [options] [newowner:newgroup] file
Options cũng tương tự như chmod
ngoài ra thì còn vài tùy chọn như -h
, --from
, --reference
mà tôi sẽ không đề cập đến ở đây mà tập trung vào việc định danh chủ sở hữu mới. Có 5 cách để làm việc này:
Form | Description |
---|---|
user | Tên của người sở hữu mới, dấu hai chấm (“:”) và tên nhóm mới được bỏ qua, tức là nhóm sở hữu sẽ không thay đổi |
user:group | Dạng đầy đủ của chủ mới và nhóm mới, được ngăn cách bởi dấu hai chấm và không có khoảng cách ở giữa |
:group | Chủ sở hữu sẽ được bỏ qua, nhóm sở hữu mới bắt buộc phải đi sau dấu hai chấm |
user: | Nhóm sở hữu được bỏ qua, ở đây nhóm sở hữu mới sẽ được gán bằng nhóm login của user |
: | Bỏ qua cả hai, tức là không thay đổi gì cả |
Lưu ý: Chủ sở hữu không thể chuyển quyền sở hữu trừ phi họ là root
hoặc sử dụng sudo
. Nhóm sở hữu sẽ được thay đổi bởi chủ sở hữu nếu chủ sở hữu thuộc nhóm đó.Vì vậy, tôi khuyến nghị chạy chown
dưới quyền super admin.
chgrp (change group): Thay đổi nhóm sở hữu, cú pháp:
chgrp [options] group file
Trên đây là tổng quan về phân quyền và cách phân quyền trong Linux. Chúc các bạn thành công.
Nguồn: Tổng hợp từ Internet.
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment