Назад | Перейти на главную страницу

Удалить пользователя из корневой группы

Каким-то образом мне удалось добавить пользователя Tom в корневую группу в Ubuntu, чтобы каждый раз не использовать sudo (плохое решение). Теперь я хочу удалить его и не могу.

Я пробовал использовать

usermod -G {groups} Tom 

Мой файл / etc / sudoers следующий:

Defaults        env_reset

root    ALL=(ALL) ALL

%sudo ALL=(ALL) ALL

%admin ALL=(ALL) ALL

Указание всех групп, кроме root, и никаких изменений не производится. Любая идея? Спасибо

Изменить: этот ответ был сильно отредактирован с исходной версии. Оригинал был распространен на пару обновлений, так что, надеюсь, они представляют собранные в логическое резюме)

укороченная версия: Глядя на предоставленный вами вывод, я не думаю, что вы поместили Тома в корневую группу, я думаю, что вы изменили основную группу пользователей root на Тома.

Длинная версия:

Вывод, который вы предоставили, на самом деле был информацией о пользователях и группах для пользователя root, а не для пользователя Tom, однако он очень полезен, поскольку выявляет проблему для вашей системы;

 # id
 uid=0(root) gid=1001(Tom)    
 grupos=0(root),1001(Tom),1002(subversion),117(nagios),1004(reweb)  

Этот вывод показывает, что здесь проблема то есть вы изменили основную группу пользователей root на Tom что, вероятно, не то, что вы имели в виду uid=0(root) gid=1001(Tom); <--- это плохо. и, вероятно, вызывает проблемы.

Следствием этого является то, что вокруг может быть множество файлов, принадлежащих группе Том, и они появятся в таких местах, как / var / log.

rw------- 1 root Tom 332203 Feb 24 21:17 messages

Это связано с тем, что root создает множество файлов для служб, работающих от имени root, и будет создавать новые файлы с основной группой пользователя root. который сейчас Том. Вы можете исправить проблему с корневой основной группой с помощью следующей команды;

# usermod -g root root

тем не мение эта основная групповая проблема могла иметь некоторые странные последствия, такие как оставление файлов повсюду в неожиданных местах с группой Том потому что любые файлы, созданные root, будут иметь права группы Tom.

Исправление разрешений для файлов, созданных с помощью Tom group это довольно легко, если вы можете их найти

Из-за проблемы с корневой основной группой, упомянутой выше, вам следует исправить эти разрешения, построив find / -group Tom введите команду, чтобы увидеть, где эти файлы существуют.

# find / -group Tom
/var/somepath/somefile.txtx
/var/somepath/somefile.txtx2

и исправить эти файлы с помощью чего-нибудь вроде;

chown :root /var/somepath/somefile.txtx2

если вы не заботитесь о сбросе пользовательских файлов Tom в root, когда они находятся за пределами каталога / home / Tom, вы можете просто вернуть все испорченные разрешения группы обратно в root, вот так;

find / \( -type d -regex "/home/Tom" -prune \) -o -group Tom -print -exec chown :root {} \;

но я бы посмотрел эту команду перед ее запуском, на случай, если она испортит вашу систему ....


Учитывая то, что вы сказали, следующие команды должны исправить как root, так и Tom до значений по умолчанию в отношении основных групп;

убедитесь, что root имеет основной корень группы;

#usermod -g root root

убедитесь, что у Тома есть основная группа Том

# usermod -g Tom Tom

убедитесь, что Том не входит в корневую группу

# gpasswd -d Tom root
Removing user Tom from group root

убедитесь, что root не входит в группу Tom

# gpasswd -d root Tom
gpasswd: unknown member root

Если вы хотите, чтобы "Том" не получил любой права администратора, вы можете дополнительно проверить, что «Том» не входит в группы sudo или admin;

  # gpasswd -d Tom sudo
  # gpasswd -d Tom admin

Вы должны предпочесть использовать vigr команда для редактирования /etc/group. Он запустит ваш редактор для копии файла; когда ваш редактор закроется, он проверит синтаксис и заменит только /etc/group если новый файл проверяется.

Соответствующий vipw команда для редактирования /etc/passwd слишком.

Попробуйте удалить его вручную, отредактировав / etc / group

В каждой группе есть список пользователей, разделенных запятыми.

Не уверен, что это соответствует передовой практике, но это работает.