ฉันจะเพิ่มผู้ใช้ในกลุ่ม“ sudo” ได้อย่างไร


187

ใน/etc/sudoersฉันเห็นสิ่งนี้:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

ดังนั้นฉันจะเพิ่มผู้ใช้ในsudoกลุ่มนั้นได้อย่างไร


มีคนอื่นที่นี่พยายาม sudo เพื่อทำงานกับรหัสผ่านใน Ubuntu 17 ไม่มี?
Adam F

@AdamF ดูที่นี่ ครั้งต่อไปถามคำถามใหม่หากคุณต้องการคำตอบที่รวดเร็วขึ้น ;-)
Fabby

Coffe-grinder: คุณจะเปลี่ยนการยอมรับของคุณเป็นคำตอบ upvoted ที่สูงที่สุดเพราะเป็นวิธีที่ดีกว่าที่จะทำหรือไม่? (ไม่มีรหัสผ่านเลย)
Fabby

คำตอบ:


250
sudo usermod -aG sudo <username>

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

ดูสิ่งนี้ด้วย:


ฉันทำสิ่งที่คุณแนะนำ แต่เทอร์มินัลบอกฉันbash: sudo: command not foundทำไม
Teifi

@Teifi นั่นหมายความว่าคุณอาจไม่ได้sudoติดตั้งหรือด้วยเหตุผลแปลก ๆ มันไม่ได้อยู่ในเส้นทางของคุณ จะเกิดอะไรขึ้นเมื่อคุณเรียกใช้which sudo?
n0pe

อาคารใหม่ไม่เพียงพอ ลงเอยด้วยการรีบู๊ตด้วยเหตุผลอื่นและตอนนี้ก็ใช้งานได้ อาจออกจากระบบ / เข้าสู่ระบบ
deed02392

ฉันรู้ว่าaสำหรับผนวก แต่ฉันคิดว่ามันจะมีประโยชน์มากกว่าที่จะผนวกเป็นพฤติกรรมเริ่มต้น การสร้างนามแฝงนั้นเป็นเรื่องง่ายเพื่อที่จะเป็นวิธีที่จะมีgroupadd groupเพียงแค่ต่อท้าย ฉันไม่ได้คำสั่งโดยไม่ต้อง -a ครั้งในวันนี้เป็นฉันไม่ได้จำ-aโต้แย้ง
erm3nda

แม้ว่านี่จะเป็นฟอรั่มอูบุนตูสำหรับ CentOS sudo usermod -aG sudo <username>ที่ผมต้องทำ เพราะไม่มีวิธีที่ง่ายสำหรับฉันที่จะค้นหาสิ่งนี้
akki

43

คุณสามารถใช้ GUI การจัดการผู้ใช้ได้ (ในที่เดียวกับที่คุณสร้างผู้ใช้) หรือใช้sudo adduser <username> sudoในบรรทัดคำสั่ง


2
สิ่งนี้ยังอ้างถึงในเอกสารประกอบของ Ubuntu บนRootSudo ถึงแม้ว่าพวกเขาจะอ้างถึงกลุ่มผู้ดูแลระบบแทนกลุ่ม sudo
icc97

8
+1: นี่เป็นวิธีที่ง่ายต่อการจดจำง่ายและใช้งานง่ายที่สุดในการเพิ่มผู้ใช้ในกลุ่ม!
Andrea Corbellini

นี่ทำให้ฉันมีข้อผิดพลาดว่าUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
Akki

23

คุณยังสามารถใช้ส่วนต่อประสานกราฟิก คลิกที่เฟืองที่มุมขวาบนของแผงจากนั้นเลือก "การตั้งค่าระบบ" และจากนั้น "บัญชีผู้ใช้"

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

ป้อนคำอธิบายรูปภาพที่นี่


ฉันมี Ubuntu 10.10 แต่ส่วนต่อประสานกราฟิกของฉันถูกล็อคอยู่ มันเปิดขึ้น แต่ฉันเมื่อกดปุ่มไม่มีอะไรเกิดขึ้น ฉันคิดว่าเป็นสิ่งที่เกี่ยวข้องกับสิทธิ์ (ฉัน sudoer จริง ๆ ) ฉันจะแก้ปัญหานี้ได้อย่างไร
linello

คุณคลิกปุ่ม 'ปลดล็อค' หรือไม่?
daboross

นิเมชั่นที่ดี! ฉันต้องการที่จะทำแอนิเมชั่น gif เพื่อแสดงคุณสมบัติใหม่ของแอพพลิเคชั่นเว็บของฉันหรือไม่? ฉันใช้ Lubuntu 16.04 ...
Stephane

20

มันง่ายมากถ้าคุณใช้ Unity เป็นเดสก์ท็อปของคุณ

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

อย่าลืมปลดล็อคก่อนพยายามเปลี่ยน

ป้อนคำอธิบายรูปภาพที่นี่


2
แอนิเมชัน GIF ที่ดูเท่มาก! +1 คุณเป็นอย่างไรบ้าง ย้ายคำถามที่นี่
hhh



2

ฉันมาปาร์ตี้ช้า แต่คำตอบนี้อาจช่วยคนที่ใช้ Ubuntu ในคอนเทนเนอร์ Docker

ฉันเพิ่งสร้างคอนเทนเนอร์ Docker ที่ใช้ Ubuntu 16.04.1

sudoโดยค่าเริ่มต้นภาพหางอูบุนตูเป็นรุ่นปล้นลงของอูบุนตูซึ่งไม่ได้มีส่วนใหญ่ของเครื่องมือทั่วไปรวมทั้ง

นอกจากนี้โดยค่าเริ่มต้นผู้ใช้จะถูกล็อกอินเข้าสู่ Docker container ในฐานะ root

ดังนั้นฉันเริ่มคอนเทนเนอร์ด้วยdocker runคำสั่งและติดตั้งแพ็คเกจ 'sudo':

root@default:/# apt-get install sudo

ใช้คำสั่งรายงานข้อผิดพลาดadduser myuser sudo adduser: The user 'myuser' does not exist.หลังจากอ่านคำตอบนี้ฉันแรกรันคำสั่งเพื่อสร้างผู้ใช้:

root@default:/# adduser myuser

จากนั้นรันคำสั่งต่อไปนี้:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

เพิ่มผู้ใช้ myuser ในกลุ่ม sudo สำเร็จแล้ว


1

ใช้ usermod เพิ่มสิทธิ์ sudo ด้วยคำสั่งต่อไปนี้:

usermod -aG sudo <your username>

โปรดทราบว่าคุณจะต้องใช้บัญชีรูทเพื่อทำสิ่งนี้หรือใช้บัญชีอื่นที่มีสิทธิ์ sudo หากคุณไม่สามารถเข้าถึงบัญชีอื่นได้ด้วยเหตุผลบางอย่างและคุณไม่ทราบรหัสผ่านรูทคุณจะต้องใช้ซีดีสดของ Ubuntu (หรือ Linux distro อื่น) จากนั้นคุณจะต้อง chroot ลงในระบบไฟล์ Ubuntu ของคุณและ เรียกใช้คำสั่งดังกล่าวจากภายใน chroot


1

นี่คือวิธีที่ฉันตั้งค่าผู้ใช้ที่ไม่ใช่รูทด้วยอิมเมจพื้นฐานของubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

เกิดอะไรขึ้นกับโค้ดด้านบน:

  • ผู้ใช้และกลุ่มfooถูกสร้างขึ้น
  • ผู้ใช้fooจะถูกเพิ่มในทั้งกลุ่มfooและsudo
  • uidและมีการตั้งค่าของgid999
  • /home/fooไดเรกทอรีบ้านจะถูกกำหนดให้
  • /bin/bashเปลือกมีการตั้งค่า
  • sedคำสั่งไม่อัปเดตแบบอินไลน์ไปยัง/etc/sudoersไฟล์ที่จะอนุญาตfooและrootการเข้าถึงผู้ใช้ passwordless กับsudoกลุ่ม
  • sedคำสั่งปิดการใช้งาน#includedirคำสั่งที่จะช่วยให้ทุกแฟ้มในไดเรกทอรีย่อยเพื่อแทนที่การปรับปรุงแบบอินไลน์เหล่านี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.