Будучи новичком в администрировании Linux, я немного запутался в следующих командах:
useradd
usermod
groupadd
groupmod
Я только что закончил читать книгу по администрированию пользователей в руководстве администратора Linux / Unix, но некоторые вещи все еще немного туманны.
В основном useradd
кажется достаточно простым:
useradd -c "David Hilbert" -d /home/math/hilbert -g faculty -G famous -m -s /bin/sh hilbert
Я могу добавить «Дэвида Хилберта» с именем пользователя hilbert
, установив его каталог по умолчанию, оболочку и группы. И я думаю, что -g
это его основная группа / группа по умолчанию и -G
другие его группы.
Итак, это мои следующие вопросы:
- Будет ли эта команда все еще работают , если группы
faculty
иfamous
не существовало? Будет ли это просто создать их? - Если нет, какую команду я использую для создания новых групп?
- Если я удалю пользователя,
hilbert
и в этих группах не будет других пользователей, они все еще будут существовать? Должен ли я удалить их? - После того, как я выполню
useradd
команду выше, как мне удалить Дэвида изfamous
группы и переназначить его основную группу,hilbert
которой еще не существует?
usermod -g hilbert hilbert
это, удалит ли другие группы Гильберта? Если да, то как бы я сохранил эти другие группы? Если нет, то я бы удалил его из других его групп?Вы должны прочитать,
man usermod
что объясняет, что происходит с различными опциями:заменит вашу регистрационную группу с 'faculty' на 'hilder', пока существует группа 'hilder'. Если он не существует, то сначала нужно создать его с помощью groupadd.
Когда вы используете эту
-G
опцию, вы должны также использовать-a
опцию, чтобы добавлять новые группы в текущий список дополнительных групп, к которым принадлежит пользователь 'hilder'. Без-a
опции вы замените текущие дополнительные группы новым набором групп. Поэтому используйте это осторожно.источник
Чтобы изменить основную группу пользователя в Linux:
usermod -g new_group user_name
Чтобы проверить ваши изменения, запустите
id
и посмотрите на значениеgid=
Если команда выполняется без ошибок, но gid не изменился, вы пропустили жирную часть шага 2.
источник
Ответ № 1 хорош, но вы также можете добавить следующее, чтобы добавить новую группу:
# nano /etc/group
Недостатком
/etc/group
прямого редактирования является то, что вам придется придумать неиспользованный GID (идентификационный номер группы).Следующее позволит вам изменить основную группу пользователя.
# nano /etc/passwd
Вы определяете местоположение пользователя и изменяете GID (номер группы, ищите его
/etc/group
), помните, что синтаксис выглядит следующим образом:Там нет недостатка я могу думать о таком подходе (если вы знаете GID), это то , что я часто использую для локальных пользователей, в основном потому , что я использую много различных систем UNIX с различной
usermod
,adduser
иuseradd
параметрами командной строки.Это немного больше руководства, однако делает работу. Обратите внимание, что вы можете использовать
vi
isonano
для редактирования файлов, если вы знаетеvi
.источник
Чтобы навсегда изменить основную группу пользователя, выполните:
Или вы можете использовать
newgrp
для небольшой среды и временной ситуации.Создайте нового пользователя bob и новую группу
dodo
.Так что в RedHat / Centos у нас есть UID = (ID_number) bob; GID = (ID_number) боб в качестве основной группы по умолчанию
Добавьте пользователя bob в
dodo
группу:Далее используйте
newgrp
для смены владельца:Будьте осторожны, чтобы в вашей учетной записи был пароль и он был членом будущей основной группы. И newgrp открывает новую оболочку; пока пользователь остается в этой оболочке, основная группа не изменится. Чтобы переключить основную группу обратно на исходную, вы можете покинуть новую оболочку, выполнив команду exit.
источник