Tại sao mật khẩu 'sudo' khác với mật khẩu 'su root'


11

Trên máy cá nhân của tôi, tôi thường gõ sudotrước một số lệnh nhất định để hoàn thành các tác vụ quản trị. Tôi đã hy vọng tránh làm điều này trong suốt cả ngày, bằng cách gõ su rootvà cung cấp cùng một mật khẩu tôi thường làm sudo. Tuy nhiên, hai mật khẩu không giống nhau (tôi không biết cách đăng nhập su root). Đang chạy một lệnh sudokhác với đăng nhập bằng su rootvà chạy cùng một lệnh?

Tôi nghĩ sudosu rootgiống nhau, bởi vì khi tôi gõ sudo whoami, tôi nhận được root, trái ngược với whoaminơi tôi lấy tên người dùng của mình.


Tôi đã xem qua chủ đề cũ hơn bởi vì nó được liên kết như liên quan đến một câu hỏi tôi đã hỏi. Các câu trả lời rất nhiều thông tin nhưng để lại một câu hỏi. Trên máy cá nhân (một người dùng), làm thế nào để bạn có được mật khẩu khác cho root tùy thuộc vào việc bạn sử dụng sudo hay su root? Không có mật khẩu gốc, được xác định khi Linux được cài đặt?
fixer1234

@ fixer1234 Như đã giải thích trong câu trả lời của John1024 , khi bạn sử dụng sudo, hệ thống sẽ hỏi mật khẩu của bạn để xác minh danh tính của bạn, sau đó kiểm tra /etc/sudoersxem bạn có được phép chạy sudo không. Khi bạn sử dụng su, hệ thống yêu cầu bạn nhập mật khẩu của người dùng mà bạn đang chuyển sang . (Tôi biết đây là một câu hỏi rất cũ, nhưng tôi muốn thêm một sự làm rõ vì lợi ích của người xem trong tương lai.)
nặc danh

@anonymousoose, câu hỏi này là về máy cá nhân của OP. Thông thường, khi bạn cài đặt Linux trên máy của mình, bạn sẽ biết nếu bạn đã root một mật khẩu khác với người dùng thông thường. Câu hỏi chỉ ra rằng OP đã rất ngạc nhiên khi phát hiện ra rằng root có mật khẩu khác.
fixer1234

1
@ fixer1234 OP có thể không đặt mật khẩu gốc để bắt đầu. Trình cài đặt của Ubuntu không yêu cầu mật khẩu gốc và tôi chắc chắn rằng một số bản phân phối khác không có.
nặc danh

Câu trả lời:


17

Trái với những gì sử dụng phổ biến nhất của họ sẽ khiến bạn phải suy nghĩ, susudokhông chỉ có nghĩa là để đăng nhập (hoặc thực hiện các hành động) như root.

sucho phép bạn chuyển danh tính của bạn với người khác. Vì lý do này, khi bạn nhập su, hệ thống cần xác minh rằng bạn có thông tin đăng nhập cho người dùng mục tiêu mà bạn đang cố gắng thay đổi.

sudolà một chút khác nhau. Việc sử dụng sudocho phép bạn chạy một số lệnh nhất định (hoặc tất cả, tùy thuộc vào cấu hình) như một người khác. Danh tính của riêng bạn được sử dụng để xác định loại lệnh nào sudosẽ chạy cho bạn dưới danh tính của người khác: nếu bạn là người dùng đáng tin cậy (theo nghĩa là sysadmin tin tưởng bạn), bạn sẽ được phép tự do phục hồi nhiều hơn, nói, nhân viên thực tập. Đây là lý do tại sao sudocần xác minh danh tính của riêng bạn chứ không phải của người dùng mục tiêu.

Nói cách khác, cố gắng với suai đó mà bạn không giống như cố gắng tính phí mua hàng của mình vào thẻ tín dụng bị đánh cắp trong khi sử dụng sudocũng giống như bán xe của bạn bè bằng proxy hợp pháp.

Đối với những gì bạn đã cố gắng làm, chỉ sudo su root, hoặc thậm chí đơn giản hơn sudo suvà nhập mật khẩu người dùng thông thường của bạn. Điều này gần như sẽ thay thế thông tin xác thực thẻ tín dụng của bạn bè của bạn bằng proxy hợp pháp mà họ đã cung cấp cho bạn :). Tất nhiên nó giả định sudocấu hình cho phép bạn chạy suvới các đặc quyền leo thang.

Ngoài ra, các hệ thống được cấu hình sẵn với sudoquyền truy cập thường bị vô hiệu hóa tài khoản gốc (không có mật khẩu gốc), bạn có thể kích hoạt bằng cách sử dụng passwdlệnh sau khi trở thành root thông qua sudo su.


Đối với người dùng gia đình, bạn có khuyên bạn nên đặt mật khẩu gốc ngoài việc có người dùng có đặc quyền (Như trong sudo) không?
Royi

3

sudođược sử dụng để tạm thời nâng cấp quyền của người dùng lên cấp gốc, trong khi đó su rootđược sử dụng để tạo vỏ mới với root là người dùng;


2

Nó có thể định cấu hình * nhưng theo mặc định, "sudo" sẽ hỏi bạn mật khẩu của bạn. Nó chỉ đang cố gắng đảm bảo rằng đó là bạn chứ không phải ai đó sử dụng bàn phím của bạn trong khi bạn đang uống cà phê.

Ngược lại, "su root" yêu cầu bạn nhập mật khẩu gốc.


* Nếu targetpw in / etc / sudoers là false (mặc định), "sudo" sẽ hỏi bạn mật khẩu của bạn. Nếu đó là sự thật, thì "sudo" sẽ hỏi bạn mật khẩu của root hoặc, nếu bạn đã chỉ định một số người dùng khác với tùy chọn "-u", mật khẩu của người dùng đó.


1

Vì lợi ích của một số người mới tham gia tìm kiếm này, có một phương pháp đơn giản để đi vào root cho đến khi bạn thoát:

     sudo -iE

Sẽ giữ cho bạn tương tác và giữ môi trường của bạn nhưng bây giờ, là root.

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.