Linux Căn Bản – Bài 7: User, Group, Lệnh Chmod, Chown Và Phân ...
Có thể bạn quan tâm
Xin chào,
Trong bài ngày hôm nay, chúng ta sẽ cùng nhau học về user account, group và phần tiếp theo của phân quyền trong hệ thống Linux. Đây đều là những kiến thức có thể được áp dụng trong quá trình pentest nên mình đi khá kỹ phần này. Mời các bạn theo dõi nhé.
1/ Tài khoản người dùng (User account)
Nhắc lại kiến thức ở bài trước: Phân quyền trong hệ thống Linux là một trong những giải pháp được sử dụng để bảo vệ hệ thống Linux. Tất cả mọi thứ trong hệ thống Linux bao gồm câu lệnh, ứng dụng, interface, IP address, ports, v.v. đều ở dạng các file dữ liệu. Việc phân quyền cho phép quy định những ai có quyền được tiếp cận và những file nào được tiếp cận giúp hạn chế rủi ro những account thường được dùng cho các tác vụ thường ngày dù có bị hack cũng không gây ra những rủi ro lớn cho toàn hệ thống.
Như vậy có thể nói cốt lõi của Linux Security nằm ở chính user account. Việc cấp quá nhiều quyền hạn cho một user account dễ dẫn đến việc account đó có thể bị lạm dụng để tấn công toàn hệ thống nếu user account đó chẳng may rơi vào tay của hacker. Vì lẽ đó, mỗi cá nhân truy cập vào hệ thống Linux, nên có một account riêng với phân quyền rõ ràng phù hợp với công việc của đối tượng được cấp quyền truy cập.
Phân quyền người dùng được theo dõi thông qua UID (User ID), UID là một chuỗi giá trị được gán cho một user account khi user accout đó được tạo ra trên hệ thống Linux. Và giá trị UID này là độc nhất cho mỗi user account, nghĩa là sẽ không có chuyện 2 user account có cùng UID trên cùng một hệ thống Linux. UID này được gán với một login name, chính là tên account mà các bạn dùng để đăng nhập hệ thống Linux, ví dụ shiba1, shiba2, shiba3 mà các bạn đã dùng để đăng nhập phòng Learn Linux. Nó gần tương tự với IPv4 và domain name trong hệ thống DNS.
1a/ File /etc/passwd
Hệ thống Linux sử dụng một file đặc biệt để gán login name và giá trị UID lại với nhau. File này có tên là passwd và có path là /etc/passwd. Các bạn có thể dùng lệnh bên dưới để xem các thông tin ở trong file.
cat /etc/passwdChúng ta sẽ đi phân tích những thông tin có trong file nhé. Ví dụ:
[1]root:[2]x:[3]0:[4]0:[5]root:[6]/root:[7]/bin/bashMỗi dòng bên trong file sẽ là một account. Mỗi dòng chứa nhiều thông tin khác nhau và cách nhau bởi dấu “:”. Chúng ta có:
- [1] root: Tên của account và đây là account có quyền quản trị cao nhất
- [2] x: Password của account đã được ẩn đi
- [3] 0: UID của account. UID của account root luôn luôn là 0.
- [4] 0: GID (Group ID) của account
- [5] root: Mô tả account người dùng
- [6] /root: Path (địa chỉ/đường dẫn) của HOME directory của account
- [7] /bin/bash: Shell mặc định của account. (Shell mặc định của account root là shell cho phép nắm toàn quyền kiểm soát hệ thống Linux, nên cốt lõi của hành động privilege escalation hay nâng cấp đặc quyền là để lấy cho được shell mặc định của root)
Các account bên dưới root ví dụ như daemon, bin, v.v được gọi là những system accounts được tạo ra tự động bởi hệ thống Linux. Những account này không được tạo ra dành cho người dùng bình thường mà được sử dụng cho các phần mềm hoặc tác vụ nền chạy ẩn trong hệ thống. Để truy cập vào tài nguyên của hệ thống, các phần mềm hoặc tác vụ sẽ sử dụng những account này để truy cập vào hệ thống.
Người dùng bình thường không thể truy cập vào system accounts. Các bạn hãy để ý các shell mặc định của các systems accounts.
/usr/sbin/nologin hoặc /sbin/nologin hoặc /bin/falseĐây là các shell được dùng bởi hệ thống Linux để chặn truy cập từ người dùng thường. Tuy nhiên, với pentesters, đây lại là những account chúng ta dùng sau khi xâm nhập hệ thống thành công để phần nào kiểm soát máy nạn nhân, phục vụ cho các hình thức tấn công tiếp theo. (Sự khác biệt giữa /sbin/nologin và /bin/false các bạn có thể tham khảo tại đây).
Các bạn có nhớ account www-data mà chúng ta đã xâm nhập trong bài 1 Linux Pentest Căn Bản không? Đó cũng là một ví dụ của system account đấy. Account www-data được sử dụng bởi web server như Apache để truy cập hệ thống. Do web server chỉ cần một số ít tài nguyên nhất định, nên đó là lí do khi bạn xâm nhập vào server Pickle Rick thông qua www-data, bạn chỉ có một số quyền hạn chế và một shell khá cùi bắp.
Ở phía gần cuối file bạn sẽ thấy các account shiba mà chúng ta đã, đang và sẽ dùng
Một số hệ thống Linux sẽ dành những UID dưới 500 dành cho system account. Một vài tác vụ còn đòi hỏi một UID nhất định. Với người dùng bình thường, UID cho account của họ thường sẽ có giá trị trên 500. Như các bạn có thể thấy ở account shiba2, shiba3 và shiba4 ở hình bên trên.
Khi dùng lệnh ls -l để kiểm tra phân quyền của file /etc/passwd
shiba3@nootnoot:~$ ls -l /etc/passwd -rw-r--r-- 1 root root 1796 Feb 22 2020 /etc/passwdBạn sẽ thấy chỉ có root mới có quyền sửa đổi nội dung bên trong file. Người dùng bình thường chỉ có quyền truy cập và đọc file mà thôi. (Mình sẽ giải thích kỹ thêm ở phần sau).
1b/ File /etc/shadow
File /etc/shadow chính là nơi chứa mật khẩu đã bị mã hóa của tất cả account trong hệ thống Linux.
Trước đây, các mật khẩu mã hóa này được chứa bên trong file /etc/passwd, tuy nhiên, vì file /etc/passwd cấp quyền truy cập cho gần như tất cả mọi người dùng và các tác vụ trong hệ thống, dẫn đến nguy cơ lộ mật khẩu root và những người dùng khác.
File /etc/shadow cũng chỉ có duy nhất root có quyền truy cập và thay đổi nội dung bên trong file.
Nội dung bên trong /etc/shadow sẽ có dạng như sau:
Lưu ý:
Account và password bên dưới mình lấy từ một trang web, nếu có trùng khớp với hệ thống của bạn thì đó chỉ là điều ngẫu nhiên thôi nhé.
[1]admin:[2]$6$sTgBhfj0$pkzz/JpVTl8ZAmk./d4SDarRyWsGSZHguljywUHQMP4DWo8/TgNzL5rMpejqNWuyxtFlISxdyIqPmpsIsyi.i1:[3]16088:[4]0:[5]99999:[6]7:[7]:[8]:[9]Tương tự như trong /etc/passwd, mỗi dòng trong file /etc/shadow sẽ là một account đi kèm theo các thông tin được cách nhau bởi dấu “:”:
- [1] admin: Tên đăng nhập, tương ứng tên trong file /etc/passwd
- [2] $6$sTgBhfj0$ …: Mật khẩu đã được mã hóa
- [3] 16088: Ngày cuối cùng mật khẩu được thay đổi, được tính theo ngày 1/1/1970 là ngày hệ thống Unix ra đời. *
- [4]0: Số ngày tối thiểu phải chờ trước khi mật khẩu được thay đổi
- [5]99999: Số ngày trước khi mật khẩu cần phải thay đổi
- [6]7: Số ngày sau khi mật khẩu hết hạn và người dùng nhận được cảnh báo mật khẩu sắp hết hạn
- [7]: Số ngày sau khi mật khẩu hết hạn và account bị blocked
- [8]: Số ngày (được tính theo ngày 1/1/1970) account đã bị khóa
- [9]: Sẽ được dùng trong tương lai
[*] Để tìm ra ngày cuối cùng mật khẩu được thay đổi là bao nhiêu, bạn làm các bước sau:
- Lấy số ngày trong /etc/shadow nhân với 86400 (tổng số giây trong 1 ngày). Vậy ta có 16088 x 86400 = 1 390 003 200
- Lấy kết quả trên copy và paste vào trang sau , ta sẽ được kết quả như hình bên dưới.
Saturday, January 18, 2014 12:00 AM chính là ngày và giờ mà mật khẩu của account linux admin được thay lần cuối cùng.
2/ Group người dùng
User account có vẻ như là một giải pháp hiệu quả để hạn chế rủi ro an ninh hệ thống từ các cá nhân, nhưng nó lại không tối ưu khi có một nhóm người dùng có cùng nhu cầu truy cập vào một dữ liệu nào đó trên hệ thống Linux. Dĩ nhiên quản trị viên hệ thống có thể phân quyền truy cập cho từng người dùng, nhưng nếu số người lên tới vài trăm hay thậm chí vài nghìn người thì đó không phải là một giải pháp tối ưu.
Để giải quyết vấn đề đó, hệ thống Linux sử dụng đến một tính năng gọi là Phân Quyền Group (Group permission). Phân Quyền Group cho phép nhiều account người dùng khác nhau có thể có cùng phân quyền vào một dữ liệu ví dụ như files, directories, v.v nào đó.
Các Linux distro khác nhau sẽ có cách quản lý group khác nhau. Một số Linux distro sẽ chỉ có một group duy nhất và tất cả người dùng đều sẽ thuộc group đó. Điều này rất nguy hiểm vì như tất cả người dùng trong group sẽ được phân quyền như nhau. Một số Linux distro khác tạo những group riêng khác nhau cho mỗi account người dùng, giúp gia tăng tính bảo mật hơn.
Mỗi group sẽ có 1 GID (Group ID) tương tự như UID. GID là một giá trị duy nhất trong toàn hệ thống. Mỗi group cũng sẽ có một tên group được gán với GID.
2a/ File /etc/group
Thông tin của group sẽ được lưu giữ trong file có tên là /etc/group. Để xem nội dung file, các bạn dùng lệnh sau:
cat /etc/groupCũng tương tự như với file /etc/passwd và /etc/shadow, mỗi dòng là một group cùng các thông tin liên quan đến group đó được cách nhau bởi dấu “:”. Ví dụ:
[1]shiba2:[2]x:[3]1002:[4]ABC, XYZ, shiba2Trong đó:
- [1] shiba2: Tên group
- [2] x: Group password đã được ẩn đi
- [3] 1002: GID (Group ID)
- [4]: ABC, XYZ, shiba2: Tên của những user account là thành viên của group
Cũng giống như UID, sẽ có groups cho system account với GID dưới 500, còn groups của user account sẽ có GID trên 500.
File /etc/group chỉ cho phép root có quyền chỉnh sửa và truy cập, còn các account khác chỉ có quyền truy cập.
Group password sẽ cho phép những user account không phải là thành viên của group có quyền trở thành thành viên tạm thời của group. Tuy nhiên, mỗi khi muốn có phần quyền của group, thành viên tạm thời đó phải nhập password của group.
Lưu ý 1:
Khi nhìn vào file /etc/group, bạn sẽ thấy nhiều group không có thành viên nào . Điều đó không có nghĩa là group đó không có thành viên. Khi một user account sử dụng một group như là group mặc định, tên của user account đó sẽ không xuất hiện trong danh sách thành viên của group. Ví dụ:
root:x:0:Group root mặc dù không có user account nào hiện ra ở phần danh sách thành viên, nhưng thực tế group này vẫn có một thành viên đó là root account.
Lưu ý 2:
Để thêm bớt người dùng hoặc group, bạn tuyệt đối không được chỉnh sửa trực tiếp vào các file /etc/passwd, /etc/shadow hoặc /etc/group. Cách thức thêm người dùng hoặc tạo group, mình sẽ nói ở task 36.
Tuy nhiên, khi pentest, nếu bạn có quyền truy cập và chỉnh sửa nội dung một trong các file trên, bạn có thể sử dụng nó như là một giải pháp privilege escalation.
Lưu ý 3
Mỗi group sẽ có 1 group owner, tên group thường sẽ lấy theo tên của user account của group owner. Và phân quyền của group owner sẽ là phân quyền cho tất cả thành viên trong group. Group owner sẽ được quyết định bởi người tạo ra group hoặc được chỉ định bởi những người có quyền quản trị group.
Điều đó có nghĩa dù bạn ở chung group với root account. Nhưng nếu root acount không phải chủ group, bạn sẽ không có được phân quyền của root mà là phân quyền của chủ group.
3/ Phân quyền trong hệ thống Linux (Phần tiếp theo)
3a/ Thực tập phân quyền
Chúng ta sẽ đi tiếp phần phân quyền đã học ở bài trước. Vậy kiến thức về user và group giúp ích gì khi học về phân quyền trong hệ thống Linux?
Các bạn hãy nhìn vào câu lệnh ls -l sau đây
shiba3@nootnoot:~$ ls -l /etc/group -rw-r--r-- 1 root root 811 Feb 22 2020 /etc/groupChú ý vào dòng “-rw-r–r–“, các bạn có tự hỏi tại sao nó có tới 3 cụm phân quyền không? Vì lí do sau:
- Cụm 1: rw-: Phân quyền dành người sở hữu file
- Cụm 2: r– : Phân quyền dành cho những người cùng group với người sở hữu file
- Cụm 3: r– : Phân quyền dành cho tất cả những người dùng khác trong hệ thống
Tóm lại dòng “-rw-r–r–” có nghĩa là, account root sẽ có quyền đọc và thay đổi, chỉnh sửa nội dung của file /etc/group. Những người dùng ở chung group với root account sẽ chỉ có quyền truy cập và đọc nội dung của file /etc/group. Tất cả người dùng khác trong hệ thống cũng sẽ chỉ có quyền truy cập và đọc nội dung mà thôi.
Tiếp theo chúng ta hãy chú ý đến dòng “[1]root [2]root”.
- [1]root: Tên của người sở hữu file /etc/group
- [2]root: Tên group của người sở hữu file /etc/group
Để phân quyền cho một file nào đó, các bạn sẽ dùng lệnh với cú pháp như sau:
chmod <phân-quyền> <tên-file>Chúng ta sẽ thực hành như sau:
1 – Tạo một file tên sample.txt với câu lệnh echo
echo "helloworld" > sample.txt2 – Dùng lệnh ls -l để kiểm tra phân quyền, owner và group owner của file sample.txt
shiba3@nootnoot:~$ ls -l sample.txt -rw-rw-r-- 1 shiba3 shiba3 11 Nov 19 05:57 sample.txtChúng ta có thể thấy:
- Chủ sở hữu của file sample.txt là account shiba3
- Shiba3 có quyền đọc và chỉnh sửa nội dung file cũng như được phép đọc nội dung của file
- Các thành viên thuộc group shiba3 cũng có quyền đọc và thay đổi nội dung file sample.txt
- Những user account không phải là owner của sample.txt cũng như không thuộc group shiba3 chỉ có quyền đọc file nhưng không có quyền thay đổi nội dung file
3 – Thực hành thay đổi phân quyền bằng câu lệnh chmod
3a – Thay đổi phân quyền bằng ký tự
Các bạn sẽ cần nhớ những giá trị sau:
- u: Phân quyền cho chủ sở hữu file
- g: Phân quyền cho group của chủ sở hữu file
- o: Phân quyền cho những người khác
Để cấp quyền bạn sẽ dùng dấu + và để rút quyền bạn sẽ dùng dấu –
Ví dụ 1: Bạn muốn cấp thêm quyền w và x cho group, bạn sẽ dùng câu lệnh sau:
chmod g+wx sample.txtSau đó, bạn dùng lệnh ls -l bạn sẽ thấy phân quyền w và x đã được cấp cho group
shiba3@nootnoot:~$ ls -l sample.txt -rw-rwxr-- 1 shiba3 shiba3 11 Nov 19 05:57 sample.txtVí dụ 2: Bạn muốn rút lại quyền r của owner, bạn sẽ dùng câu lệnh sau:
chmod u-r sample.txtLúc này nếu bạn dùng lệnh cat để đọc file, bạn sẽ thấy dòng lỗi sau. Cho thấy bạn không có quyền đọc file sample.txt.
shiba3@nootnoot:~$ cat sample.txt cat: sample.txt: Permission deniedBạn dùng lệnh ls -l để check sẽ thấy kết quả như sau:
shiba3@nootnoot:~$ ls -l sample.txt --w-rwxr-- 1 shiba3 shiba3 11 Nov 19 05:57 sample.txtTuy mất quyền read nhưng bạn sẽ vẫn còn quyền write, do đó, bạn vẫn có thể thêm nội dung vào file sample.txt.
echo "Tuhocnetworksecurity" >> sample.txtVí dụ 3: Bạn muốn cấp quyền execute cho cả owner, group và những người khác cùng một lúc, bạn sẽ dùng câu lệnh sau:
chmod +x sample.txtBạn có thể dùng lệnh ls -l để kiểm tra lại.
shiba3@nootnoot:~$ ls -l sample.txt --wxrwxr-x 1 shiba3 shiba3 32 Nov 19 06:25 sample.txtBạn có thể thấy quyền execute đã được thêm vào cả owner, group và những người khác.
3b – Phân quyền bằng chữ số
Chúng ta sẽ thực hành như sau:
3b-1 – Tạo file sample2.txt
echo "Tu hoc cybersecurity" >> sample2.txt3b-2 – Dùng lệnh ls -l để kiểm tra phân quyền
shiba3@nootnoot:~$ ls -l sample2.txt -rw-rw-r-- 1 shiba3 shiba3 21 Nov 19 06:40 sample2.txt3b-3 – Thực hành phân quyền
Khi cấp quyền bằng chữ số, sẽ có 3 chữ số được sử dụng. Ví dụ: 777.
Trong đó:
- Chữ số thứ nhất được dùng để phân quyền cho owner
- Chữ số thứ 2 sẽ phân quyền cho group
- Chữ số thứ 3 được dùng để phân quyền cho những người khác.
Chúng ta sẽ sử dụng lại bảng giá trị mà mình đã giới thiệu ở bài trước, bạn nào quên thì có thể xem lại phần 4 trong bài trước nhé.
- 0: — : Không quyền nào được cấp
- 1: –x : Quyền thực thi
- 2: -w- : Quyền viết
- 3: -wx: Quyền được viết và thực thi
- 4: r– : Quyền đọc
- 5: r-x : Quyền đọc và thực thi
- 6: rw- : Quyền đọc và viết
- 7: rwx: Quyền đọc, viết và thực thi
Ví dụ 1: Bạn muốn phân toàn quyền rwx cho owner, rw cho group và x cho những người khác. Bạn sẽ dùng câu lệnh sau
chmod 761 sample2.txtSau đó bạn dùng lệnh ls -l để kiểm tra lại, bạn sẽ thấy kết quả như sau
shiba3@nootnoot:~$ ls -l sample2.txt -rwxrw---x 1 shiba3 shiba3 21 Nov 19 06:40 sample2.txtVí dụ 2: Bạn muốn phân toàn quyền cho group và không cấp bất cứ quyền nào cho owner và những người khác. Bạn sẽ dùng câu lệnh sau:
chmod 070 sample2.txtKiểm tra bằng lệnh ls -l chúng ta sẽ thấy kết quả như sau:
shiba3@nootnoot:~$ ls -l sample2.txt ----rwx--- 1 shiba3 shiba3 21 Nov 19 06:40 sample2.txtVới kiến thức này, bạn có thể trả lời câu hỏi ở task 24 nhé.
3b/ SUID và SGID
3b-1/ SUID
Chúng ta hãy thử nhìn vào ví dụ dưới đây
ls -lrt /usr/bin/python -rwsrw-r-x 1 root sys 31396 Jan 20 2014 /usr/bin/pythonCác bạn có thấy trong chuỗi giá trị phân quyền có gì lạ không? Đúng rồi đấy, đó là sự xuất hiện của phân quyền “s” trong phần phân quyền của owner. Vậy phân quyền “s” là gì?
Phân quyền “s” trong phần phân quyền của owner được gọi là SUID (Set User Id), nó cho phép khi file được thực thi bởi một user account nào đó, nó sẽ được thực thi dưới phân quyền của người chủ của file. Như ví dụ trong dòng lệnh bên trên, nếu bất kỳ ai chạy câu lệnh python, câu lệnh đó sẽ được chạy với phân quyền của root. Điều này có thể bị lạm dụng cho mục đích nâng cấp đặc quyền (Privilege Escalation).
Để set SUID các bạn sẽ thêm giá trị “4” vào đầu phần phân quyền trong câu lệnh chmod. Ví dụ, chúng ta sẽ dùng lại file sample2.txt
chmod 4755 sample2.txtSau đó, chúng ta kiểm tra bằng lệnh ls -l
shiba3@nootnoot:~$ ls -l sample2.txt -rwsr-xr-x 1 shiba3 shiba3 21 Nov 19 06:40 sample2.txtLưu ý:
Phân quyền “s” thế chỗ của “x” và mang ý nghĩa rằng owner có cả quyền execute. Tuy nhiên, nếu phân quyền không phải là “s” mà là “S”, thì nó sẽ có ý nghĩa rằng owner không có quyền execute.
3B-2/ SGID
SGID là viết tắt của Set Group ID, nó có công dụng gần tương tự với SUID. Điểm khác biệt duy nhất đó là nếu một ứng dụng được cho phép tiếp cận bởi một group người dùng, và ứng dụng này được set SGID, thì khi ứng dụng này được chạy, nó sẽ chạy với phân quyền của group owner và cũng là phân quyền của toàn bộ thành viên trong group.
Giả sử nếu group owner là root, thực thi ứng dụng thuộc group của root sẽ cho bạn phân quyền của root.
Cũng tương tự như SUID, nếu phân quyền ở vị trí “x” là “s” có nghĩa là group có quyền execute, còn “S” là không có quyền execute.
Để set SGID chúng ta sẽ thêm giá trị “2” ở đầu câu lệnh chmod. Chúng ta sẽ dùng lại file simple.txt trong ví dụ sau:
chmod 2544 sample.txtDùng câu lệnh ls -l để kiểm tra
shiba3@nootnoot:~$ ls -l sample.txt -r-xr-Sr-- 1 shiba3 shiba3 32 Nov 19 06:25 sample.txtNhư bạn đã thấy, do không có quyền execute, nên phân quyền “S” sẽ xuất hiện.
Lưu ý:
Khi SGID được set cho một directory, thì tất cả mọi file và directory được tạo ra bên trong directory đó đều thuộc quyền sở hữu của group sở hữu directory đó.
4/ Đổi quyền sở hữu
Để đổi quyền sở hữu của một file hay một directory, các bạn sẽ sử dụng lệnh chown. Cú pháp của chown như sau:
chown <tên-chủ-mới>:<tên-group-mới> <tên-file>Tuy nhiên, chúng ta sẽ chỉ có thể chuyển quyền sở hữu của một file từ mình sang file khác khi và chỉ khi phân quyền của mình lớn hơn phân quyền của account được chuyển quyền sở hữu. Vì lẽ đó, chuyển quyền sở hữu khi bạn đang nắm account root là thích hợp nhất.
Do chúng ta chưa có account root trên Learn Linux và các account shiba1, shiba2 và shiba3 đều có quyền hạn như nhau, nên chúng ta sẽ thực tập đỡ trên Kali Linux nhé.
Chúng ta sẽ thực hành câu lệnh chown như sau
B1: Đăng nhập root account bằng câu lệnh sau và nhập password
sudo suB2: Tạo một directory tên hello và chuyển directory đến hello
mkdir hello && cd helloB3: Bên trong directory hello, chúng ta sẽ tạo một file tên vietnam.txt và một directory tên world
touch vietnam.txt && mkdir worldB4: Quay trở về HOME directory của Shiba3
cdB5: Dùng lệnh ls -l để kiểm tra chủ sở hữu của directory hello
vincent@kali:~$ ls -l drwxr-xr-x 3 root root 4096 Nov 19 01:35 helloB5: Thay chủ sở hữu của hello từ root thành tên user account của bạn (ở đây user account bình thường của mình là vincent)
chown vincent helloB6: Kiểm tra với câu lệnh ls -l
ls -l drwxr-xr-x 3 vincent root 4096 Nov 19 01:35 helloB7: Để thay đổi cả group sở hữu và chủ sở hữu bạn sẽ dùng câu lệnh sau
chown vincent:vincent helloB8: Dùng lệnh ls -l kiểm tra lại sẽ thấy chủ sở hữu và group của chủ sở hữu đã thay đổi từ root thành vincent
ls -l drwxr-xr-x 3 vincent vincent 4096 Nov 19 01:35 helloB9: Mặc dù directory hello đã thay đổi nhưng những file bên trong vẫn có tên và group người sở hữu là root
root@kali:/home/vincent# ls -l hello total 4 -rw-r--r-- 1 root root 0 Nov 19 01:35 vietnam.txt drwxr-xr-x 2 root root 4096 Nov 19 01:35 worldB10: Để thay đổi luôn chủ và group sở hữu của cả directory mẹ và các file con bên trong, chúng ta sẽ dùng flag -R
chown -R vincent:vincent helloB11: Kiểm tra lại chúng ta sẽ thấy chủ và group sở hữu của cả directory mẹ và các file con đều đã được đổi từ root sang vincent
ls -l drwxr-xr-x 3 vincent vincent 4096 Nov 19 01:35 helloroot@kali:/home/vincent# ls -l hellototal 4-rw-r–r– 1 vincent vincent 0 Nov 19 01:35 vietnam.txtdrwxr-xr-x 2 vincent vincent 4096 Nov 19 01:35 world
Các bạn tự trả lời câu hỏi của task 25 nhé.
Cám ơn các bạn đã theo dõi,
Chúc các bạn học tốt,
Vincent Nguyễn
Source:
https://www.nixcraft.com/t/usr-sbin-nologin-what-is-the-purpose-of-it-in-linux/1949https://www.2daygeek.com/understanding-linux-etc-shadow-file-format/#:~:text=The%20%2Fetc%2Fshadow%20file%20contain%20every%20user%20password%20details%20as,it’s%20comes%20with%20proper%20passwordhttps://unix.stackexchange.com/questions/134332/precedence-of-user-and-group-owner-in-file-permissions.
Share this:
- Tweet
Related
Từ khóa » Người Quản Trị Hệ Thống Linux Có Tên đăng Nhập Mặc định Là
-
[PDF] QUẢN TRỊ NGƯỜI DÙNG LINUX (UBUNTU) - Estih
-
Quản Lý Người Dùng Trong Unix/Linux
-
Quản Trị Users And Groups Trên Linux - Tài Liệu Hướng Dẫn Và Tối ưu ...
-
Quản Trị Người Dùng Và Nhóm Người Dùng Trên Linux - Kevin Kien
-
Quản Lý Người Dùng Và Nhóm Trên Linux Image Quản Lý ...
-
Redhat Linux QUẢN TRỊ NGƯỜI DÙNG TRONG LINUX - Tài Liệu Text
-
Quản Trị Người Dùng Trong Linux - Tài Liệu Text - 123doc
-
Quản Trị Các Nhóm Tài Khoản Trong Linux - Cloudzone
-
Cách Xem Danh Sách Tất Cả User Trong Linux - Freetuts
-
[PDF] HỆ ĐIỀU HÀNH LINUX (Quản Lý Người Dùng)
-
Quản Lý Các Users Trong Ubuntu Server. (P1) - Viblo
-
Hướng Dẫn Cho Người Mới Bắt đầu Về Quản Trị Người Dùng Và ...
-
Cách Tạo Người Dùng Trong Linux (lệnh Useradd) - Android 2022