Vô hiệu hóa quyền sudo cho người dùng từ dòng lệnh


18

Tôi đã kích hoạt người dùng root trong ubfox và muốn sử dụng ubfox làm máy chủ không có DE. Đối với điều này, tôi muốn vô hiệu hóa đặc quyền sudo cho người dùng đầu tiên. Làm thế nào tôi có thể làm điều này từ dòng lệnh? Tôi biết tôi có thể sử dụng GUI nhưng làm thế nào để thực hiện nó từ dòng lệnh?


Tùy thuộc vào cách bạn thiết lập các nhóm của mình, hãy nhập visudo
wojox

Câu trả lời:


14

Người dùng trong câu hỏi có đặc quyền sudo vì nó nằm trong adminnhóm. Như wojox đã nhận xét, bạn có thể sử dụng visudovà xóa các đặc quyền sudo khỏi nhóm quản trị viên, nhưng điều đó sẽ loại bỏ các khả năng sudo khỏi tất cả các thành viên của nhóm quản trị không chỉ một người dùng.

Ngoài ra, bạn có thể xóa người dùng khỏi nhóm quản trị viên. Nếu định hướng màn hình viđược coi là đủ dòng lệnh, hãy chạy vigrvà xóa tên người dùng khỏi dòng thích hợp.

Đối với giải pháp dòng lệnh "thuần túy", hãy thử gpasswd, vì nó quản trị / etc / group và có thể thêm và xóa người dùng khỏi nhóm.

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

Dưới đây là câu trả lời đầu tiên của tôi trước khi tôi nhận ra có một cách ít ngu ngốc hơn để làm điều đó.

Nếu bạn muốn một cách phức tạp hơn để làm điều này, bạn có thể sử dụng usermod.

Đây là một trích dẫn từ usermodtrang người đàn ông:

-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.

Vì vậy, bạn phải chỉ định tất cả các nhóm cho người dùng ngoại trừ 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)

Cuối cùng, nó vi phạm tinh thần của câu hỏi, nhưng người ta có thể gõ users-admintừ dòng lệnh để sửa đổi người dùng và nhóm.


Có vẻ như nhóm phải xóa trên Chính xác bây giờ sudothay vào đó
Joril

2

Bất cứ sự khôn ngoan nào có thể được tìm thấy trong các câu trả lời ở trên, tôi đã giải quyết vấn đề kích hoạt tài khoản root và vô hiệu hóa sudo cho một người dùng được chỉ định như sau.

Đầu tiên kích hoạt tài khoản root:

$ sudo passwd root

Thêm thông tin trong Tài liệu Ubuntu .

Sau đó:

  • trở thành root
  • sao lưu và sau đó chỉnh sửa / etc / nhóm
  • trở thành người dùng một lần nữa để kiểm tra các thay đổi

Đó là:

$ 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]

Người dùng 'khách' hiện bị xóa khỏi tệp sudoers. Nếu mọi việc suôn sẻ, bất kỳ lệnh sudo nào cũng sẽ trả về một thông báo như sau:

guest is not in the sudoers file.  This incident will be reported.

Một khách đăng nhập vào máy tính này có thể không còn vô tình hoặc sẵn sàng gây rối với hệ thống, vì bạn cần phải root để làm như vậy. Tất nhiên, nếu bạn thêm người dùng mới, bạn sẽ cần lặp lại việc chỉnh sửa / etc / group.

Chúc mừng!

- linuxrev

(Ubuntu 12.04)


1

Cảnh báo

Cẩn thận, bạn có thể tự khóa hệ thống của chúng tôi theo cách này! Luôn đảm bảo rằng người dùng root vẫn giữ quyền của mình và bạn có thể truy cập nó. Giữ một thiết bị đầu cuối gốc mở trước để bạn có thể hoàn tác các thay đổi. Kiểm tra cài đặt trong thiết bị đầu cuối khác trước khi đóng thiết bị đầu cuối gốc của bạn!

soduers

Như được mô tả trong một câu trả lời khác . Chỉnh sửa /etc/sudoersbằng cách gọi visudo trong shell:

sudo select-editor # this is optional. it will allow you to select your default editor in shell
sudo visudo

Sau đó thay đổi dòng có nội dung tương tự như sau:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

đến đây:

# root may gain root privileges
root ALL=(ALL) ALL

Hoặc xóa dòng, nếu bạn chắc chắn, tài khoản người dùng gốc của bạn đã được bật.

nhóm

Người dùng mặc định là thành viên của nhóm 'quản trị viên'. Nếu bạn thích nó, bạn cũng có thể thu hồi tư cách thành viên của nhóm người dùng đó. Làm điều đó bằng cách theo liên kết cuối cùng của tôi hoặc xóa tên của anh ấy khỏi dòng admin:x:120:defaultusertrong /etc/grouptệp:

cp -n /etc/group /etc/group.bak && \
sed -i 's/\(admin:x.*\)defaultuser\(.*\)/\1\2/g' /etc/group

1
@psusi: Không, bạn SAI. Anh ấy CÓ THỂ xóa nó đi. Như anh ấy đã nói "Tôi đã kích hoạt người dùng root trong ubfox", anh ấy có thể LUÔN ĐĂNG NHẬP NGƯỜI DÙNG ROOT ĐỂ TRUY CẬP GAIN. Vui lòng sửa lại downvote của bạn về bài viết của tôi.
con-f-use
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.