Lệnh users trong Linux

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, passwdcat /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 newuserdevgroup. 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.

400+ câu lệnh phổ biến trong Linux