Làm thế nào để loại bỏ một người dùng khỏi một nhóm?


108

Tôi đã thêm một tài khoản người dùng vào adminnhóm và phát hiện ra tôi đã thêm người dùng sai. Vì vậy, bây giờ tôi phải xóa tài khoản khỏi adminnhóm.

Làm cách nào để xóa tài khoản khỏi nhóm mà không xóa người dùng?

Câu trả lời:


144

Câu trả lời của Portablejim là chính xác nhưng nguy hiểm - nếu bạn đánh máy một cái gì đó, hệ thống của bạn có thể không sử dụng được, đặc biệt nếu bạn thay đổi nhóm quản trị viên không đúng cách. Nếu bạn phải chỉnh sửa tệp nhóm, hãy sử dụng các lệnh vipw -ghoặc vigrxác minh cú pháp trước khi lưu. Thậm chí sau đó, có những cách tốt hơn.

Từ một dòng lệnh, cái bạn có thể muốn sử dụng là như sau (dưới dạng root):

deluser <username> <groupname>

Điều này sẽ xóa người dùng được chỉ định khỏi nhóm được chỉ định. Bạn phải đăng nhập lại để thấy hiệu quả. Nó sẽ không xóa người dùng, hoặc nhóm, chỉ là thành viên. Cũng có nhiều cách để thực hiện bằng usermodlệnh, nhưng khó sử dụng hơn vì bạn cần thay thế toàn bộ danh sách các nhóm cho người dùng để xóa một nhóm. Các gpasswdlệnh cũng có khả năng để làm điều này (như sagarchalise chỉ ra), nhưng chủ yếu là phản đối. Như mọi khi, xem các trang người đàn ông để biết thêm chi tiết.


9
gpasswdkhông được phản đối Toàn bộ mục đích của nó là quản trị / etc / group và / etc / gshadow. Ngoài ra, trong khi phương thức của bạn không hoạt động và được đề cập trong trang man deluser, nó có một chút rủi ro. Nếu bạn vô tình nhấn enter trước khi bạn nhập tên nhóm, bạn đã xóa người dùng. Hy vọng tốt hơn là bạn nhớ UID của nó để bạn có thể thêm lại nhanh chóng. Sẽ an toàn hơn khi sử dụng gpasswd được thiết kế cho mục đích này.
Sao biển

1
Tôi cũng nghĩ về nguy cơ này. Tôi đoán bạn luôn có thể bắt đầu một lệnh như vậy với '#', nhấn enter và sau đó chạy lại nó trong khi chỉ xóa ký tự đầu tiên.
ezequiel-garzon

"Bạn phải đăng nhập lại để thấy hiệu quả." ... hoặc bạn chỉ có thể viết: 'cat / etc / group'
josh.thomson

Tôi đã tìm thấy delusertrong khi tìm kiếm các trang man (ở đây với Ubuntu 18 vào năm 2018), nhưng dòng đầu tiên trong trang man nói: "xóa người dùng hoặc nhóm khỏi hệ thống", vì vậy tôi đã chuyển sang tìm kiếm của mình. Rõ ràng trang người đàn ông cần phải được nói tốt hơn.
tim.rohrer

Tôi tìm thấy câu trả lời này trong một bài báo và ngay lập tức những sợi tóc sau gáy tôi dựng đứng. Tôi không biết tại sao rất nhiều người thích và chấp nhận câu trả lời này, nhưng nó nguy hiểm IMHO; đặc biệt là root. Câu trả lời của Anthony Geoghegan là giải pháp thích hợp; đúng như Starfish nói.

46

Bạn có thể làm được việc này:

sudo gpasswd -d username group

Bạn cũng nên xem hướng dẫn của gpasswd


4
Một lợi thế của gpasswdnó là nhiều nền tảng hơn và cũng hoạt động trên các bản phân phối dựa trên Red Hat.
Anthony Geoghegan

Đây là câu trả lời đúng. Nếu chỉ có nó tăng lên hàng đầu.

Bạn có thể chỉnh sửa câu trả lời của mình để giải thích cờ -d không? (Dù sao tôi cũng đã bình chọn cho nó là câu trả lời hay nhất! Cảm ơn bạn!)
Aerendir

2

Cách dễ nhất và an toàn nhất:

sudo -H gedit /etc/group

và xóa nó bằng tay.


Tôi thấy điều này ghen tị. ssh:x:118: Ý nghĩa của số 118ở đây là gì?
ankit7540

chắc chắn KHÔNG phải là cách an toàn nhất!
gọi

2

Xem câu trả lời của zanfur.

Chỉnh sửa /etc/grouptệp dưới dạng root (tức là gksudo gedit /etc/group) và xóa tên người dùng khỏi dòng bắt đầu bằng 'admin'

I E

...
admin:x:120:adminuser,adminuser2,userthatshouldnotbeadmin
...

trở thành

...
admin:x:120:adminuser,adminuser2
...

Được cảnh báo, lỗi chính tả trong tệp có thể phá vỡ hệ thống của bạn.


11
Xin đừng khuyên để chỉnh sửa các tập tin hệ thống theo cách thủ công. Trong trường hợp bạn làm hỏng hệ thống của bạn có thể không truy cập được.
gertvdijk

Hoặc ít nhất là sao lưu chúng lên đầu tiên. ( Thông tin liên quan. )
Eliah Kagan

2
Tôi nghĩ bạn nên đăng bài này vì nó là cái nhìn sâu sắc có giá trị về cách Linux hoạt động. Tuy nhiên, nên bao gồm một cảnh báo rằng có một cách an toàn hơn nhiều
Freedom_Ben
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.