เรียกใช้ sudo จากบัญชีที่ไม่ใช่ผู้ดูแลระบบ


19

โอเคดังนั้นฉันพร้อมที่จะรับเครื่องใหม่ดังนั้นฉันจึงดูว่าฉันสามารถจัดระเบียบสิ่งต่าง ๆ ได้ดีขึ้นอย่างไร ตอนนี้ปัจจุบันฉันใช้บัญชีผู้ดูแลระบบเป็นบัญชีเข้าสู่ระบบหลักของฉัน แต่ฉันรู้ว่านั่นอาจไม่ใช่วิธีปฏิบัติที่ดีที่สุดดังนั้นฉันต้องการเปลี่ยนไปใช้บัญชีผู้ดูแลระบบและบัญชีอื่นที่ไม่ใช่ผู้ดูแลระบบในเครื่องของฉัน

อย่างไรก็ตามฉันเป็นนักพัฒนาและฉันทำงานเป็นจำนวนมากในเทอร์มินัลดังนั้นบางครั้งฉันจำเป็นต้องเรียกใช้คำสั่งผ่านทางsudoแต่แน่นอนว่าไม่ได้ทำงานในแบบที่ปกติฉันจะเรียกใช้ ( sudo fooพิมพ์รหัสผ่านบัญชีปัจจุบัน ) สิ่งที่ฉันอยากรู้คือการรู้รายละเอียดของบัญชีผู้ดูแลระบบในเครื่องของฉันเป็นไปได้ไหมที่จะเรียกใช้คำสั่งผ่านsudo(หรือคล้ายกัน) จากบัญชีที่ไม่ใช่ผู้ดูแลระบบโดยไม่ต้องลงชื่อเข้าใช้บัญชีอื่นทุกครั้ง ตัวอย่างเช่นฉันสามารถเปิดใช้งานการสนทนารหัสผ่านของผู้ดูแล


ฉันไม่แน่ใจว่าสิ่งนี้จะทำงานกับ osx ได้หรือไม่หากเห็นวิธีแก้ไขปัญหาบนระบบ linux (เช่น ubuntu) ซึ่งผู้ใช้ได้รับอนุญาตให้เรียกใช้ 'su' ผ่าน 'sudo' ด้วยวิธีนี้คุณสามารถพิมพ์ 'sudo su' ป้อนรหัสผ่านผู้ใช้ของคุณและคุณจะได้รูทเชลล์ ฉันรักโซลูชันนี้เพราะไม่จำเป็นต้องมีบัญชีผู้ดูแลระบบและรหัสผ่านที่แยกจากกัน
weberik

ฉันคิดว่ามันควรค่าแก่การกล่าวถึงว่าในระบบปฏิบัติการ UNIX เช่นถ้าคุณเป็นผู้ดูแลระบบก็คงจะดีถ้าคุณใช้งานบัญชี sudoer การเทียบเท่าของผู้ดูแลระบบ Windows-Xp-esque ตลอดเวลาจะถูกบันทึกไว้ในราก
Linuxios

คำตอบ:


25

ดูเหมือนว่าคุณสามารถใช้คำสั่งSUเพื่อเปลี่ยนไปใช้ผู้ใช้อื่นในเทอร์มินัล เมื่อคุณเปลี่ยนเป็นผู้ใช้ผู้ดูแลระบบคุณสามารถใช้คำสั่ง sudo ควบคู่กับรหัสผ่านของบัญชีผู้ดูแลระบบ

ตัวอย่างเช่นเมื่อฉันอยู่ที่หนึ่งใน Mac ผู้ใช้ปลายทางของฉันและฉันต้องการเรียกใช้บางอย่างด้วยสิทธิ์ยกระดับ (chown เป็นต้น) โดยไม่ต้องออกจากระบบและเข้าสู่บัญชีผู้ดูแลระบบ (ladmin) ฉันจะใช้สิ่งนี้ (เป็นตัวหนา):

Mr-Rabbits-Mac: ~ notadminuser $ su ladmin

นี่จะเป็นการแจ้งรหัสผ่านของบัญชี ladmin เมื่อป้อนแล้วคุณจะเห็นพรอมต์คำสั่ง bash จากที่นี่ฉันสามารถเรียกใช้คำสั่ง sudo ใด ๆ ที่ต้องการป้อนรหัสผ่านของ ladmin ตามต้องการ ...

bash-3.2 $ sudo chown user2 / บาง / โฟลเดอร์

สิ่งนี้จะรันคำสั่ง chown โดยใช้ผู้ใช้ ladmin ที่เข้าสู่ระบบในขณะนี้และขอรหัสผ่านของบัญชี ladmin เมื่อเสร็จแล้วคุณสามารถพิมพ์exitเพื่อกลับไปที่พรอมต์ของผู้ใช้ที่เข้าสู่ระบบ

สกรีนช็อตของกระบวนการที่คล้ายกันใช้ sudo เพื่อรันคำสั่ง ls เท่านั้น (ตัวอย่างเช่น) ป้อนคำอธิบายรูปภาพที่นี่


1
Aha! ดูเหมือนว่าสิ่งที่ฉันต้องการขอบคุณ! ไม่จำเป็นต้องเพิ่มไปยังไฟล์ sudoers ฉันมีความรู้สึกว่ามีวิธีที่จะทำเพียงแค่ไม่สามารถทำให้ชีวิตของฉันคิดว่ามันขอบคุณสำหรับคำตอบที่ดี!
Haravikk

4

ในเทอร์มินัลชนิดloginช่องว่างyour admin nameและกดส่งคืน จากนั้นพิมพ์รหัสผ่านผู้ดูแลของคุณกดปุ่มย้อนกลับและคุณเข้าสู่ระบบในฐานะผู้ดูแลระบบที่สามารถออกคำสั่ง sudo โดยไม่มีการกำหนดค่าเพิ่มเติมหรือไฟล์ที่จะเปลี่ยนแปลง


4

เพิ่มชื่อผู้ใช้ที่มีอยู่ลงในsudoersไฟล์และสิ่งที่คุณต้องทำคือใช้visudoคำสั่งและเพิ่มบรรทัดดังนี้:

ข้อกำหนดสิทธิ์ของผู้ใช้

root ALL = (ALL) ALL

<randomuser> ALL = (ALL) ALL

% ผู้ดูแลระบบทั้งหมด = (ทั้งหมด) ทั้งหมด

หรืออะไรก็ตามที่คุณต้องการให้ตัวเอง จากนั้นคุณสามารถวิ่งsudo whateverไปที่หัวใจของคุณ นั่นคือ/etc/sudoersวิธีที่


4
-1 ไม่เคยแก้ไข/etc/sudoersด้วยตัวเอง visudoใช้
Max Ried

-4

ไปที่ Directory Utility ปลดล็อกจากนั้นจากตัวเลือกเมนู Edit เลือก "Enable Root User" พิมพ์รหัสผ่านที่ไม่ซ้ำสำหรับบัญชีรูทแล้วป้อนอีกครั้งเพื่อตรวจสอบ ตอนนี้ด้วยสิ่งที่ทำจากบัญชีใด ๆ คุณสามารถเปิด Terminal.app จากคุณสามารถเรียกใช้ "เข้าสู่ระบบ" และป้อนรากที่เข้าสู่ระบบแล้วใส่รหัสผ่านรูทที่คุณเพิ่งตั้งค่า คุณควรจะไปดี! ;)


9
ไม่จำเป็นต้องเปิดใช้งานผู้ใช้รูทสำหรับสิ่งนี้
Édouard

ดังนั้นฉันสามารถไปที่ Mac ที่บู๊ตแล้วเปิด Terminal.app และป้อนคำสั่งเข้าสู่ระบบ ป้อนรูทแล้วรหัสผ่านคืออะไร โปรดให้ความกระจ่างแก่ฉัน: /
แอนดรูว์คุณ

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