Sudo su vs su linux


24

Nếu tôi nhập mật khẩu sukhi được nhắc, nó không hoạt động trong khi sudo suđó. Ngoài ra, khi một lệnh được thực thi bằng cách sử dụng sudo (command), sudo sẽ tự động thực thi nó bằng root theo mặc định (vì trang man nóisudo, sudoedit - execute a command as another user

michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit

Câu trả lời:


41

Đó là bởi vì suyêu cầu mật khẩu của người dùng mà bạn đang thay đổi (theo mặc định là root) trong khi sudohỏi mật khẩu của tài khoản người dùng của riêng bạn và kiểm tra xem bạn có được phép chạy lệnh không.

Khi bạn chạy, sudo subạn yêu cầu sudochạy lệnh sudưới dạng root, cung cấp cho bạn shell root. Nếu bạn chỉ sử dụng, subạn sẽ phải biết mật khẩu của người dùng đích để có quyền truy cập.

Sử dụng sudomà không có tham số ngụ ý rằng bạn muốn sử dụng root. Nếu bạn muốn thực thi lệnh như một người dùng khác, hãy thửsudo -u <username> <command>


7
Một thông tin quan trọng khác để hiểu lệnh liên quan sudo su otherusersucho phép root chuyển sang bất kỳ người dùng nào mà không cần nhập mật khẩu của họ, trong khi những người dùng không phải root chạy suphải nhập mật khẩu của người dùng đích. sudo sudo đó chạy sudưới quyền root, cho phép bạn lấy shell cho người dùng khác mà không cần biết mật khẩu của họ (miễn là được cho phép bởi sudoers).
Lie Ryan

Vì vậy, mật khẩu gốc của tôi sẽ là gì cho lệnh "su"? Tại sao nó không phải là mật khẩu tôi đặt khi bắt đầu cài đặt?
agz

Bởi vì bản phân phối của bạn có thể đã không đặt nó. Bạn có thể đặt mật khẩu gốc đang chạy sudo passwd(đầu tiên cung cấp mật khẩu người dùng của bạn, sau đó chọn mật khẩu gốc mới).
Renan

Vậy tại thời điểm này không có mật khẩu? ... vậy về cơ bản root chỉ là một tài khoản mà sudoers có thể sử dụng để thay đổi tập tin root?
agz

Không chỉ vậy, có nhiều dịch vụ khác phải chạy bằng root (kiểm tra ps aux).
Renan

17

sulà viết tắt của s witch (hoặc s ubstolarship) u ser. Không có tên người dùng, nó mặc định chuyển sang root. Nó nhắc nhập mật khẩu của người dùng mà bạn đang chuyển sang.

sudođược sử dụng để chạy lệnh dưới dạng root (nghĩa là có quyền root) hoặc như những người dùng khác. Nó nhắc mật khẩu của bạn và kiểm tra xem bạn có được phép sử dụng sudo không.

Khi bạn nhập su, bạn đang yêu cầu chuyển sang root và mật khẩu được yêu cầu là mật khẩu gốc. Khi bạn nhập sudo su, bạn đang yêu cầu thực thi lệnh để chuyển sang root với quyền root , vì vậy mật khẩu được yêu cầu là của bạn.


1

... và để khắc phục vấn đề không thể sử dụng 'su' một mình, sudo thành một vỏ gốc và đặt mật khẩu cho root, với 'chpass'.

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.