ฉันเพิ่งตั้งค่าทั้งระบบ Fedora 28 และ Ubuntu 18.04 และต้องการกำหนดค่าบัญชีผู้ใช้หลักของฉันทั้งสองเพื่อให้ฉันสามารถเรียกใช้sudo
คำสั่งโดยไม่ต้องใส่รหัสผ่าน
ฉันจะทำสิ่งนี้ในระบบที่เกี่ยวข้องได้อย่างไร
ฉันเพิ่งตั้งค่าทั้งระบบ Fedora 28 และ Ubuntu 18.04 และต้องการกำหนดค่าบัญชีผู้ใช้หลักของฉันทั้งสองเพื่อให้ฉันสามารถเรียกใช้sudo
คำสั่งโดยไม่ต้องใส่รหัสผ่าน
ฉันจะทำสิ่งนี้ในระบบที่เกี่ยวข้องได้อย่างไร
คำตอบ:
มันค่อนข้างเล็กน้อยถ้าคุณใช้ประโยชน์จากกลุ่ม Unix พิเศษที่เรียกว่าwheel
ระบบ Fedora คุณเพียงแค่ต้องทำสิ่งต่อไปนี้:
เพิ่มผู้ใช้หลักของคุณไปยังwheel
กลุ่ม
$ sudo gpasswd -a <primary account> wheel
เปิดใช้งาน NOPASSWD สำหรับ%wheel
กลุ่มใน/etc/sudoers
$ sudo visudo
จากนั้นแสดงความคิดเห็นสายนี้:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
และยกเลิกข้อคิดเห็นบรรทัดนี้:
## Same thing without a password
%wheel ALL=(ALL) NOPASSWD: ALL
บันทึกไฟล์นี้กับShift+ +ZZ
ออกจากระบบและเข้าสู่ระบบอีกครั้ง
หมายเหตุ:ขั้นตอนสุดท้ายนี้มีผลบังคับใช้เพื่อให้เดสก์ท็อปของคุณและเชลล์ระดับบนสุดใด ๆ ที่เกี่ยวข้องนั้นถูกเรียกใช้อีกครั้งโดยแสดงว่าบัญชีหลักของคุณเป็นสมาชิกของwheel
กลุ่ม Unix
%wheel
เป็นกลุ่มนั้น
ธรรมเนียมในการกระจาย Debian เช่น Debian / Ubuntu / มิ้นท์ / กาลี / Antix กลุ่มเริ่มต้นสำหรับ sudo sudo
คือดี
ดังนั้นในการเพิ่มsudo
ผู้ใช้ที่เปิดใช้งานรหัสผ่านให้กับระบบที่ใช้ Debian ขั้นตอนคือ:
ติดตั้ง sudo
ใน Debian ขึ้นอยู่กับตัวเลือกการติดตั้งคุณมักจะสิ้นสุดโดยไม่ต้องsudo
ติดตั้งตามค่าเริ่มต้น
หากsudo
ไม่ได้ติดตั้งแพ็คเกจ(เช่นคุณไม่มี/etc/sudoers
) ให้รันเป็น root:
# apt install sudo
เพิ่มผู้ใช้ไปยังกลุ่ม sudo
เพิ่มผู้ใช้ไปยังกลุ่ม sudo หากยังไม่ได้อยู่ในกลุ่ม sudo (Ubuntu และอนุพันธ์เพิ่มผู้ใช้ที่สร้างขึ้นในการติดตั้งโดยอัตโนมัติไปยังกลุ่ม sudo)
เมื่อตั้งค่าผู้ใช้ sudo คนแรกคุณต้องไปที่root
:
# gpasswd -a <primary account> sudo
เมื่อคุณมีsudo
ผู้ใช้อยู่แล้วขอแนะนำให้ใช้แนวทางปฏิบัติด้านความปลอดภัยที่ดีเพื่อตั้งค่าผู้ใช้รายอื่นในกลุ่ม sudo ผ่านผู้ใช้รายนั้น:
$ sudo gpasswd -a <primary account> sudo
แก้ไข/etc/sudoers
เพื่อเพิ่มคำสั่ง NOPASSWD
จากนั้นคุณจะแก้ไขบรรทัดเริ่มต้น/etc/sudoers
สำหรับsudo
กลุ่มด้วย:
$ sudo visudo
และเปลี่ยนจาก:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
ถึง:
# Allow members of group sudo to execute any command, no password
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
ออกจากระบบและเข้าสู่ระบบอีกครั้ง
หากเข้าสู่ระบบผู้ใช้ที่ตั้งใจไว้จะต้องออกจากระบบและลงชื่อเข้าใช้เพื่อให้การเปลี่ยนแปลงของผู้ใช้ที่อยู่ในsudo
กลุ่มมีผล
หมายเหตุ:ใน Debian กลุ่มwheel
มักจะใช้เพื่อ จำกัด ใน PAM การใช้su
งานกลุ่มแทนที่จะใช้มันสำหรับsudo
คำสั่งเช่นเดียวกับในการกระจายแบบ RedHat / SuSE
ตามเนื้อผ้าในการแจกแจงแบบ Debian สำหรับsudo
คำสั่งที่คุณใช้sudo
กลุ่ม
การแจกแจงส่วนใหญ่มีบรรทัดนี้ใน/etc/sudoers/
:
#includedir /etc/sudoers.d
ดังนั้นวิธีที่ง่ายในการเพิ่มผู้ใช้หนึ่งคนคือการสร้างไฟล์ที่เหมาะสมใน/etc/sudoers.d/
ไดเรกทอรี ปกติฉันจะตั้งชื่อให้ผู้ใช้เพิ่ม:
add_sudoer() {
if ! test -n "$1"
then echo "Usage: $0 <user>" >&2; return
fi
printf >"/etc/sudoers.d/$1" '%s ALL= NOPASSWD: ALL\n' "$1"
}
คุณอาจต้องการเพิ่มDefaults:%s !lecture, !authenticate\n
และ / หรือตัวเลือกอื่น ๆ ลงในไฟล์
wheel
คุณใช้กลุ่มอื่นแทน