Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

20 tháng 6, 2014

Cấu trúc tập tin /etc/shadows trong Linux

Tập tin /etc/shadow là một phương thức khác của Linux để lưu thông tin mật khẩu đăng nhập của người dùng hệ thống.
Thông tin được lưu tại đây sẽ an toàn hơn so với cách lưu trong tập tin /etc/passwd do tập tin này chỉ có tài khoản root hoặc có quyền sudo mới có thể truy cập.
Dưới đây là định dạng mỗi dòng trong tập tin /etc/shadow:
hduser:$6$nRDJ.w8b$wqH4G72KtYbUs:16038:0:99999:7:::
  •  Các trường trong /etc/shadow được phân cách với nhau bằng dấu ":"
  • Trường đầu tiên là username.
  • Trường thứ 2 là mật khẩu đã được mã hóa; nó có thể bắt đầu bằng ký tự $, khi đó ký tự tiếp theo sẽ là thuật toán mã hóa áp dụng cho mật khẩu.
    • $1 = MD5 hashing algorithm. 
    • $2 = Blowfish Algorithm is in use. 
    • $2a = eksblowfish Algorithm
    •  $5 = SHA-256 Algorithm 
    •  $6 = SHA-512 Algorithm
  • Trường thứ 3 là khoảng thời gian (tính bằng ngày) tính từ 1/1/1970  cho tới lần đổi mật khẩu gần nhất.
  • Trường thứ 4 là thời gian tối đa còn cho phép người dùng đổi mật khẩu, nếu là 0 tức là người dùng có thể đổi mật khẩu bất cứ khi nào, nếu là số khác 0, ví dụ 9, tức là người dùng còn 9 ngày nữa có thể đổi mật khẩu.
  • Trường thứ 5 là thời gian hiệu lực tối đa của mật khẩu, nếu là 99999 có nghĩa là vô hạn.
  • Trường thứ 6 là khoảng thời gian trước khi mật khẩu hết hạn, hệ thống sẽ cảnh báo cho người dùng, ở đây là 7, tức là trước khi hết hạn 7 ngày, hệ thống sẽ cảnh báo.
  • Trường thứ 7 là khoảng thời gian mà tài khoản đã hết hạn đăng nhập, ví dụ nếu là 2 tức là người dùng đã hết hạn đăng nhập 2 ngày.
  • Trường thứ 8 là khoảng thời gian mà tài khoản đã hết hạn đăng nhập tính từ ngày 1/1/1970 (đơn vị tính là ngày)
Ngoài ra trong file /etc/shadow còn có thể có chứa một số ký tự đặc biệt để dùng vào một số mục đích riêng như sau:
  • Nếu trường password rỗng tức là người dùng không có mật khẩu đăng nhập.
  • Nếu trường password là "!" tức là đăng nhập bằng mật khẩu của người dùng bị chặn nhưng có thể đăng nhập bằng phương thức khác, ví dụ sử dụng ssh key.
  • Nếu trường password là "*LK*" hoặc "*" tức là tài khoản bị khóa, không thể đăng nhập bằng mật khẩu nhưng vẫn có thể đăng nhập bằng phương thức khác.

Không có nhận xét nào:

Đăng nhận xét