ฉันพยายามทำความเข้าใจความแตกต่างต่อไปนี้ที่ฉันสังเกตเห็นเมื่อเรียกใช้คำสั่งโดยใช้ sudo และ su ฉันทำให้มันเป็นรูปแบบที่เรียบง่ายที่สุดแล้ว
พิจารณาสองคำสั่งต่อไปนี้:
su - myuser -c "นอน 600 วินาที &"
sudo -u myuser นอน 600 วินาที &
เมื่อพิจารณาด้วย ป.ล. axu | grep sudo
คำสั่ง su จะสร้างหนึ่งกระบวนการสำหรับ myuser เท่านั้น ในขณะเดียวกัน คำสั่ง sudo จะสร้างกระบวนการสองกระบวนการ: กระบวนการหนึ่งเป็นรูทด้วยคำสั่ง sudo -u myuser นอน 600 วินาที &
และอีกอันหนึ่งเป็น myuser พร้อมคำสั่ง นอนอายุ 60
นี่คือหลังจากเรียกใช้คำสั่งอื่นภายในระยะเวลาผ่อนผัน sudo ของฉันคิดว่า 5-15 นาทีเมื่อไม่ต้องการรหัสผ่านอีก (มิฉะนั้นงานจะถูกระงับทันที - นี่เป็นเพียงการบอกว่าไม่ใช่สถานการณ์ของงานที่ถูกระงับ)
ดังนั้นคำถามของฉันคือ:
- ฉันสามารถสร้าง sudo return ทันที ('bebe' like su) เพื่อไม่ให้มีกระบวนการเพิ่มเติมเนื่องจากรูทค้างอยู่และอาจใช้หน่วยความจำบางส่วน (แต่จำนวนนั้นจะน้อย) ได้หรือไม่ หรือนี่คือการออกแบบและกระบวนการแรกภายใต้บัญชีรูทจะต้องอยู่ที่นั่นจนกว่าจะมีคำสั่งจริงที่กำลังดำเนินการอยู่
- การเรียก su ด้วยวิธีนี้คล้ายกับการเรียก sudo ด้วยตัวเลือก -l/-s/-i หรือไม่
ขอขอบคุณ.
krzysztof@Alan: ~$ â¶ uname -a
Linux Alan.local 5.4.0-86-generic #97-Ubuntu SMP ศุกร์ 17 ก.ย. 19:19:40 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
krzysztof@Alan: ~$ â¶ lsb_release -a
ไม่มีโมดูล LSB
รหัสผู้จัดจำหน่าย: Ubuntu
คำอธิบาย: Ubuntu 20.04.3 LTS
เผยแพร่: 20.04
ชื่อรหัส: โฟกัส