Câu trả lời:
Đâ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 '^[^:]*(?=::)'
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.
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