Nên sử dụng sudo hay chỉ cần root trong quản lý máy chủ?


8

Cách tiếp cận nào tốt hơn?

Đối với việc sử dụng máy tính để bàn, có vẻ như sudo tốt hơn kể từ:

  • Tôi có thể có một lịch sử phù hợp hơn như một người dùng bình thường
  • Không cần nhớ hai mật khẩu, điều này đặc biệt đúng khi tôi không thực hiện công việc quản trị thường xuyên.
  • Không cần phải tạo một tài khoản root bổ sung khi cài đặt.

Nhưng về quản lý máy chủ?

Trong máy chủ thường bạn đã có một tài khoản root được tạo và bạn có khả năng thực hiện các công việc quản trị thường xuyên. Vì vậy, những lợi thế của sudo dường như không còn giữ được.

Hơn nữa, thật dễ dàng để cấu hình su trên dòng lệnh trong hầu hết các bản phân phối, chỉ cần thêm người dùng vào nhóm bánh xe. (Bạn thậm chí có thể vượt qua -G wheelkhi useradding.) Do đó, cấu hình su có thể dễ dàng tự động thành các tập lệnh shell.

Nhưng đối với sudo? Trước tiên bạn cần thêm người dùng, hơn là chạy visudotương tác. Điều này là xấu vì bạn không thể tự động hóa nó thành shell script.

(Vâng, bạn có thể. Ví dụ,

echo '%wheel    ALL=(ALL)   ALL' >> /tmp/sudoers.tmp
cp /etc/sudoers /etc/sudoers.old
visudo -c -f /tmp/sudoers.tmp &&  mv /tmp/sudoers.tmp /etc/sudoers

Nhưng ít nhất nó không dễ dàng như vậy.)

Vậy ý kiến ​​của bạn là gì? Đối với một môi trường máy chủ, bạn sẽ thích, sudo hay su root?


Đây phải là một wiki, nếu không nó có khả năng bị đóng cửa vì nó quá chủ quan.
John Gardeniers

Tôi không nghĩ nó quá chủ quan. Giống như câu trả lời xuất sắc của Raphink cho thấy, trong môi trường nhiều người dùng, sudo được ưa thích hơn.
yếu

Tôi không nghĩ đó là một câu hỏi chủ quan. Nó không phải là về việc bạn thích sudo hay không, mà là nó thích nghi với việc sử dụng này hay sử dụng khác.
ℝaphink

Nhân tiện, tôi cũng hơi bất ngờ với visudo -clệnh của bạn , vì tôi tin rằng bạn cần visudo -c -fkiểm tra một tệp cụ thể.
ℝaphink

@Raphink có, bạn hoàn toàn đúng. Tôi đã chỉnh sửa câu hỏi của mình.
yếu

Câu trả lời:


16

Tài khoản root là cần thiết trên các máy chủ chắc chắn, nhưng tôi thích cấp quyền sudo, đặc biệt là khi có một số người dùng trên máy và điều này vì một số lý do:

  • Tôi không chỉ sử dụng sudo để cấp TẤT CẢ quyền cho TẤT CẢ các lệnh mà còn cấp quyền cụ thể với tư cách là người dùng cụ thể cho các lệnh cụ thể.
  • Bằng cách chỉ định người dùng cho các nhóm chức năng, tôi có thể quản lý quyền của họ với các nhóm này trong sudoers thay vì quản lý người dùng riêng lẻ.
  • Các truy cập sudo được đăng nhập auth.log theo mặc định, bao gồm cả những người dùng đã sử dụng sudo vào thời gian nào.
  • sudo cho phép quản lý cấu hình cho một số máy với một tệp.
  • mỗi người dùng giữ mật khẩu riêng của họ, vì vậy không cần phải thay đổi mật khẩu gốc khi người dùng rời đi.

Đối với việc quản lý nó với các tập lệnh, các phiên bản mới của sudo hỗ trợ các vùi, nhưng tôi thích sử dụng con rối và thiết lập các lớp nối các nội dung sudoers.

Con rối cũng có thể được liên kết với Augeas để quản lý tệp sudoers của bạn.


3
Trong thực tế, tôi đã không xem xét về một trường hợp nhiều người dùng. Bạn nói đúng, sudo rõ ràng là người chiến thắng khi có nhiều người dùng. Nhưng đối với người dùng đơn lẻ, tôi vẫn nghĩ su là đủ. PS Cảm ơn đã đề cập đến con rối. Chỉ cần không biết về công cụ dễ thương như vậy trước đây.
yếu

Nhân tiện, nếu bạn muốn xác thực tệp sudoers của mình trước khi triển khai nó với con rối, tôi đã có một chức năng xác thực trong tay để thực hiện điều đó.
ℝaphink

1
Khi sử dụng sudo, root thậm chí không cần phải có mật khẩu hợp lệ vì bạn chỉ cần dựa vào mật khẩu của người dùng. Cùng với việc không cần thay đổi mật khẩu root khi ai đó rời đi, bạn cũng có một mật khẩu ít hơn có thể đoán / phá / hack.
Shannon Nelson

@ShannonNelson Tôi tin rằng họ đang đề cập đến người dùng root và mật khẩu vì các máy chủ thuê thường được cung cấp cùng với chúng.
AJP

1

Bạn dường như đang làm mọi thứ trở nên khó khăn với chính mình (khi nói đến việc quản lý / etc / sudoers). Một đơn giản

echo '%wheel    ALL=(ALL)   ALL' >> /etc/sudoers

sẽ đủ. Tất cả visudo làm là khóa tệp chống lại các chỉnh sửa đồng thời và đảm bảo rằng tệp vẫn phân tích chính xác.


Tôi sử dụng visudo -c để kiểm tra tập tin có gì đó không đúng. .
yếu
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.