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


9

Tôi có một người dùng john và một người dùng keith trong máy chủ Ubuntu

Tôi đã thêm những người dùng này bằng cách sử dụng

sudo adduser John 
sudo adduser Keith

Làm thế nào bây giờ tôi có thể thêm john vào nhóm của Keith?

Tôi đã thử:

sudo usermod -aG Keith john

Nhưng tôi nhận được:

usermod: group 'Keith' does not exist

Tôi cần làm gì để giải quyết vấn đề này?

Câu trả lời:


17

Bạn có thể dùng: usermod -a -G grouptoadd username

Vì nó ít rõ ràng hơn tôi nghĩ tại sao -a -G vẫn ổn trong khi -aG không phải là tôi sẽ cố gắng giải thích nó:

Các tùy chọn -G có một giá trị hoặc danh sách các giá trị. Trong trường hợp có một giá trị, giá trị có thể được đưa ra như sau: -GVALUE vì không có yêu cầu phải có khoảng trắng giữa tùy chọn và giá trị. Đây chỉ là thực tế phổ biến.

Nếu bạn có một nhóm được gọi là một hệ thống của bạn, thì việc gọi -Ga trở nên mơ hồ. Bạn có muốn người dùng chỉ có một nhóm a? Bạn đang gọi -a và -G? Vậy thì "a" có phải là giá trị cho -G không? Phần còn lại của giá trị (đến -G) ở đâu? Một thực tế phổ biến là bất kỳ tùy chọn một chữ cái nào cũng có thể trước bất kỳ tùy chọn một chữ cái nào khác. nên tat -xy == -yz. Nhưng điều này không rõ ràng khi một trong các tùy chọn có thể lấy một giá trị duy nhất như VALUE hoặc nhiều giá trị như VAL1, Val2, val4, v.v.

Vì vậy, để tạo lệnh FAILSAFE và hoạt động đúng cho tất cả các đầu vào, bạn phải tách -a khỏi -G

Từ man usermod:

Tên

usermod - sửa đổi tài khoản người dùng

Tóm tắc

usermod [tùy chọn] ĐĂNG NHẬP

Sự miêu tả

Lệnh usermod sửa đổi các tệp tài khoản hệ thống để phản ánh các thay đổi được chỉ định trên dòng lệnh.

Tùy chọn

Các tùy chọn áp dụng cho lệnh usermod là:

  • -a, - xuất hiện

    Thêm người dùng vào (các) nhóm bổ sung . Chỉ sử dụng với tùy chọn -G .

  • ...

  • -G, - nhóm NHÓM1 [, NHÓM2, ... [, NHÓM]]]

    Một danh sách các nhóm bổ sung mà người dùng cũng là thành viên của. Mỗi nhóm được phân tách từ nhóm tiếp theo bằng dấu phẩy, không có khoảng trắng can thiệp. Các nhóm phải tuân theo các hạn chế giống như nhóm được cung cấp với tùy chọn -g .

    Nếu người dùng hiện là thành viên của một nhóm không được liệt kê, người dùng sẽ bị xóa khỏi nhóm. Hành vi này có thể được thay đổi thông qua tùy chọn -a , bổ sung người dùng vào danh sách nhóm bổ sung hiện tại.

  • ...


Có thể giúp giải thích lý do tại sao chia tách các tùy chọn sẽ hoạt động, và chúng là những tùy chọn nào.
Journeyman Geek

@JTHERmanGeek: Xong rồi! chạy ...
Tamara Wijsman

superusers nên biết làm thế nào để người đàn ông, IMHO ...
Ярослав Рахматуллин

@ Яосла Tuy nhiên, hầu hết các câu hỏi được hỏi bởi "những người không phải là siêu nhân" và được trả lời bởi "những người siêu nhân". Một người mới sử dụng linux không có lý do để biết lệnh man. Trong mọi trường hợp, lệnh bạn đưa ra giống như lệnh được OP thực thi, câu trả lời của bạn không giải thích được tại sao nó không hiệu quả với cô ấy. Trên hệ thống của tôi ít nhất, việc chia nhỏ các tùy chọn không tạo ra sự khác biệt.
terdon

Chà, trước hết bạn không thể chạy sudo adduser name sudo adduser name2 vì đó là cú pháp không hợp lệ cho useradd . useradd có một đối số tên người dùng. Để thêm hai người dùng, bạn phải chạy lệnh hai lần. Người dùng IEadd arne; người dùng kari. Sau đó, bạn có thể thêm kari vào nhóm arnes và ngược lại. Ill tăng thêm một chút kiên nhẫn sau khi xem thêm một vài câu hỏi và trả lời đúng. lời hứa!
Ярос mặc dù chúng tôi làm việc vào

0

Nếu bạn thực hiện các lệnh chính xác như bạn đã thể hiện trong câu hỏi của mình, bạn đã không tạo người dùng Keith, mà chỉ người dùng John. Để thực hiện lần lượt từng lệnh trên dòng lệnh, bạn cần tách chúng bằng cách sử dụng ;hoặc &&. Nếu không, chỉ có lệnh đầu tiên sẽ được chạy:

sudo adduser John sudo adduser Keith
adduser: Only one or two names allowed.

Nếu bạn đã thực hiện chúng một cách chính xác, hãy cẩn thận về chữ in hoa. Trong câu hỏi của bạn, bạn đề cập đến cả "John" và "john". Điều này sẽ làm việc:

sudo adduser keith
sudo adduser john
sudo usermod -aG keith john

0

Bạn cũng có thể chỉnh sửa các tệp cấu hình theo cách thủ công:

sudo nano /etc/password
sudo nano /etc/group

Chỉ định ID và các lĩnh vực khác.

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.