Sudo

Bách khoa toàn thư mở Wikipedia
Buớc tưới chuyển hướng Bước tới tìm kiếm
sudo
Phát triển bởi Todd C. Miller
Phiên bản ổn định
1.8.23 / 30 tháng 4, 2018; 4 tháng trước[1]
Được viết bằng C
Hệ điều hành tương tự Unix
Thể loại Privilege authorization
Giấy phép ISC-style[2]
Trang mạng www.sudo.ws

sudo ( /ˈsd/ or /ˈsd/[3]) là một chương trình cho các hệ điều hành tương tự Unix cho phép người dùng chạy các chưng trình với hat allows users to run programs with the đặc quyền bảo mật của người dùng khác, và mặc định là superuser. Nó ban đầu được gọi là "superuser do"[4] vì các phiên bản cũ hơn của sudo được thiết kế để chỉ chạy các lệnh như superuser. Tuy nhiên, các phiên bản sau này các phiên bản sau này đã thêm hỗ trợ cho các lệnh chạy không chỉ là superuser mà còn là những người dùng khác (bị hạn chế),  và do đó nó cũng thường được mở rộng thành "substitute user do".[5][6]  Mặc dù trường hợp thứ hai phản ánh chức năng hiện tại của nó chính xác hơn, sudo vẫn thường được gọi là "superuser do" vì nó thường được sử dụng cho các tác vụ quản trị.

Không giống như lệnh tương tự su, người dùng phải, theo mặc định, cung cấp mật khẩu  của họ để xác thực, thay vì mật khẩu của người dùng đích. Sau khi xác thực và nếu file cấu hình, thường nằm ở /etc/sudoers, cho phép người dùng truy cập, hệ thống sẽ gọi ra lệnh được yêu cầu. File cấu hình cung cấp các quyền truy cập chi tiết, bao gồm chỉ cho phép các lệnh từ thiết bị đầu cuối gọi; yêu cầu mật khẩu cho mỗi người dùng hoặc nhóm; yêu cầu nhập lại mật khẩu mỗi lần hoặc không bao giờ yêu cầu mật khẩu cho một dòng lệnh cụ thể. Nó cũng có thể được cấu hình để cho phép các đối số truyền hoặc nhiều lệnh.

Lịch sử[sửa | sửa mã nguồn]

Robert Coggeshall và Cliff Spencer đã viết hệ thống con ban đầu vào khoảng năm 1980 tại Department of Computer Science ở SUNY/Buffalo. Tính đến năm 2018 phiên bản hiện tại đang được phát triển tích cực, được duy trì bởi nhà phát triển OpenBSD Todd C. Miller và được phân phối theo giấy phép ISC-style.

Tháng 9/2009 Thomas Claburn, để đáp lại những lo ngại rằng Microsoft đã đăng ký bằng sáng chế sudo, ,[7] đặc trưng những nghi ngờ như bị thổi phồng.[8] Các xác nhận quyền sở hữu được đóng khung hẹp với một giao diện cụ thể, thay vì cho khái niệm sudo.[9]

Thiết kế[sửa | sửa mã nguồn]

Không giống lệnh su,người dùng cung cấp mật khẩu cá nhân của họ cho sudo nếu cần. Sau khi xác thực và nếu tệp cấu hình cho phép người dùng truy cập, hệ thống sẽ gọi ra lệnh được yêu cầu.Theo mặc định, mật khẩu của người dùng có thể được giữ lại thông qua thời gian gia hạn (15 phút cho mỗi pseudo terminal), cho phép người dùng thực hiện một số lệnh liên tiếp như người dùng được yêu cầu mà không phải cung cấp lại mật khẩu.

có thể được cấu hình để ghi lại mỗi lần chạy lệnh. Khi người dùng cố gắng gọi sudo mà không được liệt kê trong tệp cấu hình, một dấu hiệu ngoại lệ được trình bày cho người dùng chỉ ra rằng nỗ lực đã được ghi lại. Người dùng root sẽ được cảnh báo qua thư và một mục được ghi lại trong nhật ký hệ thống.[10]

Cấu hình[sửa | sửa mã nguồn]

File /etc/sudoers chứa danh sách người dùng hoặc nhóm người dùng có quyền thực thi một tập các lệnh trong khi có đặc quyền của người dùng root hoặc một người dùng được chỉ định khác. Chương trình có thể được cấu hình để yêu cầu mật khẩu.

Ảnh hưởng[sửa | sửa mã nguồn]

Trong một số bản phân phối, sudo đã thay thế phần lớn việc đăng nhập superuser riêng biệt cho các nhiệm vụ quản trị, đáng chú ý nhất trong một số bản phân phối Linux cũng như Mac OS X.

RBAC[sửa | sửa mã nguồn]

Cùng với SELinux, sudo có thể được sử dụng để chuyển đổi giữa các vai trò trong điều khiển truy cập dựa trên vai trò (RBAC).[11]

Công cụ và chương trình tương tự[sửa | sửa mã nguồn]

visudo là tiện ích dòng lệnh cho phép chỉnh sửa tệp cấu hình theo cách không an toàn. Nó ngăn cản nhiều chỉnh sửa đồng thời với khóa và thực hiện kiểm tra độ chính xác và cú pháp.

Chương trình runas cung cấp các tính năng tương tự trên Microsoft Windows,nhưng nó không thể vượt qua các thư mục hiện tại, các biến môi trường hoặc các dòng lệnh dài. Và trong khi nó hỗ trợ chạy một tiến trình con như một người dùng khác, nó không hỗ trợ phân cấp đơn giản. Một su thực sự và sudo cho Windows có thể vượt qua tất cả thông tin trạng thái đó được bao gồm trong Hamilton C shell.[12][13]

Giao diện đồ họa có sẵn cho sudo, đáng chú ý là kdesudo, và gksudo. Các giao diện người dùng khác không được xây dựng trực tiếp trên sudo, nhưng cung cấp các đặc quyền cao tạm thời cho mục đích quản trị tương tự như User Account Control trên Microsoft WindowsMac OS X Authorization Services.[14]

doas[15]  đã được viết để thay thế sudo trong hệ thống dựa trên OpenBSD, với các bản mới hơn vẫn đang được cung cấp dưới dạng port.

Xem thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

  1. ^ “Sudo Main Page”. News section. Truy cập ngày 30 tháng 4 năm 2018. 
  2. ^ Todd C. Miller (ngày 17 tháng 6 năm 2011). “Sudo License”. Sudo.ws. Truy cập ngày 17 tháng 11 năm 2011. 
  3. ^ “How do YOU pronounce "sudo"?”. Ars Technica. Truy cập ngày 1 tháng 6 năm 2018. 
  4. ^ “Aaron Toponce : The Meaning of 'su'. Truy cập 6 tháng 6 năm 2018. 
  5. ^ “Sudo - ArchWiki” (MediaWiki). wiki.archlinux.org. 
  6. ^ Haeder, A.; Schneiter, S. A..; Pessanha, B. G.; Stanger, J. LPI Linux Certification in a Nutshell. O'Reilly Media, 2010. p. 409. ISBN 978-0596804879.
  7. ^ Lilly, Paul. “Microsoft has Patented "sudo." Yes, the Command”. Truy cập ngày 13 tháng 11 năm 2009. 
  8. ^ Thomas, Claburn (ngày 16 tháng 11 năm 2009). “Does New Microsoft Patent Infringe On Unix Program Sudo? Some in the open source community suspicious of Microsoft's intent”. Dark Reading. Truy cập ngày 29 tháng 11 năm 2010. A patent granted to Microsoft (NSDQ: MSFT) has stirred up worry that world's largest software company wants to claim Unix's "sudo" as its own. [...] In short, suspicions about this patent are overblown. 
  9. ^ Eaton, Nick (ngày 12 tháng 11 năm 2009). “Did Microsoft just sneakily patent an open-source tool?”. seattlepi.com. Truy cập ngày 24 tháng 4 năm 2011. 
  10. ^ https://www.sudo.ws/man/1.8.14/sudoers.man.html
  11. ^ “SELinux Lockdown Part Five: SELinux RBAC”. Truy cập ngày 17 tháng 11 năm 2012. 
  12. ^ “su”. Hamilton Laboratories. Truy cập ngày 17 tháng 8 năm 2015. 
  13. ^ “Predefined aliases: sudo”. Hamilton Laboratories. Truy cập ngày 17 tháng 8 năm 2015. 
  14. ^ “Introduction to Authorization Services Programming Guide”. Developer.apple.com. Truy cập ngày 17 tháng 11 năm 2011. 
  15. ^ “doas”. 

Lỗi chú thích: Thẻ <ref> có tên “nyt080526” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “macdv4” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “ubunt5” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “grati6” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.
Lỗi chú thích: Thẻ <ref> có tên “todmil8” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.

Lỗi chú thích: Thẻ <ref> có tên “grati9” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.

Liên kết ngoài[sửa | sửa mã nguồn]