เพิ่มตัวเองใน / etc / sudoers แต่ sudo ยังขอรหัสผ่าน


1

นี่เป็นของฉัน /etc/sudoers แก้ไขไฟล์ด้วย visudo แต่ฉันยังขอให้ป้อนรหัสผ่านเมื่อใช้ sudo

root ALL=(ALL) ALL
%admin  ALL=(ALL) NOPASSWD:ALL
petruza  ALL=(ALL) ALL
petruza  ALL=(ALL) NOPASSWD:ALL

## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL

ฉันมีการทำงานนี้ในการติดตั้งระบบปฏิบัติการก่อนหน้า แต่ตอนนี้มันไม่ทำงาน

ความต้องการหลักของฉันคือการดำเนินการโดยอัตโนมัติ xampp เมื่อเริ่มต้นและไม่ได้ขอรหัสผ่าน


3
นั่นไม่ใช่ความคิดที่ดีเลยที่จะเปิดช่องโหว่ขนาดใหญ่! พิจารณาเพียงแค่อนุญาตให้แอปแต่ละตัว (รูเล็กกว่า) เวอร์ชัน Mac OS ใดและคุณแก้ไขอย่างไร /etc/sudoersกับ visudo?
user3439894

1
การอนุญาตที่ให้ไว้ในไฟล์ sudoers ของคุณเสร็จสิ้นลงมากเกินไป! คุณกำลังพูดถึง xampp ใด การเริ่มต้นอัตโนมัติมักจะสามารถทำได้ด้วย LaunchAgent โดยไม่มีข้อ จำกัด ใด ๆ ใน sudoers!
klanomath

@klanomath ตกลง! กรุณาบอกฉันว่า!
Petruza

@ user3439894 ฉันจะอนุญาต xampp ทีละรายการได้อย่างไร ใช่ฉันแก้ไขด้วย visudo
Petruza

คำตอบ:


3

ไม่มีการแก้ไขไฟล์ sudoers ของคุณหากคุณเริ่ม xampp ด้วย launch daemon:

  1. สร้างไฟล์ org.xampp.startup.plist ใน / Library / LaunchDaemons ด้วย sudo touch/nano ... และเนื้อหาต่อไปนี้:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
            <key>Label</key>
            <string>org.xampp.startup</string>
            <key>ProgramArguments</key>
            <array>
                    <string>/bin/bash</string>
                    <string>/Applications/XAMPP/xamppfiles/xampp</string>
                    <string>start</string>
            </array>
            <key>RunAtLoad</key>
            <true/>
            <key>StandardErrorPath</key>
            <string>/tmp/org.xampp.startup.stderr</string>
            <key>StandardOutPath</key>
            <string>/tmp/org.xampp.startup.stdout</string>
    </dict>
    </plist>
    

    หากคุณติดตั้ง XAMPP ที่อื่นโปรดแก้ไข <string>/Applications/XAMPP/xamppfiles/xampp</string> ตาม

  2. chown / chmod ไฟล์:

    sudo chown root:wheel /Library/LaunchDaemons/org.xampp.startup.plist
    sudo chmod 644 /Library/LaunchDaemons/org.xampp.startup.plist
    
  3. โหลด daemon ด้วย:

    sudo launchctl load /Library/LaunchDaemons/org.xampp.startup.plist
    
  4. หากทุกอย่างทำงานได้ดีคุณอาจลบส่วนต่อไปนี้ของ plist:

            <key>StandardErrorPath</key>
            <string>/tmp/org.xampp.startup.stderr</string>
            <key>StandardOutPath</key>
            <string>/tmp/org.xampp.startup.stdout</string>
    
  5. กู้คืนไฟล์ sudoers เริ่มต้นด้วย visudo:

    ...
    root ALL=(ALL) ALL
    %admin  ALL=(ALL) ALL
    
    ## Uncomment to allow members of group wheel to execute any command
    #%wheel ALL=(ALL) ALL
    
    ## Same thing without a password
    #%wheel ALL=(ALL) NOPASSWD: ALL
    ...
    

ขอบคุณนี้ใช้งานได้ดี แต่เริ่มต้น apache เท่านั้น MySQL จะไม่ทำ ฉันเพิ่ม Launch Daemon อีกอันด้วย xampp startmysql แต่จะไม่ทำงานเช่นกัน และไฟล์ stdout และ stderr ไม่มีคำใบ้เกี่ยวกับเรื่องนี้
Petruza
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.