2012-06-19 49 views
49

Tôi đang cố cấp quyền truy cập sudo cho một trong những người dùng của mình. Tôi nên nhập gì vào thiết bị đầu cuối của mình?Làm cách nào để cấp quyền truy cập sudo cho người dùng Linux?

+9

Câu hỏi này rõ ràng là giúp nhiều người và bạn nên cân nhắc mở lại. – iMad

+0

Nếu bạn muốn mở lại câu hỏi, bạn nên cung cấp các chi tiết bổ sung đủ điều kiện cho nó như là hợp lệ theo các quy tắc trong trung tâm trợ giúp. –

+2

Câu hỏi này phải được chuyển đến đúng trang web thay vì sau đó đóng lại. – Matthew

Trả lời

64

Bạn cần chạy visudo và trong trình soạn thảo mà nó sẽ mở ra ghi:

igor ALL=(ALL) ALL 

dòng Đó cấp tất cả các quyền cho người sử dụng igor.

Nếu bạn muốn cho phép để chạy chỉ một số lệnh, bạn cần phải liệt kê chúng trong dòng:

igor ALL=(ALL) /bin/kill, /bin/ps 
+0

Điều gì sẽ là lý do nếu người ta thực hiện ở trên, nhưng người dùng (trong trường hợp này 'igor') vẫn không có quyền truy cập sudo đầy đủ (ví dụ: có thể phát' sudo ls' nhưng không 'sudo mount -a')? – puk

+0

@puk nó phụ thuộc vào các lệnh mà bạn đã liệt kê trong/etc/sudoers; khi bạn viết 'ALL', người dùng có thể chạy tất cả các lệnh –

55

This answer sẽ làm những gì bạn cần, mặc dù thông thường bạn không thêm tên người dùng cụ thể để sudoers. Thay vào đó, bạn có một nhóm của sudoers và chỉ thêm người dùng của bạn vào nhóm đó khi cần. Bằng cách này, bạn không cần phải sử dụng visudo nhiều lần khi cấp quyền cho người dùng là sudo.

Nếu bạn đang ở trên Ubuntu, nhóm có lẽ là hầu hết đã được thiết lập và được gọi là admin:

$ sudo cat /etc/sudoers 
# 
# This file MUST be edited with the 'visudo' command as root. 
# 

...

# Members of the admin group may gain root privileges 
%admin ALL=(ALL) ALL 

# Allow members of group sudo to execute any command 
%sudo ALL=(ALL:ALL) ALL 

# See sudoers(5) for more information on "#include" directives: 

#includedir /etc/sudoers.d 

On phân phối khác, như Arch và một số người khác, nó thường được gọi là wheel và bạn có thể cần phải thiết lập: Arch Wiki

Để cung cấp cho người dùng trong các đặc quyền đầy đủ gốc nhóm wheel khi họ đi trước một lệnh với "sudo", bỏ ghi chú dòng sau: % bánh ALL = (ALL) ALL

Cũng lưu ý rằng trên hầu hết các hệ thống visudo sẽ đọc EDITOR biến môi trường hoặc mặc định để sử dụng vi. Vì vậy, bạn có thể thử làm EDITOR=vim visudo để sử dụng vim làm trình chỉnh sửa.

Để thêm người dùng vào nhóm bạn nên chạy (như root):

# usermod -a -G groupname username 

nơi groupname là nhóm của bạn (ví dụ, admin hoặc wheel) và username là tên người dùng (ví dụ, john).

-5

Chỉnh sửa /etc/sudoers tệp theo cách thủ công hoặc sử dụng ứng dụng visudo. Hãy nhớ: Hệ thống đọc /etc/sudoers tệp từ trên xuống dưới, vì vậy bạn có thể ghi đè lên một cài đặt cụ thể bằng cách đặt cài đặt tiếp theo bên dưới. Vì vậy, để an toàn - hãy xác định cài đặt truy cập của bạn ở dưới cùng.

+7

Nếu bạn chỉnh sửa thủ công, bạn có thể làm hỏng nó và làm hỏng truy cập sudo của bạn. Không có lý do gì để không sử dụng 'visudo'. – ripper234

+0

Đồng ý với nhận xét cuối cùng. Ngoài ra, hãy xem xét thêm các lệnh làm ví dụ. – entpnerd

Các vấn đề liên quan