ผู้ใช้ในกลุ่ม sudo ไม่สามารถใช้คำสั่ง sudo ได้


14

ฉันมีผู้ใช้supersecretuserที่อยู่ในsudoกลุ่ม แต่ไม่มีsudoสิทธิ์เข้าถึง มีอะไรอีกบ้างที่ต้องทำเพื่อให้sudoสิทธิ์การเข้าถึงแก่ผู้ใช้รายนี้?

$ ssh supersecretuser@myserver
supersecretuser@myserver:~$ groups
supersecretuser adm cdrom sudo dip plugdev lpadmin sambashare
supersecretuser@myserver:~$ sudo vim install.sh 
[sudo] password for supersecretuser: 
supersecretuser is not in the sudoers file.  This incident will be reported.

supersecretuser เป็นผู้ใช้ที่เราติดตั้งเมื่อทำการติดตั้ง Ubuntu


4
มีการsupersecretuserออกจากระบบและกลับเข้าสู่ระบบ (หรืออย่างน้อยก็เริ่มเชลล์การเข้าสู่ระบบใหม่su - supersecretuser) ตั้งแต่ถูกเพิ่มไปยังsudoกลุ่มหรือไม่?
ขับขี่เหล็ก

เมื่อฉันเข้าไปข้างในsupersecretuserฉันจะเห็นว่ามันอยู่ในsudoกลุ่ม มีอย่างอื่นที่ฉันต้องทำเพื่อออกจากระบบ? เพิ่ม ssh ไปยังเซิร์ฟเวอร์เพื่อตั้งคำถาม
Jay Mitchell

หากคุณมี superuser อื่นฉันจะลองเพิ่มsuspersecretuserในsudoกลุ่มอีกครั้ง sudo adduser supersecretuser sudo. คุณอาจได้รับข้อผิดพลาดเช่นuser is already in group sudoแต่มันคุ้มค่ากับการยิง
ด่าน

คำตอบ:


8

เมื่อคุณได้รับข้อความแสดงข้อผิดพลาดว่าผู้ใช้ของคุณคุณis not in the sudoers fileสามารถโปรดตรวจสอบ/etc/sudoersไฟล์ของคุณดูว่ามีบรรทัดดังกล่าว:

%sudo   ALL=(ALL:ALL) ALL

หากไม่มีบรรทัดนี้ผู้ใช้ในsudoกลุ่มจะไม่เป็น sudoers แก้ไขไฟล์โดยใช้visudoคำสั่ง (ตรวจสอบ synthax ที่ถูกต้องและล็อคไฟล์)

คุณสามารถลองเพิ่มบรรทัดที่กำหนดเองดังนี้:

root    ALL=(ALL:ALL) ALL

แทนที่rootด้วยชื่อผู้ใช้ของคุณรีบูตและลองใช้งานได้


ฉันไม่สามารถsudoเห็นไฟล์นี้เพื่อบอกว่านี่เป็นปัญหา 100% แต่ขึ้นอยู่กับสคริปต์พ่อครัวของเราที่เราใช้บนเซิร์ฟเวอร์อื่น ๆ ที่ฉันจะเห็นว่าเรายังไม่ได้เพิ่มผู้ใช้ในการsupersecretuser /etc/sudoers
Jay Mitchell

ขอบคุณมากสำหรับคำตอบผมมีsudoและadminบันทึก %แต่พวกเขาไม่ได้นำหน้าด้วย
berezovskyi

6

ตามการสนทนาของคุณกับ @steeldriver ในความคิดเห็นฉันเดาว่าผู้ใช้ของคุณไม่ได้ออกจากระบบ

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

เมื่อทำเช่นนั้นฉันจะได้ผลลัพธ์ดังนี้:

mitch@quartz:~$ who
mitch    :0           2014-09-08 09:49 (:0)
mitch    pts/0        2014-09-08 13:18 (:0.0)

ฉันเห็นตัวเองเท่านั้น ในทำนองเดียวกันการพิมพ์wเทอร์มินัลแสดงให้ฉันเห็นว่าใครเข้าสู่ระบบและทำอะไรอยู่:

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
mitch    :0       :0               09:49   ?xdm?  29:08   0.11s init --user
mitch    pts/0    :0.0             13:18    5.00s  0.06s  0.01s w

คุณสามารถหยุดผู้ใช้รายอื่น (SSU ฉันจะเรียกมัน) ด้วยคำสั่งต่อไปนี้:

pkill -STOP -u SSU

อย่างไรก็ตามตามความจริงแล้วทางออกที่ง่ายที่สุดคือการรีบูตระบบหากเป็นไปได้


รีบูตเซิร์ฟเวอร์และฉันไม่sudoสามารถเข้าถึงได้
Jay Mitchell

ดังนั้นคุณสูญเสียความสามารถในการที่ผู้ใช้ของคุณไปยังเซิร์ฟเวอร์ ssh หรือไม่
มิทช์

ขออภัยอัพเดทความคิดเห็น ยังคงสามารถ ssh ลงในเซิร์ฟเวอร์ได้ แต่ไม่sudoสามารถเข้าถึงได้
Jay Mitchell

คุณสามารถอัพเดตโพสต์ต้นฉบับด้วยวิธีที่คุณใช้เพื่อให้สิทธิ์การเข้าถึงแก่ผู้ใช้ sudo ได้หรือไม่?
มิทช์

supersecretuserเป็นผู้ใช้ที่เราติดตั้งเมื่อทำการติดตั้ง Ubuntu
Jay Mitchell

0

วิธีที่ง่ายที่สุดในการเพิ่ม supersecretuser ในกลุ่ม sufo คือsudo gpasswd -a supersecretuser sudoและมี supersecretuser ออกจากระบบ / กลับเข้ามา; แต่ถ้าคุณสูญเสียความสามารถในการ sudo ฉันกลัวว่าคุณจะต้องติดตั้งใหม่


-1

หลังจากคุณตรวจสอบแล้วว่าสิทธิ์ของไฟล์นั้นถูกต้อง:

-r--r----- 1 root root x x x x:x /etc/sudoers

คุณอาจสูญเสียsบิต - บนไฟล์ที่ปฏิบัติการได้มันควรอ่าน:

-rwsr-xr-x 2 root root x x x  x /usr/bin/sudo

ถ้าไม่มี: ด้วยสิทธิ์พิเศษของรูทจะให้ `

chmod u+s /usr/bin/sudo

และคุณควรจะโอเค .. เว้นแต่คุณจะรู้ว่าคุณได้แก้ไขsudoersไฟล์ด้วยตัวเอง! :)


3
-1 ปัญหาเกี่ยวกับการอนุญาตให้ใช้ไฟล์ของsudoไบนารีและsudoersผลลัพธ์การกำหนดค่าในข้อความแสดงข้อผิดพลาดที่แตกต่างจากที่อยู่ในคำถาม พวกเขาจะอ้างถึงไฟล์ที่ไม่เหมาะสมอย่างแท้จริง
David Foerster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.