Cách đặt và thay đổi mật khẩu người dùng trong Linux

Cả hai hệ điều hành Linux và UNIX đều sử dụng lệnh passwd để thay đổi mật khẩu người dùng. Mật khẩu được sử dụng để cập nhật mã token xác thực (mật khẩu) của người dùng được lưu trữ trong file /etc/shadow.

Lệnh passwd thay đổi mật khẩu cho tài khoản người dùng và tài khoản nhóm. Người dùng bình thường chỉ có thể thay đổi mật khẩu cho tài khoản của mình, người dùng cấp cao (hay root) có thể thay đổi mật khẩu cho bất kỳ tài khoản nào. Quản trị viên của một nhóm có thể thay đổi mật khẩu cho nhóm.

Lệnh passwd cũng thay đổi thông tin tài khoản, chẳng hạn như tên đầy đủ của người dùng, shell đăng nhập của người dùng hoặc ngày và khoảng thời gian hết hạn mật khẩu.

Đặt mật khẩu người dùng trong Linux

Nhập lệnh passwd sau để thay đổi mật khẩu của riêng bạn:

$ passwd

Kết quả đầu ra mẫu:

Changing password for vivek
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Người dùng trước tiên được nhắc nhập mật khẩu cũ của mình nếu có. Mật khẩu này sau đó được mã hóa và so sánh với mật khẩu đã lưu trữ. Người dùng chỉ có một cơ hội để nhập đúng mật khẩu. Người dùng cấp cao được phép bỏ qua bước này để có thể thay đổi mật khẩu đã quên. Mật khẩu mới được kiểm tra về độ phức tạp. Theo nguyên tắc chung, mật khẩu phải bao gồm 10 đến 20 ký tự bao gồm một hoặc nhiều điều kiện sau:

  • Bao gồm các chữ cái viết thường
  • Bao gồm các chữ cái viết hoa
  • Chữ số 0 đến 9
  • Dấu câu/ký tự khoảng cách

Thay đổi mật khẩu cho tài khoản người dùng khác trong Linux

Bạn cần đăng nhập với tư cách là người dùng root, nhập lệnh sau để thay đổi mật khẩu cho người dùng vivek:

# passwd vivek

Hoặc:

$ sudo passwd vivek

Đầu ra mẫu:

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Trong đó, vivek là tên người dùng hoặc tên tài khoản.

Mật khẩu không hiển thị trên màn hình khi bạn nhập chúng. Ví dụ:

Linux thay đổi mật khẩu người dùng bằng passwd

Linux thay đổi mật khẩu người dùng bằng passwd

Thay đổi mật khẩu nhóm Linux

Khi tùy chọn -g được sử dụng, mật khẩu cho nhóm sẽ bị thay đổi. Trong ví dụ này, hãy thay đổi mật khẩu cho nhóm sales:

# passwd -g sales

Tùy chọn -r được sử dụng với tùy chọn -g để xóa mật khẩu hiện tại khỏi nhóm. Điều này cho phép nhóm truy cập vào tất cả các thành viên. Tùy chọn -R được sử dụng với tùy chọn -g để hạn chế nhóm đối với tất cả người dùng.

  • Cách Linux lưu trữ và quản lý mật khẩu người dùng

Thay đổi mật khẩu người dùng trên Linux

Với tư cách là quản trị viên hệ thống Linux (sysadmin), bạn có thể thay đổi mật khẩu cho bất kỳ người dùng nào trên máy chủ của mình. Để đổi mật khẩu thay mặt cho người dùng:

1. Trước tiên, hãy đăng nhập hoặc sử dụng “su” hoặc “sudo” để vào tài khoản “root” trên Linux. Chạy lệnh:

sudo -i

2. Sau đó gõ passwd tom để thay đổi mật khẩu cho người dùng tom.

Hệ thống sẽ nhắc bạn nhập mật khẩu hai lần.

Để thay đổi hoặc đặt mật khẩu root (superuser) mới:

$ sudo passwd

Buộc người dùng Linux thay đổi mật khẩu trong lần đăng nhập tiếp theo

Theo mặc định, mật khẩu Linux không bao giờ hết hạn đối với người dùng. Tuy nhiên, bạn có thể buộc người dùng thay đổi mật khẩu của họ trong lần đăng nhập tiếp theo thông qua phương thức GUI hoặc CLI. Cú pháp rất đơn giản:

$ sudo passwd -e {username}
$ sudo passwd --expire {username}

Ví dụ:

$ sudo passwd -e marlena

Hệ thống sẽ xác nhận nó:

passwd: password expiry information changed.

Khi người dùng cố gắng đăng nhập thông qua lệnh ssh, họ sẽ thấy những điều sau trên màn hình:

$ ssh marlena@192.168.2.25
Last login: Fri Dec 4 04:12:48 2020 from 192.168.2.105
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for marlena.
Current password:
New password:
Retype new password:
passwd: password updated successfully
Connection to 192.168.2.25 closed.

Khóa và mở khóa mật khẩu người dùng của tài khoản

Lưu ý rằng lệnh cục bộ sau đây không vô hiệu hóa tài khoản. Người dùng vẫn có thể đăng nhập bằng mã xác thực khác, chẳng hạn như SSH key. Để vô hiệu hóa tài khoản, quản trị viên nên sử dụng lệnh usermod –expiredate 1 {username} hoặc sudo passwd –expire {username}.

Ngoài ra, người dùng có mật khẩu bị khóa không được phép thay đổi mật khẩu của họ để tuân theo chính sách bảo mật do sysadmin đặt ra.

Bạn có thể khóa mật khẩu như sau:

$ sudo passwd -l {username}

Tùy chọn này vô hiệu hóa mật khẩu bằng cách thay đổi nó thành một giá trị không khớp với giá trị có thể được mã hóa (nó thêm dấu ! vào đầu mật khẩu trong file /etc/shadow. Muốn mở khóa mật khẩu, hãy thử:

$ sudo passwd -u {username}

Tùy chọn lệnh trên kích hoạt lại mật khẩu bằng cách thay đổi mật khẩu trở lại giá trị trước đó. Nói cách khác là quay về giá trị trước khi sử dụng tùy chọn -l.

QTM-CN

QTM-ĐM