Tôi đang cố gắng hiểu sự khác biệt sau đây mà tôi đã quan sát thấy khi chạy các lệnh bằng sudo và su. Tôi đã đơn giản hóa nó thành dạng đơn giản nhất.
Hãy xem xét hai lệnh sau:
su - myuser -c "ngủ 600s &"
sudo -u myuser ngủ 600s &
Khi xem xét với psax | grep sudo
, lệnh su chỉ sinh ra một quy trình cho myuser. Trong khi đó, lệnh sudo sinh ra hai quy trình: một với quyền root bằng lệnh sudo -u myuser ngủ 600s &
và một là myuser với lệnh ngủ thập niên 60
Đây là sau khi chạy lệnh khác trong khoảng thời gian gia hạn Sudo tôi nghĩ là 5-15 phút khi không cần nhập lại mật khẩu. (Nếu không thì công việc sẽ bị đình chỉ ngay lập tức - điều này chỉ để nói rằng đó không phải là trường hợp của các công việc bị đình chỉ.)
Vì vậy, câu hỏi của tôi là:
- Tôi có thể trả lại sudo ngay lập tức ('hành xử' như su) để không có quá trình bổ sung nào vì root tiếp tục treo và có khả năng tiêu tốn một số bộ nhớ (dù số lượng đó có nhỏ không)? Hay đây là do thiết kế và quy trình đầu tiên trong tài khoản gốc chỉ phải ở đó cho đến khi lệnh thực sự được thực thi tồn tại?
- Gọi su theo cách này có giống với gọi sudo với tùy chọn -l/-s/-i không?
Cảm ơn bạn.
krzysztof@Alan: ~$ ⶠuname -a
Linux Alan.local 5.4.0-86-generic #97-Ubuntu SMP Thứ sáu ngày 17 tháng 9 19:19:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
krzysztof@Alan: ~$ ⶠlsb_release -a
Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 20.04.3 LTS
Phát hành: 20.04
Tên mã: tiêu cự