Người dùng không có mật khẩu - làm thế nào một người có thể đăng nhập vào tài khoản đó từ tài khoản không root


25

Tôi mới bắt đầu sử dụng Khoa học Linux (7.0) (mặc dù tôi cho rằng câu hỏi này có thể là phân phối trung lập ..). Phiên bản kernel là 3.10.0-123.20.1.el7.x86_64.

Trở lại câu hỏi của tôi.

Tôi đã chuyển sang roottài khoản và từ đó tạo ra một tài khoản người dùng mới test-accountbằng cách sử dụng lệnh adduser test-account. Nó không nhắc tôi nhập mật khẩu và tôi cũng không sử dụng tùy chọn để cung cấp mật khẩu. Vì vậy, tôi đoán đó là một tài khoản "không có mật khẩu". Tôi có thể đăng nhập vào tài khoản này từ tài khoản root - mà tôi cho rằng tôi có thể không cần cung cấp mật khẩu ngay cả khi tài khoản kiểm tra có mật khẩu. Tuy nhiên, khi tôi cố gắng đăng nhập vào tài khoản này (tài khoản thử nghiệm) từ tài khoản thứ ba - nó sẽ nhắc tôi nhập mật khẩu. Và chỉ nhấn Enterkhông hoạt động.

Có thể đăng nhập vào tài khoản này từ tài khoản không root. Có cách nào (không chuyển sang root hoặc sử dụng sudo) không?


Chính sách của hệ thống của bạn có thể là mật khẩu được yêu cầu. adduserbiết -ptùy chọn để đặt mật khẩu, không nên sử dụng nó. Vì vậy, như root, làm passwd test-accountvà thiết lập một mật khẩu.
ott--

không, tài khoản được tạo mà không cần mật khẩu và tôi thậm chí có thể truy cập nó bằng cách chuyển sang tài khoản từ root. Điều duy nhất tôi không thể làm là chuyển sang nó từ một người dùng bình thường.
Lavya

Làm thế nào để bạn chuyển sang nó từ root (bạn đang sử dụng lệnh gì)?
roaima

@roaima su test-account. Điều đó chuyển sang test-accountkhông có dấu nhắc mật khẩu (đó là điều sẽ xảy ra ngay cả khi test-accountcó mật khẩu). Tuy nhiên, khi tôi cố gắng chuyển sang kiểm tra tài khoản từ tài khoản người dùng không có đặc quyền bao phấn, kernel sẽ hỏi tôi mật khẩu với một dấu nhắc và nó không chấp nhận khoảng trống (nhấn eneter)
Lavya 28/03/2015

Bạn đã nhận được câu trả lời cho điều này. Thưởng thức.
roaima

Câu trả lời:


29

Theo mặc định trên GNU / Linux doanh nghiệp và các dẫn xuất của nó, adduserlệnh sẽ tạo một người dùng bị vô hiệu hóa cho đến khi bạn chỉ định rõ ràng mật khẩu cho người dùng đó.

Dưới đây là một ví dụ về CentOS 6.5, giống như Khoa học Linux.

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

Lý do cho điều này là bởi vì trong /etc/shadowtệp, trường mật khẩu là !!như bạn có thể thấy trong ví dụ.

Khi bạn chạy passwdcho tài khoản này, nó sẽ thay đổi mật khẩu của người dùng và cho phép người dùng có thể đăng nhập.

Vì vậy, những gì bạn có thể làm là sau đây để có một người dùng không có mật khẩu, chỉ cần tạo một tài khoản sau đó xóa mật khẩu.

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

bây giờ bất kỳ người dùng nào cũng có thể sử dụng suvà đăng nhập như người dùng testtrong ví dụ của tôi. bạn sẽ không phải sử dụng sudođể đăng nhập như tài khoản.

Mặc dù điều này là có thể và bạn có thể có một tài khoản mà không cần mật khẩu, nhưng điều đó không được khuyến khích. Nếu bạn chỉ cần đặt mật khẩu cho người dùng, bạn sẽ được phép đăng nhập.

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

"Lệnh adduser tạo một người dùng bị vô hiệu hóa cho đến khi bạn chỉ định rõ ràng mật khẩu cho người dùng đó": làm thế nào tôi có thể chuyển sang test-account từ root nếu đó là trường hợp (người dùng bị vô hiệu hóa)?
Lavya

su test-account
Nathan McCoy

Tôi muốn hỏi là nếu tài khoản bị vô hiệu hóa thì làm thế nào để tôi có thể chuyển sang sử dụng sutừ root?
Lavya

2
các rootcan sử dụng suvào bất kỳ tài khoản có một lớp vỏ. Nếu shell được đặt thành /bin/falseví dụ, nó sẽ không hoạt động. Nó chỉ là ma thuật của root! nhiều tài khoản người dùng không có vỏ hợp lệ và chỉ được sử dụng để thực thi các chương trình cụ thể như người dùng đó. chẳng hạn như apachengười dùng và máy chủ web apache.
Nathan McCoy

Trong Ubuntu 18.04, tôi không thể đăng nhập với tư cách là người dùng với mật khẩu trống.
Ciro Santilli 心 心

3

Tôi có người dùng khách không mật khẩu. Đây là kỷ lục của nó:

khách: U6aMy0wojraho: 17057: 0: 99999: 7 :::

Chuỗi "U6aMy0wojraho" là mật khẩu băm của người dùng khách. Khi tôi đăng nhập, tôi chỉ cần nhấn enter để lấy mật khẩu và hệ thống cho phép tôi đăng nhập.

Bạn nên chỉnh sửa tệp / etc / bóng và thêm chuỗi được đề cập ở trên ngay sau tên người dùng và dấu hai chấm đầu tiên.

Tôi đã sao chép chuỗi này từ đĩa CD trực tiếp Ubuntu - người dùng của nó là vô nghĩa.


Thay vì câu trả lời được chấp nhận ( passwd -d ...) điều này cũng hoạt động với sddm.
mzimmer

1
Chỉnh sửa /etc/shadowtập tin trực tiếp là rủi ro và thường không được khuyến khích. Có một guesttài khoản tốt, nhưng sử dụng các công cụ để chỉnh sửa mật khẩu sẽ làm giảm khả năng nhập sai người dùng hoặc các vấn đề với việc lưu tệp nhiều người dùng.
Nathan McCoy

@NathanMcCoy, tôi đồng ý rằng đó là rủi ro. Nhưng các công cụ GUI không cho phép tạo mật khẩu trống - nó yêu cầu ít nhất 6 hoặc 8 ký tự. Ít nhất, đây là trường hợp trên Kubfox mà tôi sử dụng.
Raicho Nikolov

@NathanMcCoy vâng, người ta có thể sử dụng chpasswd -eđể làm điều đó an toàn hơn: unix.stackexchange.com/a/472966/32558
Ciro Santilli 改造

Điều này rất tốt cho các trường hợp khôi phục khẩn cấp, cắm vào ổ cứng (có thể nói) và chỉnh sửa một vài tệp để sửa máy. Cụ thể thêm người dùng này và tạm thời thêm anh ta vào sudoers sau đó sử dụng bảng điều khiển nối tiếp để đăng nhập và sửa chữa bất cứ điều gì đã xảy ra
Ray Foss

2

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

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

Dấu nhắc mật khẩu vẫn hiển thị không may.

Nhưng nếu bạn chỉ cần nhấn enter mà không cần nhập bất cứ thứ gì và nó sẽ đăng nhập với tư cách người dùng test-user-0.

Các -ecờ cho biết chpasswdmật khẩu đã được mã hóa và U6aMy0wojraholà hàm băm của chuỗi rỗng.

Đã thử nghiệm trên Ubuntu 18.04.

Tự động BusyBox

Ít nhất trên thiết bị đầu cuối, bạn không cần tạo người dùng mà không cần mật khẩu để cho phép ai đó không gõ mật khẩu của họ mọi lúc, hack inittabmột chút là đủ: Làm thế nào để đăng nhập tự động mà không cần nhập tên người dùng hoặc mật khẩu gốc trong Buildroot BusyBox init?

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.