ฉันจะเพิ่มผู้ใช้ปกติไปยังไฟล์ sudoers ได้อย่างไร?


คำตอบ:


35

/etc/sudoersเพียงแค่แก้ไขไฟล์

แต่คุณควรที่จะใช้/usr/sbin/visudoเป็นเครื่องมือแก้ไขของคุณเนื่องจากจะมีการตรวจสติก่อนที่คุณจะออก

ดังนั้นจะเป็น:

sudo /usr/sbin/visudo

นี่คือลิงค์บางส่วนที่อาจมีประโยชน์:


จากนั้นฉันจะบันทึกไฟล์ได้อย่างไร
D'Arvit

1
ไม่เป็นไรตระหนักว่ามันเกิดขึ้นที่ทางออก
D'Arvit

+1 ในบางระบบ / etc / sudoers อ่านได้อย่างเดียวและ editiion ถูกบังคับผ่านคำสั่ง visudo
Laurent Etiemble

1
หากคุณมี/etc/sudoers.dไดเรกทอรีห้ามแก้ไข/etc/sudoersไฟล์ ให้ใส่ข้อมูลลงในไฟล์ของตัวเองในไดเรกทอรีนั้นแทน
David Schwartz

18

วิธีที่ฉันชอบคือการเพิ่มลงในsudoกลุ่ม ( adminก่อน Ubuntu 10.04)

ใน Ubuntu Linux sudoกลุ่มสามารถเรียกใช้sudoและเพิ่มบุคคลลงในกลุ่มได้อย่างง่ายดาย:

usermod -a -G sudo username

ระยะของคุณอาจแตกต่างกันกับ distros อื่น ๆ แต่ใครบางคนคิดว่าวิธีกลุ่มมีความเหมาะสมมากกว่าไฟล์ sudoers ที่ได้รับการอัปเดตตัวเอง มีที่ว่างน้อยลงในการทำให้มันผิดและปิดกั้นทุกคนจากการเป็น superuser ดูเหมือนจะเป็นเหตุผล


1
ไม่มีกลุ่มผู้ดูแลระบบตั้งแต่อย่างน้อย Ubuntu 10.04
Artem Pakk

13

เพียงแก้ไขไฟล์ sudoers ของคุณ

sudo visudo -f /etc/sudoers

และเพิ่มชื่อผู้ใช้เช่น 'uk' โดยไม่มีเครื่องหมายอัญประกาศ

username ALL = (ALL)ALL

บันทึกและออกจะให้สิทธิ์การเข้าถึง


6
เช่นเดียวกับ Johan กล่าวว่าควรใช้ visudo เพื่อแก้ไขไฟล์ sudoers ไฟล์ sudo borked สามารถนำไปสู่โลกของความเจ็บปวดที่หลีกเลี่ยงได้ en.wikipedia.org/wiki/Visudo
nagul

3
ทำไมคุณเพิ่มคำพูดลงในตัวอย่างของคุณ
grawity

2

visudo เปิดไฟล์ sudoers และมีตัวอย่างสำหรับสถานการณ์ง่าย ๆ

คุณอาจต้องเพิ่มตัวเลือก 'NOPASSWD' หากสคริปต์ผู้ใช้จะใช้คำสั่ง / ไบนารีซึ่งสามารถเรียกใช้ด้วย "sudo" เท่านั้นเช่น

ALL=(ALL) NOPASSWD: ALL

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

%users  localhost=/sbin/shutdown -h now

1
ระวังว่า NOPASSWD อาจมีความเสี่ยงด้านความปลอดภัย
Johan

0

เพิ่มไปยังกลุ่ม sudo (ขั้นตอนเฉพาะ Debian / Ubuntu):

    $ sudo gpasswd -a <username> sudo

    Adding user <username> to group sudo

0

ใน Amazon Linux มี/etc/sudoers.dและอยู่ภายในcloud-initซึ่งประกอบด้วย:

ec2-user ALL = NOPASSWD: ALL

# User rules for ec2-user
ec2-user ALL=(ALL) NOPASSWD:ALL

ดังนั้นสิ่งที่ฉันไม่ได้cp cloud-init vladแล้วแก้ไขvladและแทนที่ทุกกรณีด้วยec2-user vladทำงานได้ดีและเห็นได้ชัดว่ามันตั้งใจจะทำแทนที่จะแก้ไขไฟล์ที่มีอยู่


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