Команда usermod

Опубликовано mensh - вс, 10/05/2008 - 14:49

Для изменения учетной записи пользователя (account) используются команды usermod и chfn. Изменять можно любые атрибуты, но имя пользователя и код UID изменять нужно лишь в случае крайней необходимости, поскольку такое изменение может иметь общесистемные последствия.

Для смены имени пользователя вначале указывается новое имя, а затем старое:

# usermod -l pupkov pupkin

Для изменения UID без изменения имени пользователя сначала указывается новый код UID, а затем имя:

# usermod -u 1100 pupkov

Принадлежность пользователя к группам не изменяется и владельца crontab, почтовых каталогов, файлов в общих каталогах, временных файлов /tmp придется изменить вручную.

Для поиска файлов можно воспользоваться командой find с указанием исходного кода UID (прежний uid=1004):

# find /home/src -uid 1004
/home/src/xxkb-1.10
/home/src/xxkb-1.10/xxkb.c
/home/src/xxkb-1.10/by15.xpm
/home/src/xxkb-1.10/README-Linux.koi8
/home/src/xxkb-1.10/en15.xpm
/home/src/xxkb-1.10/Makefile.bak
/home/src/xxkb-1.10/ru15.xpm
/home/src/xxkb-1.10/wlist.h
/home/src/xxkb-1.10/XXkb.ad
/home/src/xxkb-1.10/ua48.xpm
/home/src/xxkb-1.10/CHANGES.koi8
/home/src/xxkb-1.10/README.koi8
/home/src/xxkb-1.10/LICENSE
/home/src/xxkb-1.10/ua15.xpm
/home/src/xxkb-1.10/xxkb.man
/home/src/xxkb-1.10/xxkb.h
/home/src/xxkb-1.10/Imakefile
/home/src/xxkb-1.10/su48.xpm
/home/src/xxkb-1.10/by48.xpm
/home/src/xxkb-1.10/ru48.xpm
/home/src/xxkb-1.10/Makefile
/home/src/xxkb-1.10/xxkb.o
/home/src/xxkb-1.10/wlist.c
/home/src/xxkb-1.10/xxkb.spec
/home/src/xxkb-1.10/resource.c
/home/src/xxkb-1.10/en48.xpm
/home/src/xxkb-1.10/su15.xpm

Для смены владельца файлов используется команда chown:

chown 1100 /home/src/xxkb-1.10/xxkb.c

Последовательная смена владельца для значительного количества файлов — весьма скучное и недостойное пользователя Linux занятие, поэтому делаем следующее:

# find /home/src -uid 1004 -exec chown -v 1100 {} \;
изменен владелец `/home/src/xxkb-1.10` на 1100
изменен владелец `/home/src/xxkb-1.10/xxkb.c` на 1100
изменен владелец `/home/src/xxkb-1.10/by15.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/README-Linux.koi8` на 1100
изменен владелец `/home/src/xxkb-1.10/en15.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/Makefile.bak` на 1100
изменен владелец `/home/src/xxkb-1.10/ru15.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/wlist.h` на 1100
изменен владелец `/home/src/xxkb-1.10/XXkb.ad` на 1100
изменен владелец `/home/src/xxkb-1.10/ua48.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/CHANGES.koi8` на 1100
изменен владелец `/home/src/xxkb-1.10/README.koi8` на 1100
изменен владелец `/home/src/xxkb-1.10/LICENSE` на 1100
изменен владелец `/home/src/xxkb-1.10/ua15.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/xxkb.man` на 1100
изменен владелец `/home/src/xxkb-1.10/xxkb.h` на 1100
изменен владелец `/home/src/xxkb-1.10/Imakefile` на 1100
изменен владелец `/home/src/xxkb-1.10/su48.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/by48.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/ru48.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/Makefile` на 1100
изменен владелец `/home/src/xxkb-1.10/xxkb.o` на 1100
изменен владелец `/home/src/xxkb-1.10/wlist.c` на 1100
изменен владелец `/home/src/xxkb-1.10/xxkb.spec` на 1100
изменен владелец `/home/src/xxkb-1.10/resource.c` на 1100
изменен владелец `/home/src/xxkb-1.10/en48.xpm` на 1100
изменен владелец `/home/src/xxkb-1.10/su15.xpm` на 1100

Если заменить ключ -exec на -ok, то команда find будет запрашивать подтверждение каждого изменения:

# find /home/src -uid 1004 -ok chown -v 1100 {} \;

Для перемещения домашнего каталога со всем содержимым или автоматического создания каталога при его отсутствии используется команда usermod с обязательными ключами -d и -m, при этом сначала указывается новый каталог, а затем имя пользователя:

# usermod -d /home/pupkov -m pupkov

Изменение пользовательских данных:

# chfn pupkov
Changing the user information for pupkov
Enter the new value, or press ENTER for the default
 Full Name []:
 Room Number []:
 Work Phone []:
 Home Phone []:
 Other []:

Содержимое полей Full Name и Other могут редактироваться лишь суперпользователем.