Làm cách nào để thêm nhóm vào người dùng mà không xóa nhóm khác trong suse linux bằng usermod?


7

Tôi có một người dùng, có một nhóm chính & một nhóm phụ, như:

[ testuser Welcome ~ ]$ id

uid=2000(testuser) gid=2000(testuser) groups=2000(testuser),27(sudo),2001(testgroup)

Nhóm chính là testuser& nhóm thứ cấp là testgroup.

Bây giờ, tôi cố gắng thêm một nhóm testgroup2 nữa vào người dùng đó bằng lệnh bên dưới

usermod -G testgroup2 testuser

nhưng nó đã loại bỏ nhóm thứ cấp trước ( testgroup) và thêm nhóm mới. Nhu cầu của tôi là nhóm thứ cấp trước không nên bị loại bỏ và nhóm thứ cấp mới nên được thêm vào.

Tôi đã thấy trong Ubuntu, có một tùy chọn giống như -acó thể nối thêm nhóm với người dùng mà không xóa nhóm khác.

Xin vui lòng cho tôi biết là nó cũng có thể trên suse linux hay không ...?

Cảm ơn !!!


Anh ấy cũng thuộc nhóm thứ cấp sudo.
ctrl-alt-delor

Phiên bản của usermod trong opensuse 13.1 có -atùy chọn. Bạn có phiên bản nào?
Đánh dấu Plotnick

Phiên bản nào của suse hoặc opensuse bạn đang chạy?
Đánh dấu Plotnick

SUSE Linux Enterprise Server 11 (x86_64) PHIÊN BẢN = 11 PATCHLEVEL = 3
joy87

Câu trả lời:


4

Trong SLES11 SP3, usermodlệnh (từ pwdutils 3.2.15) hỗ trợ -Atùy chọn sẽ làm những gì bạn muốn:

-A, --add-to-group group,...
    With this option a list of  groups can be specified, which the user should
    become a member of. Each group is separated from the next one only by a comma,
    without whitespace.

Trong SLES12 và OpenSUSE 13.1, usermodlệnh (từ bóng tối được sử dụng rộng rãi hơn 4.1.5.1) hỗ trợ một -atùy chọn được sử dụng cùng với -Gtùy chọn:

-a, --append
    Add the user to the supplemental group(s). Use only with -G option.

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

    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.

Tùy chọn thứ hai, usermod -G groupName -a userNamelà lựa chọn phù hợp trong Arch hiện tại
Chris Magnuson

3

Nếu bạn usermodkhông có cách nào để nối thêm (thậm chí không -A), hãy thử xử lý nhóm nhóm hiện tại:

usermod -G "$(groups testuser | sed 's/.*: //;s/ /,/g'),testgroup2" testuser

CentOS 6.6 không làm gì với usermod -a -G squid testuser. Nó nêu -a, --appendtùy chọn trong trang man nhưng khi tôi chạy lệnh tôi đã nói nó trả về phản hồi no changesđó là những gì nó đã làm. Tuy nhiên, lệnh của bạn đã hoạt động, trước khi tôi thử đặt -a sau tên nhóm và trước tên người dùng.
BeowulfNode42

1

Lệnh này làm cho bạn chỉ định một danh sách của tất cả các nhóm, nó thay thế các nhóm cũ.

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

Thay vào đó sử dụng adduser:

adduser [options] user group

adduser có thể được sử dụng để thêm người dùng, nhưng cũng có thể thêm người dùng vào một nhóm.


hoặc như @mark cốt truyện chỉ ra, hãy sử dụng -atùy chọnusermod


cảm ơn bạn đã trả lời..nhưng tùy chọn -a không có sẵn trong suse linux, có tùy chọn nào khác để nối thêm nhóm mà không xóa nhóm cũ không.
niềm vui87
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.