Giới thiệu
Trong lab này, bạn sẽ học cách quản lý tài khoản người dùng trên hệ thống Linux của bạn, bao gồm tạo, sửa đổi và xóa tài khoản người dùng, cũng như hiểu các đặc quyền và quyền của người dùng. Bạn cũng sẽ triển khai chính sách mật khẩu và các phương pháp quản lý người dùng. Lab này bao gồm những kiến thức cơ bản về các lệnh useradd
, passwd
và cat /etc/passwd
, cung cấp các ví dụ thực tế để giúp bạn quản lý người dùng một cách hiệu quả trên máy Linux của bạn.
Quản lý Tài khoản Người dùng
Trong bước này, bạn sẽ học cách quản lý tài khoản người dùng trên hệ thống Linux của bạn. Chúng ta sẽ bao gồm việc tạo, sửa đổi và xóa tài khoản người dùng, cũng như hiểu các đặc quyền và quyền của người dùng.
Đầu tiên, hãy tạo một tài khoản người dùng mới:
sudo useradd -m -s /bin/bash newuser
Ví dụ đầu ra:
Lệnh useradd
tạo một tài khoản người dùng mới với tên người dùng là newuser
. Tùy chọn -m
tạo một thư mục home cho người dùng mới và tùy chọn -s
đặt shell mặc định thành /bin/bash
.
Tiếp theo, hãy đặt mật khẩu cho người dùng mới:
sudo passwd newuser
Ví dụ đầu ra:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Để xác minh tài khoản người dùng mới, bạn có thể liệt kê tất cả người dùng trên hệ thống:
sudo cat /etc/passwd
Ví dụ đầu ra:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
sshd:x:111:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
labex:x:1000:1000:labex,,,:/home/labex:/bin/bash
newuser:x:1001:1001::/home/newuser:/bin/bash
Bạn có thể thấy người dùng mới newuser
đã được thêm vào tệp /etc/passwd
.
Để xóa tài khoản người dùng, bạn có thể sử dụng lệnh userdel
:
sudo userdel -r newuser
Tùy chọn -r
xóa thư mục home và mail spool của người dùng.
Hiểu Đặc quyền và Quyền của Người dùng
Trong bước này, bạn sẽ tìm hiểu về các đặc quyền và quyền của người dùng trong Linux. Chúng ta sẽ bao gồm cách xem và quản lý quyền của người dùng, cũng như cách cấp và thu hồi các đặc quyền.
Đầu tiên, hãy tạo một người dùng mới và một nhóm mới:
sudo useradd -m -s /bin/bash newuser
sudo groupadd devgroup
Tiếp theo, hãy thêm newuser
vào nhóm devgroup
:
sudo usermod -a -G devgroup newuser
Để xác minh tư cách thành viên của người dùng và nhóm, chúng ta có thể sử dụng lệnh id
:
id newuser
Ví dụ đầu ra:
uid=1001(newuser) gid=1001(newuser) groups=1001(newuser),1002(devgroup)
Chúng ta có thể thấy rằng newuser
hiện là thành viên của nhóm devgroup
.
Bây giờ, hãy tạo một thư mục mới và đặt quyền trên thư mục đó:
sudo mkdir /opt/myapp
sudo chown newuser:devgroup /opt/myapp
sudo chmod 770 /opt/myapp
Lệnh chown
đặt chủ sở hữu và nhóm của thư mục thành newuser
và devgroup
. Lệnh chmod
đặt quyền thành rwxrwx---
, có nghĩa là chủ sở hữu và các thành viên nhóm có thể đọc, viết và thực thi, nhưng những người khác không có quyền truy cập.
Để xác minh các quyền, chúng ta có thể sử dụng lệnh ls -l
:
ls -l /opt
Ví dụ đầu ra:
total 4
drwxrwx--- 2 newuser devgroup 4096 Apr 17 12:34 myapp
Bây giờ, hãy thử truy cập thư mục với tư cách một người dùng khác:
sudo -u otheruser ls -l /opt/myapp
Ví dụ đầu ra:
ls: cannot open directory '/opt/myapp': Permission denied
Như bạn có thể thấy, otheruser
không thể truy cập thư mục myapp
vì họ không thuộc nhóm devgroup
.
Triển khai Chính sách Mật khẩu và Quản lý Người dùng
Trong bước cuối cùng này, bạn sẽ học cách triển khai chính sách mật khẩu và quản lý tài khoản người dùng hiệu quả hơn.
Đầu tiên, hãy định cấu hình chính sách mật khẩu bằng mô-đun pam_cracklib
. Mô-đun này cung cấp khả năng kiểm tra độ mạnh của mật khẩu và có thể thực thi các quy tắc như độ dài tối thiểu, yêu cầu ký tự và lịch sử mật khẩu.
Mở tệp /etc/pam.d/common-password
bằng một trình soạn thảo văn bản:
sudo nano /etc/pam.d/common-password
Và thêm các dòng sau:
password requisite pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
Cấu hình này yêu cầu mật khẩu phải dài ít nhất 8 ký tự và chứa ít nhất một chữ số, một chữ hoa, một chữ thường và một ký tự đặc biệt.
Tiếp theo, hãy tạo một người dùng mới và kiểm tra chính sách mật khẩu:
sudo useradd -m -s /bin/bash newuser2
sudo passwd newuser2
Ví dụ đầu ra:
Enter new UNIX password:
Retype new UNIX password:
Sorry, passwords do not match.
Enter new UNIX password:
Retype new UNIX password:
BAD PASSWORD: it is based on a dictionary word
passwd: Authentication token manipulation error
Như bạn có thể thấy, chính sách mật khẩu được thực thi và người dùng không được phép đặt mật khẩu yếu.
Cuối cùng, hãy khám phá một số lệnh quản lý người dùng:
## Lock a user account
sudo usermod -L newuser2
## Unlock a user account
sudo usermod -U newuser2
## Expire a user's password
sudo passwd -e newuser2
## Set a user's password to never expire
sudo chage -M -1 newuser2
Các lệnh này cho phép bạn quản lý tài khoản người dùng hiệu quả hơn, chẳng hạn như khóa tài khoản, buộc thay đổi mật khẩu và đặt chính sách hết hạn mật khẩu.
Tóm tắt
Trong lab này, bạn đã học cách quản lý tài khoản người dùng trên hệ thống Linux của mình, bao gồm tạo, sửa đổi và xóa tài khoản người dùng, cũng như hiểu các đặc quyền và quyền của người dùng. Bạn đã tạo một tài khoản người dùng mới, đặt mật khẩu cho người dùng mới và xác minh tài khoản người dùng mới bằng cách liệt kê tất cả người dùng trên hệ thống.
Lab cũng bao gồm việc triển khai chính sách mật khẩu và quản lý người dùng. Bạn đã học cách thực thi các yêu cầu về mật khẩu và quản lý tài khoản người dùng một cách hiệu quả để duy trì tính bảo mật và toàn vẹn của hệ thống Linux của bạn.