อนุญาตให้แขกบางคนดำเนินการคำสั่งบางอย่าง


19

ฉันต้องการสร้างผู้ใช้ใหม่บนโฮสต์ Debian / Ubuntu บางแห่งที่สามารถอัปเดตเซิร์ฟเวอร์โดยใช้คำสั่งapt-get updateและapt-get dist-upgradeแต่ฉันไม่ต้องการให้พวกเขาเข้าถึง sudo อย่างเต็มที่เพื่อให้สามารถทำสิ่งอื่นได้ เป็นไปได้ไหม อาจมีวิธีการสร้างสคริปต์ที่ไม่สามารถแก้ไข แต่สามารถดำเนินการได้ซึ่งจะได้รับการดำเนินการในฐานะผู้ใช้รูท?


2
ดูและman sudoers sudo cat /etc/sudoers
goldilocks

ขอบคุณ @goldilocks ฉันคิดเสมอว่าไฟล์ sudoers นั้นเป็นเพียงการอนุญาตให้ผู้อื่นได้รับสิทธิ์การเข้าถึงรูตก่อน
โปรแกรม

คำตอบ:


30

Sudoและ/etc/sudoersไฟล์ไม่ได้มีไว้สำหรับให้สิทธิ์การเข้าถึงรูทแก่ผู้ใช้อย่างเต็มรูปแบบ

คุณสามารถแก้ไขไฟล์ sudoers ด้วยผู้ใช้ sudo ที่มีอยู่ด้วยคำสั่ง sudo visudo

คุณสามารถจัดกลุ่มคำสั่งที่คุณต้องการให้สิทธิ์การเข้าถึงด้านล่าง:

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get

จากนั้นคุณสามารถให้สิทธิ์ผู้ใช้เฉพาะแก่คำสั่งเหล่านั้นเช่น:

[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS

สามารถดูได้ในภาพด้านล่างป้อนคำอธิบายรูปภาพที่นี่:

ตอนนี้ถ้าคุณลองsudo apt-get updateหรือsudo apt-get dist-upgradeคำสั่งดังกล่าวจะดำเนินการโดยไม่ต้องขอรหัสผ่าน หากคุณต้องการให้ใส่รหัสผ่านให้ลบNOPASSWDบิตที่คุณให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในกลุ่มคำสั่ง

หากคุณพยายามเรียกใช้สิ่งอื่นในฐานะsudoผู้ใช้คุณจะได้รับแจ้งให้ป้อนรหัสผ่านและล้มเหลว

อ้างอิง


6
โปรดทราบว่าการให้ผู้ได้รับอนุญาตให้ทำงานapt-getหรือแม้กระทั่งเพียงapt-get upgrade, ช่วยให้พวกเขาเข้าถึงรากเต็ม ! สคริปต์การอัปเกรดจำนวนมากอนุญาตให้ผู้ใช้แบบโต้ตอบเพื่อเรียกใช้งานเชลล์เช่นเมื่อไฟล์การกำหนดค่ามีการเปลี่ยนแปลง เพื่อความปลอดภัยให้ จำกัดapt-getคำสั่งบางอย่างและบังคับให้ไม่โต้ตอบ ดูว่าปลอดภัยหรือไม่ที่ผู้ใช้ ssh ของฉันจะได้รับรหัสผ่าน sudo แบบไม่มีรหัสผ่านapt-get updateและ apt-get upgrade
Gilles 'หยุดชั่วร้าย'

ในกรณีของฉันฉันต้องวางสายหลังจาก%sudo ...
Aleksey

มีวิธีการทำเพียงแค่บรรทัดคำสั่งหรือไม่
Kamil Dziedzic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.