Sự khác biệt giữa sudo, su, visudo, chroot và gksu là gì?


Câu trả lời:


24
  • chrootlà một cách để vào một thư mục và 'giả mạo' thư mục đó /với bất kỳ thứ gì được thực hiện bên trong. Điều này cho phép bạn chạy các tệp thực thi trên bản cài đặt Ubuntu không khởi động bằng cách cài đặt nó ở nơi nào khác ngoài /và sử dụng /bin/bash(phần bên trong cài đặt) để nhận lời nhắc thiết bị đầu cuối.

  • sudo- Cho phép một số tài khoản xác thực để chạy chương trình với quyền root hoặc người dùng khác. Một số chương trình có thể không cần mật khẩu như được định nghĩa trong sudoerstệp. Yêu cầu có được phép hay không phụ thuộc vào người dùng (và nhóm) đang chạy sudovà lệnh sẽ được chạy, như được định nghĩa trong sudoers.

  • su- Cũng là một cách nâng cao, nhưng có sự khác biệt khi nó thực hiện đăng nhập tương tác đầy đủ dưới dạng root (hoặc người dùng khác) và đưa ra dấu nhắc bash trừ khi được chỉ định khác với các đối số. Nó sử dụng thông tin xác thực của người dùng đích làm xác thực.

  • visudo- Chỉnh sửa sudoerstập tin. Điều này sử dụng một tệp thực thi đặc biệt để kiểm tra cú pháp của tệp để đảm bảo bạn không bị khóa sudodo sudoerstệp bị hỏng . Nếu bạn cố lưu cấu hình không hợp lệ, nó sẽ dừng bạn và đưa bạn trở lại trình chỉnh sửa để sửa nó.

  • gksudohoặcgksu giống như sudo ngoại trừ nó là đồ họa và viết lại một số đường dẫn để các chương trình đồ họa không gây ra vấn đề về quyền trên hồ sơ của người dùng, đặc biệt là với ~/.Xauthority.


1
Để chính xác susudocho phép thực thi các quy trình như một người dùng khác , nó không phải là root. suluôn có thể được sử dụng để chuyển sang bất kỳ người dùng nào khác (xác thực bằng thông tin đăng nhập của người dùng này). Trong khi sudocó thể được cấu hình đặc biệt để cho phép thực thi các chương trình cụ thể trong ngữ cảnh người dùng cụ thể bởi người dùng cụ thể. Hầu hết thường xuyên mặc dù cả hai được sử dụng để đạt được quyền root.
Paul Hänsch

44

sudo:

Sudo (superuser do) cho phép quản trị viên hệ thống cung cấp cho một số người dùng (hoặc nhóm người dùng) khả năng chạy một số (hoặc tất cả) các lệnh dưới dạng root trong khi ghi nhật ký tất cả các lệnh và đối số. Sudo hoạt động trên cơ sở mỗi lệnh.

Nó không phải là một sự thay thế cho vỏ.

Các tính năng bao gồm: khả năng hạn chế các lệnh mà người dùng có thể chạy trên cơ sở từng máy chủ, ghi nhật ký nhiều lệnh của từng lệnh (cung cấp một bản kiểm tra rõ ràng về việc ai đã làm gì), thời gian chờ cấu hình của lệnh sudo và khả năng sử dụng cùng một tệp cấu hình (sudoers) trên nhiều máy khác nhau.

nguồn

thị giác

visudo là một tiện ích dòng lệnh cho phép chỉnh sửa /etc/sudoerstệp một cách an toàn. Nó mở /etc/sudoers, sử dụng giao diện của trình soạn thảo vi theo mặc định (mặc dù điều này có thể được thay đổi bằng cách đặt biến môi trường EDITOR của shell thành trình soạn thảo văn bản khác), ngăn chặn nhiều chỉnh sửa đồng thời với khóa, thực hiện kiểm tra vệ sinh và kiểm tra lỗi phân tích.

nguồn

SU

Lệnh su, còn được gọi là người dùng thay thế, siêu người dùng hoặc người dùng chuyển đổi, cho phép người vận hành máy tính thay đổi tài khoản người dùng hiện tại được liên kết với bảng điều khiển ảo đang chạy.

Theo mặc định và không có bất kỳ đối số dòng lệnh nào khác, điều này sẽ nâng người dùng hiện tại lên siêu người dùng của hệ thống cục bộ.

Khi chạy từ dòng lệnh, su sẽ hỏi mật khẩu của người dùng đích và nếu được xác thực, cấp cho người vận hành quyền truy cập vào tài khoản đó và các tệp và thư mục mà tài khoản được phép truy cập.

Ngoài ra, người ta có thể chuyển sang một người dùng khác không phải là siêu người dùng

nguồn

nguồn gốc

root là tên người dùng hoặc tài khoản mà theo mặc định có quyền truy cập vào tất cả các lệnh và tệp trên Linux hoặc hệ điều hành giống Unix khác. Nó cũng được gọi là tài khoản root, người dùng root và siêu người dùng.

Từ gốc cũng có một số ý nghĩa bổ sung, liên quan khi được sử dụng như một phần của các thuật ngữ khác.

Một trong số đó là thư mục gốc, là thư mục cấp cao nhất trên hệ thống. Đó là, đó là thư mục chứa tất cả các thư mục khác, bao gồm các thư mục con của chúng và các tệp nằm trong đó. Thư mục gốc được chỉ định bởi dấu gạch chéo ( /).

Một cái khác là /root(phát âm là root slash), đó là thư mục gốc của người dùng root.

Ngoài ra, nó có thể đề cập đến root người dùng là quản trị viên của hệ thống với đầy đủ các đặc quyền.

nguồn

chroot

Chroot là một hoạt động thay đổi thư mục gốc rõ ràng cho quy trình đang chạy hiện tại và các phần tử con của nó. ví dụ nếu bạn chroot /mnt/chroot-testthì thư mục /mnt/chroot-testsẽ là gốc ảo mà bạn có thể tham khảo /.

nguồn

Công dụng của chroots

Sau đây là một số cách sử dụng chroots:

  1. Ứng dụng không an toàn và không ổn định

  2. Chạy các ứng dụng 32 bit trên hệ thống 64 bit

  3. Kiểm tra các gói mới trước khi cài đặt chúng trên hệ thống sản xuất

  4. Chạy các phiên bản ứng dụng cũ hơn trên các phiên bản Ubuntu hiện đại hơn

  5. Xây dựng các gói mới, cho phép kiểm soát cẩn thận các gói phụ thuộc được cài đặt

nguồn và thêm thông tin về chroot


1
Hầu như khó hiểu, trên Ubuntu, visudo sử dụng nano. Tôi tìm thấy một cách dễ dàng để nhớ đó là 'su' = switch user (sang root - vâng, bạn cũng có thể sử dụng nó để chuyển sang người dùng khác), 'sudo' = chuyển người dùng sang root và làm, và chroot là ' thay đổi gốc '. Không hoàn toàn chính xác nhưng đủ gần để nhớ.
Journeyman Geek

1
@JourneymanGeek Một chính xác hơn và, tôi nghĩ rằng, cũng giống như dễ dàng mở rộng của sumneumonic đến sudolà để nói rằng sudocó nghĩa là "Switched tài DO" (tức là, làm như người dùng chuyển) hoặc "superuser DO" (tức là, làm như superuser). Điều này sau đó làm cho sudoerssự kết hợp tao nhã (nghĩa là "Người dùng đã chuyển đổi" chứ không chỉ là "(Chuyển đổi người dùng và DO)"). Lý do các biến thể này chính xác hơn là sudocho phép ai đó thực hiện một hành động như một người dùng thay thế, nhưng không nhất thiết phải để họ người dùng thay thế nói chung (tùy thuộc vào nội dung của /etc/sudoers).
Eliah Kagan

@maythux: Đó chỉ là một ý nghĩa của chroot . (Đừng chỉ hỏi Wikipedia.) Nó thường có nghĩa là một hệ thống con an toàn (và bị khóa), chạy trong Unix / Linux, chỉ cho phép sử dụng một tập hợp nhỏ các tệp thực thi (hoặc dịch vụ).
david6

5

SU kết nối bạn với quyền root.

Thiết bị đầu cuối sẽ vẫn là root cho phiên.

Với sudo (superuser do), bạn có thể thực hiện các thao tác với quyền root trong khi được kết nối như một người dùng thông 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.