Làm cách nào để thêm người dùng vào nhóm sudo Cảnh?


187

Trong /etc/sudoerstôi thấy điều này:

# 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

Vậy làm cách nào để thêm người dùng vào sudonhóm đó ?


Có ai khác ở đây đang cố gắng để sudo hoạt động mà không có mật khẩu trên Ubuntu 17 không?
Adam F

@AdamF nhìn vào đây . Lần tới hãy hỏi một câu hỏi mới nếu bạn muốn một câu trả lời nhanh hơn. ;-)
Fabby

Coffe-mài: bạn có phiền khi thay đổi sự chấp nhận của bạn thành câu trả lời được đánh giá cao nhất vì đó là cách tốt hơn để làm điều đó? (hoàn toàn không có mật khẩu)
Fabby

Câu trả lời:


250
sudo usermod -aG sudo <username>

Điều anày rất quan trọng. Không có nó, họ sẽ bị xóa khỏi tất cả các nhóm khác. Bạn sẽ cần phải khởi động lại shell / terminal của mình hoặc đăng xuất và đăng nhập lại để điều này có hiệu lực.

Xem thêm:


Tôi đã làm những gì bạn đề nghị, nhưng thiết bị đầu cuối nói với tôi bash: sudo: command not found, tại sao?
Teifi

@Teifi, điều đó có nghĩa là bạn có thể chưa sudocài đặt hoặc, vì một số lý do kỳ lạ, nó không nằm trong đường dẫn của bạn. Điều gì xảy ra khi bạn chạy which sudo?
n0pe

Thiết bị đầu cuối mới là không đủ. Đã kết thúc việc khởi động lại vì một lý do khác và bây giờ nó hoạt động. Có lẽ đăng xuất / đăng nhập.
deed02392

Tôi biết alà để chắp thêm, nhưng tôi nghĩ sẽ hữu ích hơn nếu có thêm hành vi mặc định. Tạo một bí danh là dễ dàng vì vậy đó sẽ là cách để groupadd groupsau đó chỉ cần thêm nó. Tôi đã thực hiện lệnh mà không -a một lần hôm nay vì tôi không nhớ -ađối số.
erm3nda

Mặc dù đây là một diễn đàn Ubuntu, nhưng đối với CentOS tôi phải làm sudo usermod -aG sudo <username>. Bởi vì không có cách nào dễ dàng để tôi tìm ra điều này.
akki

43

Bạn có thể sử dụng GUI quản lý người dùng cho nó (cùng nơi bạn tạo người dùng) hoặc sử dụng sudo adduser <username> sudotrong dòng lệnh.


2
Điều này cũng được đề cập đến trong tài liệu ubfox trên RootSudo mặc dù họ đề cập đến nhóm quản trị viên thay vì nhóm sudo
icc97

8
+1: đây là cách dễ nhớ nhất, đơn giản và trực quan nhất để thêm người dùng vào nhóm!
Andrea Corbellini

Điều này cho tôi một lỗi nóiUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
akki

23

Bạn cũng có thể sử dụng giao diện đồ họa. Nhấp vào thiết bị ở phía trên bên phải của bảng điều khiển, sau đó chọn "Cài đặt hệ thống" và sau đó "Tài khoản người dùng"

Bạn cần nhấp vào nút mở khóa nhỏ để có thể chỉnh sửa mọi thứ trong cửa sổ này. Sau đó nhấp vào tài khoản của người đó và chọn danh sách thả xuống thích hợp cho "Loại tài khoản"

nhập mô tả hình ảnh ở đây


Tôi có Ubuntu 10.10 nhưng giao diện đồ họa của tôi bị khóa. Nó mở nhưng tôi khi nhấn nút thì không có gì xảy ra. Tôi cho rằng có gì đó liên quan đến các đặc quyền (tôi thực sự là sudoer). Làm thế nào tôi có thể giải quyết vấn đề này?
linello

Bạn đã bấm vào nút 'mở khóa'?
daboross

Hoạt hình đẹp! Tôi muốn làm một hoạt hình gif như vậy để hiển thị các tính năng mới của ứng dụng web của tôi? Tôi đang sử dụng Lubfox 16.04 ...
Stephane

20

Nó thực sự đơn giản nếu bạn đang sử dụng Unity làm môi trường máy tính để bàn của bạn.

Nếu bạn đã tạo một người dùng rồi thì bạn chỉ cần thay đổi nó từ Tiêu chuẩn thành Quản trị viên , nếu không, hãy đảm bảo rằng bạn đã chọn Quản trị viên khi tạo một người dùng mới.

Đừng quên mở khóa trước khi thử thay đổi nó

nhập mô tả hình ảnh ở đây


2
Nhìn hoạt hình GIF rất mát mẻ! +1 Bạn đã làm điều đó như thế nào? Đã chuyển câu hỏi ở đây .
hhh



2

Tôi đến bữa tiệc muộn, nhưng câu trả lời này có thể giúp ai đó sử dụng Ubuntu bên trong thùng chứa Docker.

Gần đây tôi đã tạo một Docker container dựa trên Ubuntu 16.04.1.

Theo mặc định, hình ảnh Docker Ubuntu là phiên bản rút gọn của Ubuntu, không có phần lớn các công cụ phổ biến bao gồm sudo.

Ngoài ra, theo mặc định, người dùng đăng nhập vào Docker container dưới dạng root.

Do đó, tôi đã khởi động container bằng docker runlệnh và cài đặt gói 'sudo':

root@default:/# apt-get install sudo

Chạy lệnh adduser myuser sudobáo lỗi adduser: The user 'myuser' does not exist.. Sau khi đọc câu trả lời này , trước tiên tôi chạy lệnh để tạo người dùng:

root@default:/# adduser myuser

Sau đó chạy lệnh sau:

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

Người dùng myuser đã được thêm thành công vào nhóm sudo.


1

Sử dụng usermod. Thêm quyền sudo bằng lệnh sau:

usermod -aG sudo <your username>

Xin lưu ý rằng bạn sẽ phải sử dụng tài khoản root để thực hiện việc này hoặc sử dụng tài khoản khác có quyền sudo. Nếu bạn không có quyền truy cập vào tài khoản khác vì một số lý do và bạn không biết mật khẩu gốc, bạn sẽ cần một đĩa CD trực tiếp Ubuntu (hoặc một bản phân phối Linux khác) và sau đó bạn sẽ cần phải truy cập vào hệ thống tệp Ubuntu của mình và chạy lệnh trên từ bên trong chroot.


1

Đây là cách tôi thiết lập người dùng không root với hình ảnh cơ bản của 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

Điều gì xảy ra với đoạn mã trên:

  • Người dùng và nhóm foođược tạo.
  • Người dùng foođược thêm vào cả nhóm foosudonhóm.
  • Các uidgidđược thiết lập với giá trị của 999.
  • Thư mục nhà được đặt thành /home/foo.
  • Vỏ được đặt thành /bin/bash.
  • Các sedlệnh thực hiện cập nhật nội tuyến vào /etc/sudoerstập tin để cho phép foorootsử dụng mật mã truy cập vào các sudonhóm.
  • Các sedlệnh vô hiệu hóa các #includedirchỉ thị mà sẽ cho phép bất kỳ tập tin trong thư mục con để ghi đè lên các bản cập nhật nội tuyến.
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.