LINUX.ORG.RU

Странное поведение usermod

 , ,


0

1

На какой-то странный глюк нарвался в Linux Debian. Создал пользователя name2 и группу name2 - отдельно, как системные; возможно, это и не имеет никакого значения, но тем не менее… Потом решил «соединить» пользователя с группой (потому что группа по-умолчанию была users на вновь создаваемые им файлы: name2:users, судя по выдаче ls), но ошибся и добавил ТЕКУЩЕГО в эту новую группу: usermod -g name2 name1 (вместо usermod -g name2 name2). Процесс повис! Это что ещё такое? Прервал ctrl+c, испугавшись за непредсказуемое поведение; оно ещё и ЦПУ начало жрать. Повтор этой же команды выдал usermod: no changes. Ладно. Далее понял, что написал не то, и решил вернуть: usermod -g name1 name1. И опять повисло!! Опять прервал. Вроде бы пока всё работает, но что это было??



Последнее исправление: aboite (всего исправлений: 1)

Какая-то невнятная каша. Сначала был юзер name1, затем user1. Понять ничего не возможно из такой каши, кроме того, что автору стоит ещё подучиться, и поэкспериментировать где-нибудь в виртуалке/контейнере, а то быстро ухайдокает систему.

По теме: пользователи и основная группа определены в /etc/{passwd,shadow}, дополнительные группы в /etc/group. Если непонятно, изменилось что-то после usermod или нет, а также, как это поправить, можно в них заглянуть. Но править автору я бы не рекомендовал: если не хватает способностей ясно изложить свои мысли, то скорее всего, попытка что-то править вручную в этих файлах, приведёт к катастрофе.

Chiffchaff
()

К внешним источникам пользователей / групп (LDAP / AD) система не подключена?

Что в nsswitch.conf?

kostik87 ★★★★★
()
Ответ на: комментарий от Chiffchaff

каша. Сначала был юзер name1, затем user1

Исправил, везде name1 или name2. name1 - текущий пользователь. Кривая концепция, группа и пользователь неотличимы на уровне именования. Команды похожи на имена: users, usermod, user; группа - тоже user. ))

aboite
() автор топика
Последнее исправление: aboite (всего исправлений: 3)
Ответ на: комментарий от aboite

Кривая концепция, группа и пользователь неотличимы на уровне именования.

Напиши в консорциум UNIX / Linux, можешь самому Линусу, скажи, что идея - овно, переделывай.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Обычный простой дистр. Я ничего не делал специально, для администрирования пользователей и групп. Вроде бы.

nsswitch.conf

passwd:         files
group:          files
shadow:         files
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis
aboite
() автор топика
Ответ на: комментарий от aboite
passwd:         files systemd
group:          files systemd
shadow:         files systemd
gshadow:        files systemd

hosts:          files dns
networks:       files

localhost случаем из /etc/hosts не убран или hostname?

ping localhost
hostname -f
ping `hostname`
ping `hostname -f`

Должны корректно отрабатывать.

kostik87 ★★★★★
()

То есть у вас ни у кого эта «фича» не воспроизводится? Я такое повторять у себя больше не хочу. Ну суть в том, что usermod -g newgroup currentuser уходит в cpu-load фриз почему-то. А потом ещё и usermod -g currentgroup currentuser, аналогично. Может быть дело в том, что открыта сессия у этого currentuser?

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

aboite
() автор топика
Ответ на: комментарий от aboite

Скрипт scr.sh:

#!/bin/bash
echo groupadd test02
time groupadd test02
echo useradd -m -s /bin/bash test01
time useradd -m -s /bin/bash test01
echo usermod -g test02 test01
time usermod -g test02 test01
echo groupadd -r test03
time groupadd -r test03
echo usermod -g test03 test01
time usermod -g test03 test01
echo userdel test01
time userdel test01
echo groupdel test01
time groupdel test01
echo groupdel test02
time groupdel test02
echo groupdel test03
time groupdel test03

Запуск скрипта scr.sh:

./scr.sh
groupadd test02

real    0m0.069s
user    0m0.002s
sys     0m0.008s
useradd -m -s /bin/bash test01

real    0m0.076s
user    0m0.004s
sys     0m0.012s
usermod -g test02 test01

real    0m0.022s
user    0m0.009s
sys     0m0.000s
groupadd -r test03

real    0m0.030s
user    0m0.009s
sys     0m0.001s
usermod -g test03 test01

real    0m0.025s
user    0m0.009s
sys     0m0.000s
userdel test01
userdel: group test01 not removed because it is not the primary group of user test01.

real    0m0.159s
user    0m0.003s
sys     0m0.013s
groupdel test01

real    0m0.031s
user    0m0.003s
sys     0m0.006s
groupdel test02

real    0m0.057s
user    0m0.002s
sys     0m0.008s
groupdel test03

real    0m0.030s
user    0m0.002s
sys     0m0.008s
kostik87 ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.