Làm thế nào để cấu hình đúng tập tin sudoers, trên debian wheezy?


10

Tôi đã thấy nhiều bài viết trên blog nói rằng, nó là đủ để làm

aptitude install sudo
su root
adduser USERNAME sudo

Nhưng điều đó chỉ bảo vệ aptitude, nói cách khác:

  • aptitude install sendmailsẽ hỏi mật khẩu, bạn cần phải sudochạyaptitude

  • apt-get install sendmailsẽ không hỏi mật khẩu, không sudocần đặc quyền

  • Nếu bạn chỉnh sửa các tệp được bảo vệ, như các tệp trong etcđó sẽ không yêu cầu mật khẩu, không sudocần đặc quyền

  • Bạn có thể chạy và dừng các dịch vụ như apache, nó sẽ không hỏi mật khẩu, không sudocần đặc quyền

Làm thế nào để khắc phục điều này? Đây là tập tin sudoers của tôi:

 This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

Đây là đầu ra của sudo -l:

Matching Defaults entries for root on this host:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User root may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL : ALL) ALL

3
Sau đó su root, bạn đã đăng nhập với tư cách là rootngười dùng, vì vậy bạn có toàn quyền truy cập vào mọi thứ. Để trở lại là một người sử dụng thường xuyên, người phải sử dụng sudocho các hoạt động đặc quyền, hãy đăng xuất khỏi shell đang chạy root.
tước

Tôi là người mới trong Linux nhưng wiki wiki nói - tên người dùng addudo
AntiCZ

Câu trả lời:


16

Bạn chưa thêm bất kỳ quy tắc sudo nào, vì vậy bạn không thể sử dụng sudo cho bất cứ điều gì.

Lệnh adduser USERNAME sudothêm người dùng được chỉ định vào nhóm được gọi sudo. Một nhóm với tên đó phải tồn tại; tạo nó với addgroup sudonếu nó không. Sau khi thêm người dùng vào nhóm, người dùng phải đăng xuất và đăng nhập lại để thành viên nhóm có hiệu lực.

sudokhông phải là một tên nhóm đặc biệt. Đó là một quy ước để cho phép người dùng trong nhóm được gọi sudođể chạy các lệnh với quyền root thông qua sudotiện ích. Điều này đòi hỏi dòng sau trong sudoerstệp:

%sudo ALL = (ALL) ALL

Chạy visudođể chỉnh sửa tập tin sudoers, không bao giờ chỉnh sửa trực tiếp.

Tôi không biết tại sao bạn lại tin rằng, chỉ bảo vệ aptitude. Không có gì đặc biệt về năng khiếu. Một khi bạn đã cho phép người dùng để chạy các lệnh như là người chủ, người dùng có thể chạy sudo aptitude …hoặc sudo apt-get …hoặc sudo service …, hoặc sudoeditđể chỉnh sửa các file phải có văn bản gốc để chỉnh sửa. Nằm trong tệp sudoers không trực tiếp thay đổi các đặc quyền của người dùng của bạn, điều nó làm là nó cho phép bạn chạy sudođể chạy các lệnh dưới quyền root. Các lệnh chỉ chạy bằng root khi bạn chạy chúng sudo. Một số chương trình có thể tự động làm điều đó, đặc biệt là các chương trình GUI có giao diện người dùng chạy mà không có đặc quyền đặc biệt và chỉ có phụ trợ chạy dưới quyền root, nhưng các lệnh được thực thi dưới quyền root luôn được thực thi bởi sudo.


Ông đã chạy sudo -lnhư root. Ngay cả khi có các định nghĩa hữu ích cho người dùng, họ sẽ không được hiển thị. Do đó, dự đoán của bạn "Bạn chưa thêm bất kỳ quy tắc sudo nào" có thể sai.
Hauke ​​Laging

@HaukeLaging Tôi không hiểu bình luận của bạn. Bạn chưa thêm bất kỳ quy tắc sudo nào. Không phải là đoán: sudoerstập tin nằm trong câu hỏi.
Gilles 'SO- ngừng trở thành ác quỷ'

Tôi đã gần chán nản, nhận ra rằng tôi quá tập trung vào sudo -lđầu ra nhưng may mắn thay ... Có vẻ như nội dung câu hỏi không thể là toàn bộ tệp vì nó không phù hợp với đầu ra. Ít nhất sudophiên bản của tôi không yêu cầu "Người dùng root có thể chạy các lệnh sau" sudoersmà không có bất kỳ định nghĩa lệnh nào (như câu hỏi trong câu hỏi).
Hauke ​​Laging

@HaukeLaging Bạn nói đúng, tôi đã kiểm tra một cách khò khè và thực sự sudo -lchỉ nói rằng Root User không được phép chạy sudo trên darkstar. Và sudonhóm nằm trong tệp sudoers theo mặc định trên wheezy. Các mục cần thiết có thể đã được chuyển vào một tập tin dưới /etc/sudoers.d. Trong mọi trường hợp, bất kể tập tin sudoers chứa gì, nó sẽ không làm những gì Fischer giả định.
Gilles 'SO- ngừng trở thành ác quỷ'

4

Điều có thể đã xảy ra là: sudo đang lưu mật khẩu của bạn. Vì vậy, sau khi bạn hoàn thành chính xác việc thực hiện sudo trên hệ thống của mình, bạn phải nhập mật khẩu cho lệnh đầu tiên và sau đó, nó được lưu trong bộ nhớ cache một thời gian. Nếu điều đó xảy ra và bạn chạy trình tự

sudo aptitude install sendmail
sudo apt-get install sendmail

Sau đó, bạn sẽ phải cung cấp mật khẩu cho lệnh đầu tiên, nhưng không phải trên lệnh thứ hai (ít nhất là trong khi bạn vẫn còn trong thời gian chờ). Điều này có thể cảm thấy như nó chỉ bảo vệ lệnh đầu tiên, nhưng không phải là lệnh thứ hai. Không có thêm thông tin (bảng điểm vỏ hoàn chỉnh), không có cách nào để nói ...


Đúng. Cái này không loại trừ cái kia. Câu trả lời đúng sẽ giải thích chính xác cách thiết lập sudo chính xác và theo nghĩa đó, nó trả lời câu hỏi. Nó không giải thích tại sao, theo lời của câu hỏi, "điều đó chỉ bảo vệ năng khiếu". Gilles tự viết: "Tôi không biết tại sao bạn lại tin rằng, điều đó chỉ bảo vệ năng khiếu". Như tôi đã nói, để thực sự hiểu hiện tượng đó, cần thêm thông tin. Tôi nghĩ rằng một downvote là một chút khắc nghiệt cho rằng câu trả lời của tôi là thực sự chính xác, giải quyết câu hỏi ban đầu và lấp đầy một khoảng trống trong câu trả lời hiện có.
Josef

Ý kiến ​​hay, đây có thể là nguồn gốc của sự nhầm lẫn của Fischer.
Gilles 'SO- ngừng trở thành ác quỷ'

0

Nếu bạn làm theo câu trả lời trên, bạn đang đi đúng hướng. Ít nhất là trong Debian Jessie của tôi, tôi đã tạo một liên kết mềm đến / usr / bin của lệnh trong đường dẫn / sbin. Ví dụ: / sbin / ifup, tôi đặt một liên kết mềm (ln -s) đến / usr / bin của nó và tôi có thể sử dụng nó.

Một điều quan trọng khác là đặt NOPASSWD như thế này:

User_Alias NET = goviedo
Cmnd_Alias ETH = /sbin/ifup
NET ALL = NOPASSWD:ETH
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.