Lưu ý: Tôi đang trả lời 1. , vì Ignacio đã trả lời 2 ..
Trong sudomục sau :
superadm ALL=(ALL) ALL
có bốn lĩnh vực:
- Người đầu tiên chỉ định người dùng sẽ được cấp đặc quyền cho một số lệnh.
- Cái thứ hai hiếm khi được sử dụng. Đây là danh sách các tên máy chủ lưu trữ sudo này sẽ có hiệu lực. Trên các thiết lập tiêu chuẩn, chỉ có một máy chủ lưu trữ có liên quan (localhost), vì vậy trường này thường được để lại là
ALL.
- Trường thứ tư là danh sách các lệnh
superadmsẽ có thể chạy với các đặc quyền nâng cao. ALLcó nghĩa là tất cả các lệnh. Mặt khác, sử dụng danh sách các lệnh được phân tách bằng dấu phẩy.
- Trường thứ ba (trường được viết
(…)là tùy chọn) chỉ định người dùng (và nhóm) nào mà superadmngười dùng sẽ có thể chạy các lệnh sau dưới dạng. ALLcó nghĩa là họ có thể chọn bất cứ điều gì (không bị hạn chế). Nó lĩnh vực này được bỏ qua, nó có nghĩa tương tự như (root).
Thí dụ:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
Ở đây, alanđược phép chạy hai lệnh /bin/lsvà /bin/killdưới dạng root(hoặc bin), có thể với các đặc quyền bổ sung operatorhoặc systemnhóm.
Vì vậy, alancó thể chọn chạy lsnhư binngười dùng và với operatorcác đặc quyền nhóm như thế này:
sudo -u bin -g operator /bin/ls /whatever/directory
Nếu -uđược bỏ qua, nó giống như -u root. Nếu -gđược bỏ qua, không có đặc quyền nhóm bổ sung được cấp.