Câu hỏi Làm cách nào để thêm người dùng mới làm sudoer bằng dòng lệnh?


Sau khi tôi thêm người dùng bằng adduser, Tôi không thể nhìn thấy nó qua Hệ thống> Quản trị> Người dùng và Nhóm trừ khi tôi đăng xuất rồi đăng nhập lại. Điều đó có bình thường không?

Ngoài ra, tôi có thể đặt người dùng mới được thêm làm sudoer hoặc tôi có phải thay đổi điều đó chỉ sau khi thêm nó? Làm thế nào tôi có thể làm điều đó thông qua vỏ?

Cuối cùng, tôi có thể xóa người dùng ban đầu đã được tạo khi cài đặt ban đầu của Ubuntu hay người dùng này có phần 'đặc biệt' không?


742
2017-10-15 12:02


gốc




Các câu trả lời:


Chỉ thêm người dùng vào sudo nhóm:

sudo adduser <username> sudo

Thay đổi sẽ có hiệu lực vào lần tiếp theo người dùng đăng nhập.

Điều này hoạt động vì /etc/sudoers được định cấu hình trước để cấp quyền cho tất cả thành viên của nhóm này (Bạn không cần thực hiện bất kỳ thay đổi nào đối với điều này):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Miễn là bạn có quyền truy cập vào người dùng nằm trong cùng một nhóm với người dùng "ban đầu" của mình, bạn có thể xóa người dùng cũ.


Thực tế, cũng có các nhóm khác mà người dùng mới của bạn phải là thành viên. Nếu bạn đặt loại Tài khoản của người dùng thành Quản trị viên trong Cài đặt người dùng, nó sẽ được đặt trong ít nhất tất cả các nhóm sau:

adm sudo lpadmin sambashare

Bởi vì cấu hình hệ thống của bạn có thể khác nhau, tôi khuyên bạn nên xem kết quả của groups <username> để xem những nhóm nào thường được sử dụng.


928
2017-10-15 12:35



@ Dziamid Tôi không chắc chắn về sudo cho nhóm. Hãy cùng tìm hiểu. - ændrük
Xin lưu ý rằng admin nhóm không tồn tại trong 12.04 LTS. - Ryan
Câu hỏi đặt ra là về người dùng hiện tại, nhưng nếu đó là người dùng mới "sudo adduser <username> sudo" sẽ phải đi trước "sudo adduser <username>". Nếu không, người ta nhận được thông báo lỗi "Người dùng <tên người dùng> không tồn tại". - Peter Mortensen
điều này không hiệu quả với tôi. vẫn không thể sử dụng sudo. - chovy
Đã phải đăng nhập lại để nó hoạt động. - PeterM


tôi đã làm

sudo usermod -a -G sudo <username>

như được đề xuất đây.


162
2017-11-21 14:25



nhóm sudo không tồn tại - Arin
Giải pháp làm việc duy nhất ở đây. Ubuntu 16 - Makan Tayebi
Đối với người dùng hiện tại, đây là giải pháp đúng. Nó sẽ được đánh dấu là câu trả lời. - Yokai
Đừng quên -a gắn cờ hoặc bạn sẽ xóa người dùng khỏi tất cả các nhóm ngoại trừ sudo - RousseauAlexandre


Mở tệp sudoers: sudo visudo sẽ mở /etc/sudoers tệp trong trình chỉnh sửa được xác định trong $EDITOR (có lẽ GNU nano - thiết lập biến nếu nó không phải là những gì bạn muốn, ví dụ export EDITOR="nano" và cố gắng sudo visudo lần nữa).

Thêm dòng dưới đây vào cuối tập tin.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Sau đó thực hiện WriteOut với Ctrl + O. Trình chỉnh sửa sẽ yêu cầu bạn nhập tên tệp. Mặc định sẽ là một tệp tạm thời được sử dụng bởi visudo để kiểm tra lỗi cú pháp trước khi lưu vào thực tế sudoers tập tin. nhấn Đi vào chấp nhận nó. Thoát trình chỉnh sửa nano bằng Ctrl + X.

Làm xong!


68
2018-03-16 04:53



Sẽ không thể bổ sung một cách rõ ràng để thêm một người dùng vào tệp sudoers thay vì chỉ thêm người dùng đó vào nhóm thích hợp sudo. - Kzqai
với sudo visudo, bạn có thể xuất ra /etc/sudoers.tmp, khi rời khỏi trình soạn thảo nó sẽ tự ghi đè lên / etc / sudoers - Climbatize
và visudo sẽ xác minh cú pháp để đảm bảo không có lỗi - mchid
lỗi cú pháp nếu sử dụng điều này. - jheriko
Các giải pháp khác hoạt động tốt cho các hệ điều hành được tích hợp sẵn sudo nhóm, nhưng đối với các hệ thống không thường xuyên mà không có một chuyên dụng sudo nhóm, giải pháp này hoạt động. Đề xuất duy nhất tôi có là bạn có thể tránh đặt sudo chính nó bên trong các thủ tục, vì nó có thể chưa được thiết lập! Dễ dàng giải quyết bằng cách thực hiện su - và sau đó chỉ đơn giản là visudio. Điều này hoạt động trên Gentoo. - tresf


Một điều tôi phải nói thêm rằng tôi chắc chắn rất nhiều người không hiểu:

Một khi bạn đã thực hiện một adduser "username", bạn vẫn có thể quay lại và thực hiện adduser "username" sudovà sau đó sẽ thêm người dùng đó vào nhóm đúng cách.

Nó thực sự sẽ không hoạt động lần đầu tiên sudo adduser username sudo. Nó sẽ cho bạn một lỗi. Trong tóm tắt có nghĩa là trước tiên bạn phải tạo tài khoản người dùng trước khi bạn có thể thêm chúng vào một nhóm.


27
2017-12-12 16:52





Tất cả thành viên của nhóm admin, trong Ubuntu theo mặc định được phép sử dụng sudo, vì vậy cách dễ nhất là thêm tài khoản người dùng vào admin nhóm.

Nếu bạn không muốn cấp quyền truy cập root cho tài khoản người dùng, bạn cần chỉnh sửa tệp / etc / sudoer bằng visudo (nó đảm bảo rằng bạn không có bất kỳ lỗi cú pháp nào trong tệp và mất hoàn toàn khả năng của sudo) theo cách bạn chỉ định những lệnh nào mà người dùng này (hoặc một nhóm mới) có thể thực hiện như là người chủ.

Các sudoer dẫn sử dụng sẽ cung cấp cho bạn thêm thông tin về điều này. Bạn có thể chỉ định các lệnh nào được cho phép bởi một người dùng / nhóm cụ thể được thực hiện như là người chủ.


10
2017-10-15 12:34



Tôi nghĩ đó là những gì wheel nhóm đã cho? - Marco Ceppi♦
@Marco Tôi không quen với điều đó. Bạn có thể giải thích thêm một chút không? - ændrük
@MarcoCeppi, nhóm bánh xe đã được sử dụng trên một số hệ thống để hạn chế những gì người dùng có thể sử dụng su. Sử dụng Ubuntu sudo và nhóm quản trị. - psusi


trên CentOS, tôi làm root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers

8
2018-03-03 19:03





Đoạn mã sau cấp quyền truy cập root cho tên người dùng mà không đăng nhập một cách rõ ràng dưới dạng root.

Đảm bảo rằng người dùng được thêm vào nhóm sudo trước tiên. Thử nghiệm trên Ubuntu 16.04.1 LTS.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

5
2017-12-29 14:26



điều này có hoạt động trên Ubuntu không? - jowan sebastian
Có kiểm tra trên Ubuntu 16.04 - Sandeep
tại sao không trong một dòng: useradd -m username --groups sudo - Aidan Melen