Không thể mở khóa tài khoản người dùng linux


14

Tôi đã có một hộp Linux (OpenSuSE 11.3) với tài khoản người dùng bị khóa. Tôi đã đăng nhập bằng tài khoản root để mở khóa passwd -u <user>, nhưng tôi nhận được một tin nhắn'Cannot unlock the password for <user>!'

Tôi đã thử thay đổi mật khẩu thành một cái gì đó mới thông qua passwd, nhưng cố gắng đăng nhập bằng mật khẩu mới này vẫn khiến 'tài khoản bị khóa do thông báo lỗi x lỗi'.

passwd -Sđưa cờ trạng thái 'PS' cho tài khoản. Tôi không nhận ra 'S', nhưng bằng mọi giá, nó không hiển thị 'L' (bị khóa) hoặc 'NP' (không có mật khẩu). /etc/shadowkhông chứa bất kỳ ký tự lạ nào như !ở đầu dòng cho tài khoản này. Nhìn vào nó trong ứng dụng quản lý của distro này (YaST) dường như cho thấy nó không bị khóa (nút 'vô hiệu hóa tài khoản' không được chọn).

Tôi cần kiểm tra ở đâu nữa để xem cách thức và lý do tài khoản này từ chối mở khóa / đăng nhập?


Phân phối và phiên bản nào?
depquid

Máy này là OpenSuSE 11.3
kẹt

Câu trả lời:


18

Tôi đã có vấn đề này ngày hôm nay. Đây là bản sửa lỗi.

pam_tally --user = --reset

Thí dụ

pam_tally --user=cyberninja --reset

Tôi hi vọng điêu nay se giup được ai đo.


Tôi tìm thấy bài viết này đang tìm kiếm một câu trả lời cho câu hỏi chính xác này. Tôi gặp lỗi tương tự nhưng trên máy chủ SLES 11 SP2. Đồng nghiệp của tôi đặt lại mật khẩu của tôi và cố gắng mở khóa tài khoản của tôi bằng lệnh passwd -u. Một trong những đồng nghiệp khác của tôi nói rằng tôi cần tài khoản rõ ràng trong PAM và đưa cho tôi lệnh. Mà tôi đã đăng ở trên.


Cập nhật,

Bây giờ tôi có một bản sửa lỗi để ngăn điều này xảy ra lần nữa. Dường như có hai tệp PAM bị xung đột. Những tập tin này là; /etc/pam.d/login/etc/pam.d/sshd. Cả hai tập tin đều có dòng này.

auth yêu cầu pam_tally.so onerr = fail deny = 3

Bạn phải cam kết, dòng này từ một trong các tệp được liệt kê ở trên. Chúng tôi nhận xét dòng ra trong /etc/pam.d/sshdtập tin.

Sau khi bạn làm điều này, bạn không bao giờ nên có vấn đề này một lần nữa.


Chào mừng đến với SU. Cố gắng giải thích thêm một chút về cách bạn gặp vấn đề và cũng nói thêm một chút về câu trả lời của bạn nếu bạn có thể.
Sickest

Ok Sickest, tôi sẽ cập nhật bài viết của tôi.
Cyberninja

Làm việc trong máy chủ RHEL6 của tôi. lệnh là 'pam_tally2' tuy nhiên.
SidJ

Kiểm tra cấu hình PAM! Trong PAM của tôi, nó đã sử dụng tệp /var/log/failllog, nhưng pam_tally2lệnh được sử dụng theo mặc định /var/log/tallylog, do đó người dùng đã báo cáo là không bị khóa. Bạn có thể sử dụng pam_tally2 --file /var/log/faillog.
Marki555

8

Hôm nay tôi đã gặp phải vấn đề tương tự với một tài khoản người dùng trong một máy chủ đang chạy SUSE Linux Enterprise Server 11 SP2, ngay cả sau khi đặt lại mật khẩu và thay đổi tuổi thành 0 (chage -d 0 userID)

[me@mordor ~]$ ssh frodo@mordor

Welcome to SUSE Linux Enterprise Server 11 SP2  (x86_64) - Kernel \r (\l).


Account locked due to 29 failed logins
Password:
Account locked due to 30 failed logins
Password:

Với cùng escenario được mô tả bởi @Jam trong bài viết gốc của mình. Không có gì hiển thị tài khoản bị khóa cả trên "/ etc / passwd" cũng như "/ etc / bóng". Các lệnh như "passwd -S -a | grep frodo" cho thấy ID không bị khóa (LK)

me@mordor:~> sudo passwd -S -a | grep frodo
frodo PS 01/01/1970 1 90 7 180

Ngoài ra " pam_tally2 " cho thấy ID KHÔNG bị khóa:

me@mordor:~> sudo /sbin/pam_tally2 --user frodo
Login           Failures Latest failure     From
frodo             0

Nhưng vấn đề thực tế là " pam_tally "

me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 32

Sau khi mở khóa mật khẩu userID, tôi đã có thể đăng nhập bằng thông tin đăng nhập mới và tránh thông báo lỗi.

me@mordor:~> sudo /sbin/pam_tally --user frodo --reset
User frodo    (500)   had 32
me@mordor:~> sudo /sbin/pam_tally --user frodo
User frodo    (500)   has 0

Hy vọng điều này sẽ giúp người khác tránh bị vỡ đầu như tôi đã làm trong một giờ qua hoặc lâu hơn ... Vì vậy, để làm cho một câu chuyện dài ngắn được lưu ý để kiểm tra cả " pam_tally " và " pam_tally2 " khi tài khoản bị khóa trong SuSE !!

Trân trọng, Hernan.


Cảm ơn rất nhiều :) sự khác biệt giữa pam_tally và pam_tally2 là gì?
mwfearnley

1
Kiểm tra cấu hình PAM! Trong PAM của tôi, nó đã sử dụng tệp /var/log/failllog, nhưng pam_tally2lệnh được sử dụng theo mặc định /var/log/tallylog, do đó người dùng đã báo cáo sai là không bị khóa. Bạn có thể sử dụng pam_tally2 --file /var/log/faillog.
Marki555


1

Thử

usermod --expire 9999

để vô hiệu hóa không hoạt động cho tài khoản (điều này đặt ngày hết hạn thành 1/1/9999). passwd -uchỉ hoạt động nếu mật khẩu bị "khóa", nhưng không dành cho tài khoản bị vô hiệu hóa.


Tôi hiểu, vậy có sự khác biệt giữa mật khẩu bị khóa / vô hiệu hóa và tài khoản bị khóa / vô hiệu hóa không? Tin nhắn đăng nhập thất bại khiến tôi hiểu lầm. Phương pháp này sẽ ảnh hưởng đến ngày hết hạn mật khẩu hay 'hết hạn tài khoản' là một điều riêng biệt?
kẹt

Tôi đã thử điều này và bây giờ khi tôi cố gắng đăng nhập, nó chỉ báo 'đăng nhập thất bại' mặc dù tôi chắc chắn đã nhận được mật khẩu chính xác (sau 1 lần thất bại tôi đã thay đổi để chắc chắn 100% về điều này). Bất kỳ đề xuất? S:
kẹt

Điều này sẽ thay đổi hết hạn tài khoản, tách biệt với hết hạn mật khẩu. Vì vậy, tài khoản có thể đang hoạt động hoặc hết hạn, mật khẩu có thể đang hoạt động, bị khóa hoặc hết hạn và có thể tự động hết hạn tài khoản sau khi mật khẩu hết hạn. Đầu ra của là passwd --status <username>gì? Nó sẽ hữu ích nếu bạn có thể thêm nó vào câu hỏi của bạn.
Darth Android

Phiên bản passwdtrên bản phân phối này không chấp nhận --statusdưới dạng tùy chọn nhưng passwd -S <user>('hiển thị thuộc tính mật khẩu') đưa ra: <user> PS <date> <password expiry options>ngày tháng là ngày tôi thay đổi mật khẩu (ngày hôm qua) và các tùy chọn hết hạn mật khẩu là min age(0), max age(90), days before expiry to issue warning(7) và days after expiry with usable login(-1). Các cài đặt này đều hoạt động trước đây, vì vậy tôi không nghĩ bất kỳ cài đặt nào là nguyên nhân của sự cố.
mứt

1

Vấn đề cũng có thể là tài khoản vừa được tạo và chưa có mật khẩu nào được chỉ định.

Nếu vậy, passwd -S <user>sẽ hiển thị LK(cho khóa) và passwd -u <user>sẽ không hoạt động.

Bạn chỉ cần gán một mật khẩu cho người dùng để khắc phục sự cố.


0

Với lệnh này, bạn có thể tạo người dùng đã mở khóa mà không cần mật khẩu:

adduser --gecos "Username" --disabled-password "username"

Điều này có nghĩa là không có mật khẩu ngẫu nhiên treo trên hệ thống.

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.