Làm cách nào để kiểm tra xem mật khẩu gốc (đăng nhập) của tôi có bị vô hiệu hóa không?


10

Tôi vô tình kích hoạt (đặt) mật khẩu gốc của mình (theo mặc định nó bị khóa) và bây giờ tôi muốn "hoàn tác" nó. Tôi đã sử dụng cả hai lệnh

sudo usermod -p '!' root

sudo passwd -dl root

theo thứ tự đó.

Làm cách nào để kiểm tra xem tài khoản của root có bị khóa không?

Câu trả lời:


18

Bạn có thể sử dụng passwdlệnh:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

Từ man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Dữ liệu hiển thị được lưu trữ trong /etc/shadow, tệp chứa mật khẩu được mã hóa.

Ví dụ: sau mỗi passwdlệnh trên , các trạng thái là:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

Một khả năng là xem xét / etc / passwd bằng cách nhập

grep root /etc/passwd

Nó sẽ hiển thị một dòng bắt đầu giống như root:x: ......nơi x chỉ ra rằng mật khẩu được mã hóa được lưu trữ trong tệp bóng. Nếu đây là trường hợp, chúng tôi xem xét nó bằng cách chạy

sudo grep root /etc/shadow

(tập tin bóng cần sudo để được mở!) Bạn sẽ nhận được một dòng bắt đầu như sau vì kết quả root:!: ......!hoặc một *tín hiệu cho thấy tài khoản bị vô hiệu hóa. Bất kỳ giá trị nào khác (không bắt đầu bằng! Hoặc *) sau root:sẽ cho biết mật khẩu hoạt động.


cảm ơn bạn, nhưng tôi chỉ tự hỏi, có tập tin nào chứa thông tin đó không?
nobru 12/2/2015

Tôi đã nghiên cứu một chút và thêm một phần khác vào câu trả lời của mình, truy cập vào các tệp nơi mật khẩu được lưu trữ, đúng như bạn muốn.
Chỉ huy Byte

Tôi đã thử đề xuất đầu tiên của bạn và nó đã sai, sudo vẫn sử dụng mật khẩu người dùng. Đoạn văn đã chỉnh sửa, đó là thông tin tôi đang tìm kiếm
nobru 12/2/2015

nguồn dữ liệu là man passwd.5man shadow.5
Sergei G

0

Dễ dàng.

Nhấn Ctrl + Alt + F1. Điều này sẽ mang đến một thiết bị đầu cuối riêng biệt. Cố gắng đăng nhập bằng root bằng cách gõ rootnhư đăng nhập của bạn và cung cấp mật khẩu.

Nếu tài khoản root được kích hoạt, đăng nhập sẽ hoạt động. Nếu tài khoản root bị vô hiệu hóa, đăng nhập sẽ thất bại.

Để quay lại GUI của bạn, nhấn Ctrl + Alt + F7.


Bạn không cần phải đi đến TTY cho điều đó. Một đơn giản susẽ làm.
muru

cảm ơn bạn, tôi đã thử và bây giờ nó đã bị khóa Nhưng tôi tự hỏi là có bất kỳ tập tin mà tôi có thể mở và kiểm tra nó. Giả sử tôi không thể nhớ mật khẩu mà tôi đã nhập và không có tùy chọn nào để đặt mật khẩu khác với sudo từ người dùng, vì vậy tôi muốn kiểm tra một số tệp đăng nhập nếu nó tồn tại.
nobru 12/2/2015

0

Theo mặc định khi bạn cài đặt Ubuntu, bạn không nên biết mật khẩu root. Nó tồn tại, nhưng người dùng không nên biết điều đó. Tất nhiên, một quản trị viên có thể chọn thay đổi mật khẩu sudo passwdnhưng nói chung là không cần thiết, trừ khi bạn biết bạn đang làm gì và tại sao bạn lại làm như vậy.

Một tệp chứa thông tin về tất cả mật khẩu người dùng là /etc/shadow và mỗi mục trong tệp đó được mã hóa. Vì vậy, trừ khi kẻ tấn công giành được quyền truy cập vào hệ thống của bạn và đánh cắp tệp này, anh ta hoặc cô ta không thể nhập root được. Tất nhiên, luôn có một khả năng, do đó tôi khuyên bạn nên tắt mọi tính năng truy cập từ xa: telnet (không được bật theo mặc định), ssh, máy tính để bàn từ xa, v.v. Hãy tự lấy nmapcông cụ và quét hệ thống của bạn sudo nmap localhostđể xem cổng nào có thể được mở trên hệ thống. Ngoài ra, có được cho mình một tường lửa; Ubuntu đi kèm với tường lửa ufw, đơn giản để sử dụng và thực hiện công việc đủ tốt.

Trong số các phương pháp khác, bạn có thể kiểm tra tài khoản root bằng sudo -i

Trong /etc/sudoerstệp, bạn nên có một dòng như thế này : sudo -i. Nếu bạn không thể đăng nhập bằng root, bạn không thấy dấu nhắc #, thì tài khoản đã bị khóa

Defaults env_reset,timestamp_timeout=30

timestamp_timeout sẽ yêu cầu sudo yêu cầu mật khẩu sau 30 giây một lần nữa để bạn không đăng nhập với quyền root mọi lúc. Đó là một trong những cách bảo vệ hệ thống của bạn.

Một tác dụng phụ bất lợi của việc thay đổi mật khẩu root là nếu bạn quên mật khẩu hoặc người dùng khác trên hệ thống của bạn quên mật khẩu, bạn sẽ không có quyền truy cập vào root. Tôi không biết về bất kỳ trường hợp nào, nhưng luôn có khả năng làm rối hệ thống, bởi vì một số quy trình chạy dưới quyền root và nếu bạn khóa tài khoản root thì có khả năng chúng không hoạt động chính xác hoặc hoàn toàn không hoạt động.

Tôi thực sự khuyên bạn nên đọc qua man sudoers, man passwd,người đàn ông bóng tối.

Tốt nhất của may mắn và hy vọng điều này sẽ giúp!


0

bắt bleow một lệnh lót để báo cáo mật khẩu của tất cả người dùng tồn tại trong máy chủ linux.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
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.