lệnh su + lỗi xác thực


33

Tôi đang gặp vấn đề với lệnh su. Tôi biết mật khẩu của mình và tôi đang gõ đúng nhưng suchỉ ra lỗi xác thực.

Vì vậy, tôi đã kiểm tra trên internet và sau đó chuyển sang chế độ khôi phục và thay đổi mật khẩu tên người dùng của tôi thành những gì tôi đã nhập trước đó.

Ngay cả bây giờ nhập cùng một mật khẩu sucho tôi thất bại xác thực.

Xin đề nghị tôi đang làm gì sai ??

Câu trả lời:


43

suhỏi mật khẩu root Vì Ubuntu không đặt mật khẩu gốc theo mặc định, bạn không thể sử dụng nó để trở thành root.

Thay vào đó, để trở thành root, sử dụng sudo -ivới mật khẩu cá nhân của bạn.


2
Tôi thừa nhận tôi có xu hướng sử dụng sudo bashnhưng câu thần chú của bạn làm cho tôi muốn sử dụng su sudohoặc có thể su su sudo.
Jerry Asher

5
sudo sukhông phải là cách được đề xuất - sử dụng sudo -ithay thế.
guntbert

Thay vào đó, hãy thử dùng youtube.com/watch?v=axDObUgsuZQ , nó sẽ giúp bạn giải quyết lỗi xác thực trên root su
vijay

12

suhỏi mật khẩu của tài khoản bạn đang cố đăng nhập. Đó là cách sử dụng (đơn giản hóa):

su username

Khi bỏ qua username, tên người dùng mặc định là root. Vì mật khẩu gốc bị tắt theo mặc định trên Ubuntu, nên không có mật khẩu nào hợp lệ. Cách ưa thích để chạy các lệnh gốc không phải thông qua trình bao su, mà với sudo như trong:

sudo mount /dev/sdb1 /mnt

9

Các roottài khoản trong Ubuntu được tắt theo mặc định. Điều này có nghĩa là nó không có mật khẩu (khác với mật khẩu trống ) và không có nỗ lực xác thực bằng mật khẩu của root sẽ thành công. Do đó, suhoặc su -sẽ không hoạt động.

Thay vào đó, sử dụng sudođể chạy một lệnh như root:

sudo command...

Nếu bạn muốn có một vỏ gốc như bạn nhận được su, hãy chạy:

sudo -s

Nếu bạn muốn có một vỏ gốc như bạn nhận được su -, hãy chạy:

sudo -i

2

khi bạn cần đăng nhập như một trong những người dùng không đăng nhập của bạn nói git(không có pwd)

su - git
Password: 
su: Authentication failure

GIẢI PHÁP - sử dụng cú pháp này để đăng nhập như userid git

sudo su - git

1

su hỏi mật khẩu root

Bạn có thể đặt mật khẩu gốc trong khi bạn root (bằng cách sudo sucung cấp, với điều kiện bạn đang ở trong sudoerstệp), bằng cách đưa ra lệnh passwdvà đặt mật khẩu mới.

Điều này không được khuyến khích vì nhiều lý do.


0

Tôi đã bắt gặp một hệ điều hành, Minibian, nơi bit setuid bị thiếu /bin/su, gây ra lỗi này, ngay cả khi mật khẩu của tài khoản root được bật.

Trên Linux, cách duy nhất để trở thành root là thực thi một tập tin gốc setuid. Khi bạn chạy sudohoặc su, bit setuid của chúng được đặt, vì vậy người dùng hiệu quả của quá trình sẽ trở thành root, sau đó họ thực hiện xác thực đã là root! Nếu thất bại họ thoát.

Dù sao, đây là các triệu chứng và cách khắc phục:

$ su
Password:
su: authentication failure
$ sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun  5  2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun  5  2012 /bin/su

Lưu ý sự khác biệt: rwxtrước, rwssau.


Tôi thực sự không thấy lỗi trên bản phân phối Linux hoàn toàn khác có liên quan đến Ubuntu như thế nào ...?
Chỉ huy Byte

0

Trong trường hợp của tôi, đó là vì mục nhập cho người dùng đó bị thiếu /etc/shadow.

Tôi đã sao chép sang một máy chủ thử nghiệm khác, tất cả các mục nhập /etc/passwdcó ID cao hơn 1000 cùng với /etc/groupnhưng quên /etc/shadow. Vì vậy, subất cứ khi nào tôi làm với bất kỳ người dùng nào tôi cũng sẽ gặp phải lỗi đó. Sau khi thêm mục bị thiếu trong /etc/shadowlỗi sẽ ngừng xuất hiện.

Ví dụ /etc/shadow:

myusername:*:16992:0:99999:7:::
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.