Lưu ý: Tôi đang trả lời 1. , vì Ignacio đã trả lời 2 ..
Trong sudo
mụ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
superadm
sẽ có thể chạy với các đặc quyền nâng cao. ALL
có 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à superadm
người dùng sẽ có thể chạy các lệnh sau dưới dạng. ALL
có 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/ls
và /bin/kill
dưới dạng root
(hoặc bin
), có thể với các đặc quyền bổ sung operator
hoặc system
nhóm.
Vì vậy, alan
có thể chọn chạy ls
như bin
người dùng và với operator
cá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.