เรียกใช้สคริปต์ในฐานะผู้ใช้อื่นจากรูท [ปิด]


11

จากผู้ใช้รูทฉันจะให้สิทธิ์แก่ผู้ใช้รายอื่นเพื่อรันไฟล์ /root/script.sh ได้อย่างไร?

แนวคิดคือการเรียกใช้สคริปต์เช่น sudo -u user1 /root/script.sh


1
คำถามไม่ชัดเจนอย่างสมบูรณ์: "คุณเป็นรูทและต้องการเรียกใช้สคริปต์ในฐานะผู้ใช้ 1" หรือ "คุณเป็นผู้ใช้ 1 และต้องการเรียกใช้สคริปต์ในฐานะรูท"? หากกรณีแรกเป็นปัญหาอะไรกับsudoคำสั่งที่คุณเขียน?
michas

ตรวจสอบsu(1)
vonbrand

คำตอบ:


11

ฉันต้องบอกว่าฉันไม่เคยชอบsudo(โดยเฉพาะการกำหนดค่า) ธรรมดาเก่าsu:

su -c 'command' - user

ดำเนินการจากรูทจะไม่พร้อมท์รหัสผ่าน


0

ผู้ใช้จะต้องมี

  1. ดำเนินการอนุญาตสำหรับเส้นทางไดเรกทอรีทั้งหมด (ที่นี่/rootเท่านั้น)

  2. ดำเนินการอนุญาตสำหรับไฟล์

  3. อ่านสิทธิ์สำหรับไฟล์

มันอาจเป็นความคิดที่ดีที่จะปล่อยให้/rootไม่มีใครแตะต้องและสร้าง (หรือใช้) ไดเรกทอรีที่แตกต่างกันเพื่อจุดประสงค์นี้ (เช่น/usr/local/bin) คุณสามารถสร้างuser1ผู้ใช้คนเดียวที่ได้รับอนุญาตให้เรียกใช้สคริปต์โดยทำให้เป็นเจ้าของไฟล์หรือปล่อยให้rootเป็นเจ้าของและกลุ่มตั้งค่าสิทธิ์การเข้าถึงแบบง่าย ( chmod) ไปที่770และเพิ่มuser1ด้วย ACL ( setfacl)


0

หากสคริปต์ของคุณอยู่ในรูต dir

$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar  5 20:14 /root

user1 สามารถเป็นได้ทั้งราก

/etc/sudoersรายการของคุณจะมีลักษณะเช่น

Cmnd_Alias SCRIPT=/root/script.sh

# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT

ปกติแล้วคุณจะแก้ไขไฟล์ด้วย visudo

จากนั้นคุณไม่จำเป็นต้องใส่คำสั่ง-u rootของคุณsudo

%หมายถึงกลุ่มผู้ใช้ เมื่อคุณละทิ้งมันจะมีเพียงผู้ใช้เท่านั้นที่ได้รับอนุญาตให้ดำเนินการคำสั่ง หากคุณต้องการให้กลุ่มผู้ใช้เรียกใช้งานจากนั้นปล่อยให้เป็นเช่นนั้น

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