Làm thế nào để tìm người dùng với mật khẩu trống trong Linux?


13

Làm thế nào để tìm người dùng với mật khẩu trống trong Linux?

Câu trả lời:


15

Đây là phiên bản ngắn hơn và chính xác hơn cho câu trả lời của AndreKR:

sudo getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Nó chỉ có một cuộc gọi đến cutvà sẽ tìm thấy các mục của bất kỳ biểu mẫu nào dưới đây:

foo:!: ...
bar:*: ...
baz:: ...

Nếu bạn chỉ muốn thực sự trống rỗng:

sudo getent shadow | grep '^[^:]*::' | cut -d: -f1

Nếu bạn có GNU grep, bạn có thể loại bỏ cuthoàn toàn:

sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'

hoặc là

sudo getent shadow | grep -Po '^[^:]*(?=::)'


2

Mục nhập của họ /etc/shadow/sẽ không có mật khẩu băm trong đó. Bạn sẽ cần phải đăng nhập với quyền root để có thể nhìn thấy chúng.


2

Mật khẩu được mã hóa là trường thứ hai trong / etc / bóng.

Nếu trường thứ hai trống, thì mật khẩu trống:

awk -F":" '($2 == "") {print $1}' /etc/shadow

!*là mật khẩu không hợp lệ (người dùng không thể đăng nhập):

awk -F":" '($2 == "!" || $2 == "*") {print $1}' /etc/shadow

0

Người dùng có " người dùng " mật khẩu trống không?

getent shadow | grep 'user:\$' | cut -d':' -f 2 | grep '\w' -c -m 1  

return 1 khi fail - mật khẩu không trống
return 0 khi thành công - mật khẩu được đặt

Hy vọng điều này là chính xác

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.