Як видалити користувача з групи?


107

Я додав обліковий запис користувача до adminгрупи та виявив, що я додав неправильного користувача. Тому мені зараз доведеться видалити обліковий запис із adminгрупи.

Як я можу видалити обліковий запис із групи, не видаляючи користувача?

Відповіді:


143

Відповідь Portablejim точна, але небезпечна - якщо ви щось набираєте, ваша система може бути непридатною, особливо якщо ви неправильно змінили групу адміністратора. Якщо ви повинні відредагувати файл груп, використовуйте команди vipw -gабо vigrкоманди, які перевіряють синтаксис перед збереженням. Вже тоді є кращі способи.

Із командного рядка ви, мабуть, хочете використовувати наступне (як корінь):

deluser <username> <groupname>

Це видалить вказаного користувача із зазначеної групи. Щоб побачити ефект, ви повинні переробити. Це не видалить користувача або групу, а лише членство. Існують також способи зробити це за допомогою usermodкоманди, але це складніше використовувати, оскільки вам потрібно замінити весь список груп для користувача, щоб видалити одну групу. gpasswdКоманда також здатна робити це (як sagarchalise вказує), але в основному НЕ рекомендується. Як завжди, див. Довідкові сторінки для отримання більш детальної інформації.


9
gpasswdне застаріло. Вся його мета - управління / etc / group та / etc / gshadow. Крім того, поки ваш метод працює, і він згадується на чудовій сторінці чоловіка, це трохи ризиковано. Якщо ви випадково натиснули клавішу Enter перед введенням назви групи, ви видалите користувача. Сподіваємось, ви запам'ятаєте його UID, щоб ви могли швидко додати його. Безпечніше було б використовувати gpasswd, який призначений для цієї мети.
Морська зірка

1
Я думав і про цей ризик. Я думаю, що ви завжди можете запустити таку команду з "#", натисніть клавішу Enter, а потім повторно виконайте її, просто видаляючи перший символ.
ezequiel-garzon

"Ви повинні переробити, щоб побачити ефект." ... або ви могли просто написати: "cat / etc / group"
josh.thomson

Я був знайдений deluserпід час пошуку сторінок "man" (тут з Ubuntu 18 в 2018 році), але перший рядок на сторінці man вказав: "видалити користувача або групу з системи", тому я продовжив пошук. Очевидно, що чоловікову сторінку потрібно сформулювати краще.
tim.rohrer

Цю відповідь я знайшов у статті і одразу волоски на потилиці піднялися. Я не знаю, чому так багато людей люблять і приймають цю відповідь, але це небезпечно ІМХО; esp як корінь. Відповідь Ентоні Геоґегана - правильне рішення; так само, як говорить і Морська зірка.

46

Ви можете зробити це:

sudo gpasswd -d username group

Ви також повинні ознайомитися з керівництвом gpasswd


4
Однією з переваг gpasswdє те, що це більше кросплатформна платформа, а також працює над дистрибутивами на основі Red Hat.
Ентоні Геоґеган

Це правильна відповідь. Якби тільки він піднявся на вершину.

Чи можете ви редагувати свою відповідь, щоб пояснити, що робить прапор -d? (Я все одно проголосував за найкращу відповідь! Дякую!)
Aerendir

2

Найпростіший і безпечний спосіб:

sudo -H gedit /etc/group

та видаліть її вручну.


Я бачу це одне добро. ssh:x:118: Яке значення числа 118тут?
ankit7540

безумовно НЕ найбезпечніший спосіб!
callmebob

2

Дивіться відповідь занфура.

Відредагуйте /etc/groupфайл як корінь (тобто gksudo gedit /etc/group) та видаліть ім’я користувача із рядка, що починається з 'admin'

тобто

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

стає

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

Будьте попереджені, помилки у файлі можуть порушити вашу систему.


11
Не радимо редагувати ці системні файли вручну. У випадку, якщо ви накрутите вашу систему, вона може стати недоступною.
gertvdijk

Або хоча б створити резервну копію спочатку. ( Пов'язана інформація. )
Елія Каган

2
Я думаю, ви повинні опублікувати це, оскільки це цінне розуміння того, як працює Linux. Однак слід включити попередження про те, що існує набагато безпечніший спосіб
Freedom_Ben
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.