ฉันได้เปิดใช้งานผู้ใช้รูทในอูบุนตูและต้องการใช้อูบุนตูเป็นเซิร์ฟเวอร์โดยไม่มี DE สำหรับสิ่งนี้ฉันต้องการปิดใช้งานสิทธิ์ sudo ที่มอบให้กับผู้ใช้รายแรก ฉันจะทำสิ่งนี้จากบรรทัดคำสั่งได้อย่างไร ฉันรู้ว่าฉันสามารถใช้ GUI ได้ แต่จะทำอย่างไรจากบรรทัดคำสั่ง
ฉันได้เปิดใช้งานผู้ใช้รูทในอูบุนตูและต้องการใช้อูบุนตูเป็นเซิร์ฟเวอร์โดยไม่มี DE สำหรับสิ่งนี้ฉันต้องการปิดใช้งานสิทธิ์ sudo ที่มอบให้กับผู้ใช้รายแรก ฉันจะทำสิ่งนี้จากบรรทัดคำสั่งได้อย่างไร ฉันรู้ว่าฉันสามารถใช้ GUI ได้ แต่จะทำอย่างไรจากบรรทัดคำสั่ง
คำตอบ:
ผู้ใช้ที่สงสัยมีสิทธิ์ sudo เพราะอยู่ในadmin
กลุ่ม ตามที่แสดงความคิดเห็น wojox คุณสามารถใช้visudo
และลบสิทธิ์ sudo ออกจากกลุ่มผู้ดูแลระบบได้ แต่นั่นจะเป็นการลบความสามารถของ sudo ออกจากสมาชิกทั้งหมดของกลุ่มผู้ดูแลระบบไม่ใช่แค่ผู้ใช้เพียงคนเดียว
หรือคุณสามารถลบผู้ใช้ออกจากกลุ่มผู้ดูแลระบบ หากการวางvi
แนวหน้าจอถือเป็นบรรทัดคำสั่งให้รันvigr
และลบชื่อผู้ใช้จากบรรทัดที่เหมาะสม
สำหรับโซลูชันบรรทัดคำสั่ง "pure" ให้ลองgpasswd
ขณะที่มันจัดการ / etc / group และสามารถเพิ่มและลบผู้ใช้ออกจากกลุ่ม
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
# ^- the group to remove
root@toki:~# gpasswd -d username admin
Removing user username from group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin sambashare
# ^- username not a member
root@toki:~# gpasswd -a username admin
Adding user username to group admin
root@toki:~# id -Gn username
username adm dialout cdrom plugdev lpadmin admin sambashare
ด้านล่างนี้เป็นคำตอบแรกของฉันก่อนที่ฉันจะรู้ว่ามีวิธีโง่น้อยลงในการทำ
usermod
หากคุณต้องการเป็นวิธีที่มีความซับซ้อนมากขึ้นในการทำเช่นนี้คุณสามารถใช้
นี่คือคำพูดจากusermod
หน้าคน:
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
A list of supplementary groups which the user is also a member of.
Each group is separated from the next by a comma, with no intervening
whitespace. The groups are subject to the same restrictions as the
group given with the -g option.
If the user is currently a member of a group which is not listed, the
user will be removed from the group. This behaviour can be changed via
the -a option, which appends the user to the current supplementary group
list.
admin
ดังนั้นคุณต้องระบุทุกกลุ่มสำหรับผู้ใช้ยกเว้น
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),119(admin),122(sambashare)
root@toki:~# usermod -G 4,20,24,46,111,122 username
root@toki:~# id username
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),20(dialout),24(cdrom),46(plugdev),111(lpadmin),122(sambashare)
ในที่สุดมันละเมิดจิตวิญญาณของคำถาม แต่สามารถพิมพ์users-admin
จากบรรทัดคำสั่งเพื่อแก้ไขผู้ใช้และกลุ่ม
sudo
แทน
ไม่ว่าจะพบภูมิปัญญาใดในคำตอบข้างต้นฉันได้แก้ไขปัญหาการเปิดใช้งานบัญชีรูทและปิดการใช้งาน sudo สำหรับผู้ใช้ที่ระบุดังนี้
เปิดใช้งานบัญชีรูทก่อน:
$ sudo passwd root
ข้อมูลเพิ่มเติมได้ในเอกสารอูบุนตู
แล้ว:
นั่นคือ:
$ su
# cp /etc/group /etc/group.bak
# nano /etc/group # find a line like 'sudo:x:27:guest', remove the
# user name (i.c. 'guest') and save the file
# exit,
$ [try any sudo command]
ตอนนี้ 'แขก' ของผู้ใช้จะถูกลบออกจากไฟล์ sudoers หากทุกอย่างเป็นไปด้วยดีคำสั่ง sudo ใด ๆ ควรกลับข้อความเช่นนี้
guest is not in the sudoers file. This incident will be reported.
แขกที่เข้าสู่ระบบบนคอมพิวเตอร์เครื่องนี้ไม่สามารถบังเอิญหรือยุ่งกับระบบได้อีกต่อไปเนื่องจากคุณต้องเป็น root ในการทำเช่นนั้น แน่นอนถ้าคุณเพิ่มผู้ใช้ใหม่คุณจะต้องแก้ไข / etc / group ซ้ำ
ไชโย!
- linuxrev
(Ubuntu 12.04)
อย่างระมัดระวังคุณสามารถล็อคตัวเองออกจากระบบของเราด้วยวิธีนี้! ตรวจสอบให้แน่ใจเสมอว่าผู้ใช้รูทรักษาสิทธิ์ของเขาไว้และคุณสามารถเข้าถึงได้ เปิดรูเทอร์มินัลไว้ล่วงหน้าเพื่อให้คุณสามารถเลิกทำการเปลี่ยนแปลงได้ ทดสอบการตั้งค่าในเทอร์มินัลอื่นก่อนที่จะปิดรูทเครื่องของคุณ!
ตามที่อธิบายไว้ในคำตอบอื่น แก้ไข/etc/sudoers
โดยเรียกใช้ visudo ในเชลล์:
sudo select-editor # this is optional. it will allow you to select your default editor in shell
sudo visudo
จากนั้นเปลี่ยนบรรทัดที่ระบุสิ่งที่คล้ายกับสิ่งนี้:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
สำหรับสิ่งนี้:
# root may gain root privileges
root ALL=(ALL) ALL
หรือลบบรรทัดถ้าคุณแน่ใจว่าบัญชีผู้ใช้รูทของคุณเปิดใช้งานแล้ว
ผู้ใช้เริ่มต้นคือสมาชิกของกลุ่ม 'admin' หากคุณต้องการมันคุณสามารถเพิกถอนการเป็นสมาชิกของผู้ใช้ในกลุ่มนั้นได้เช่นกัน ทำอย่างนั้นโดยไปที่ลิงค์สุดท้ายของฉันหรือลบชื่อของเขาจากบรรทัดadmin:x:120:defaultuser
ใน/etc/group
ไฟล์:
cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)/\1\2/g' /etc/group