Computer >> Máy Tính >  >> Điện thoại thông minh >> Linux

Giới thiệu về tệp cấu hình và lệnh sudo

Hướng dẫn này sẽ giải thích lệnh sudo là gì, cách sử dụng nó trong Linux và cách chỉnh sửa tệp cấu hình của nó.

Người dùng Ubuntu Linux có thể quen với việc sử dụng lệnh “sudo” trong Linux. Đây là một tính năng rất hữu ích trong Linux cho phép quản trị viên của máy Linux cấp đặc quyền "root" cho một người dùng hoặc một nhóm người dùng cụ thể. Nó cũng có thể được cấu hình để đặc quyền này được giới hạn cho một hoặc nhiều lệnh. Ví dụ, nhóm Ubuntu đã quyết định chặn người dùng root đăng nhập theo mặc định và thay vào đó cho phép người dùng sử dụng sudo để thực hiện các tác vụ quản trị. Vì vậy, nếu bạn đang sử dụng Ubuntu Linux, các đặc quyền sudo đã được thiết lập để bạn có đầy đủ các đặc quyền "root". Chúng ta hãy xem xét kỹ hơn cách thiết lập và định cấu hình các đặc quyền sudo trên máy của bạn. Trước khi tiếp tục, xin lưu ý rằng bạn không nên thử các thao tác sau trên máy chủ sản xuất. Vui lòng thử các ví dụ trong hướng dẫn này trên máy thử nghiệm và làm quen với sudo trước khi bạn dùng thử trên máy chủ sản xuất. sudo là một công cụ rất mạnh và phải được sử dụng hết sức thận trọng.

Theo hiểu biết của tôi, gói “sudo” đi kèm với tất cả các bản phân phối Linux. Vì vậy, tôi sẽ bỏ qua cài đặt và chuyển thẳng đến cấu hình. Đối với hướng dẫn này, tôi sẽ sử dụng máy Red Hat Linux. Đăng nhập vào máy Linux của bạn với tư cách là người chủ và chạy lệnh sau trên dòng lệnh:

# visudo

Lệnh trên sẽ mở cấu hình “sudo” tại / etc / sudoers , sử dụng trình chỉnh sửa mặc định trên máy của bạn, đó là Vim trên máy của tôi. Cuộn xuống phần mà bạn thấy văn bản sau:

root ALL =(TẤT CẢ) TẤT CẢ

Cú pháp cấu hình sudo sẽ xảy ra như thế này. Trước tiên, bạn xác định ‘người dùng’ mà bạn muốn thiết lập sudo. Sau đó đến 'tên máy chủ' nơi lệnh được phép chạy. Đây có thể là một tên máy chủ cụ thể hoặc “TẤT CẢ” như trong ví dụ trên. Và cuối cùng là "lệnh" mà bạn muốn cấp cho đặc quyền quản trị "người dùng".

Quay lại cấu hình. Trong Vim, cuộn xuống dòng hiển thị ở trên và nhấn vào chữ cái o trên bàn phím của bạn để thêm một dòng mới. Bây giờ, hãy thêm văn bản sau, thay thế cho calvin với tên người dùng của riêng bạn:

calvin ALL =(TẤT CẢ) TẤT CẢ

Lưu và thoát tệp bằng tổ hợp phím sau:

ESC:wq

Nhấn Quay lại (enter) để áp dụng các hướng dẫn này. Hiện chúng tôi đã cấp cho người dùng ‘calvin’ tất cả các đặc quyền quản trị bằng cách sử dụng sudo. Mở cửa sổ đầu cuối mới và đăng nhập với tư cách là người dùng mà bạn đã cấp đặc quyền sudo. Hãy kiểm tra xem các quyền mới đã được thiết lập chính xác hay chưa bằng cách khởi động lại máy chủ web Apache với tư cách người dùng ‘calvin’:

# sudo /etc/init.d/httpd khởi động lại Mật khẩu
:
Đang dừng httpd:[OK]
Đang bắt đầu httpd:[OK]

Bây giờ hệ thống sẽ nhắc bạn nhập mật khẩu. Nhập mật khẩu cho tên người dùng của bạn. Và Voila! Máy chủ web Apache bây giờ sẽ khởi động lại. Bạn có thể sử dụng nó cho bất kỳ tác vụ quản trị nào khác. Việc cấp các đặc quyền hoàn chỉnh cho người dùng có thể không phải lúc nào cũng là ý tưởng tốt nhất. Vì vậy, bạn có thể giới hạn người dùng trong một vài lệnh có đặc quyền quản trị. Giả sử bạn muốn người dùng ‘calvin’ chỉ được phép khởi động lại máy chủ web Apache. Mở tệp cấu hình sudo bằng visudo lệnh và chỉnh sửa dòng bạn đã nhập trước đó để trông giống như sau:

calvin ALL =(TẤT CẢ) /etc/init.d/httpd khởi động lại

Lưu và thoát khỏi tệp. Đăng nhập vào thiết bị đầu cuối với tư cách là người dùng ‘calvin’. Bây giờ hãy thử khởi động lại Apache bằng sudo:

# sudo /etc/init.d/httpd khởi động lại Mật khẩu
:
Đang dừng httpd:[OK]
Đang bắt đầu httpd:[OK]

Tuyệt quá. Nó hoạt động. Bây giờ, hãy thử dừng máy chủ web:

# sudo /etc/init.d/httpd dừng Mật khẩu
:
Xin lỗi, người dùng calvin không được phép thực thi ‘/etc/init.d/httpd stop’ với tư cách là người chủ trên dấu phẩy.

Vì vậy, như bạn có thể thấy, người dùng ‘calvin’ chỉ có thể làm những gì chúng tôi cho phép anh ta làm, không có gì hơn. Bạn có thể thêm nhiều lệnh trong sudoers tệp được phân tách bằng dấu phẩy. Vì vậy, nếu bạn muốn cho phép ‘calvin’, quyền dừng và khởi động lại máy chủ web, cấu hình của bạn sẽ có dạng như sau:

calvin ALL =(TẤT CẢ) /etc/init.d/httpd khởi động lại, / etc / init.d / httpd dừng

Bây giờ, hãy thử dừng máy chủ web và nó sẽ hoạt động:

# sudo /etc/init.d/httpd dừng Mật khẩu
:
Đang dừng httpd:[OK]

Một tính năng khác của sudo khá hữu ích, đặc biệt nếu bạn cần thực hiện tác vụ quản trị bằng cách sử dụng tập lệnh shell, đó là đặt đặc quyền sudo mà không được nhắc nhập mật khẩu. Hãy nhớ rằng có thể không nên thực hiện việc này trên máy sản xuất sử dụng tên người dùng được chia sẻ, vì nếu mật khẩu cho tên người dùng của bạn rơi vào tay kẻ xấu, nó có thể gặp rắc rối về chính tả. Vì vậy, hãy sử dụng tính năng này một cách thận trọng.

Mở sudoers và chỉnh sửa dòng bạn đã nhập trước đó để trông giống như sau:

calvin ALL =(TẤT CẢ) /etc/init.d/httpd khởi động lại NOPASSWD:TẤT CẢ

Phần cuối cùng của cấu hình hướng dẫn sudo không nhắc hoặc mong đợi một mật khẩu và cho phép người dùng thực thi lệnh được gán cho nó với các đặc quyền quản trị. Lưu tệp và thoát khỏi trình soạn thảo văn bản của bạn và thử khởi động lại Apache:

# sudo /etc/init.d/httpd khởi động lại
Đang dừng httpd:[OK]
Đang bắt đầu httpd:[OK]

Có nhiều tùy chỉnh hơn có thể được thực hiện đối với tệp cấu hình sudo. Chúng ta vừa mới xem xét một phân đoạn nhỏ của nó. Tuy nhiên, điều này phải cung cấp cho bạn một khởi đầu. Một lần nữa, vui lòng sử dụng nó một cách thận trọng.