Переименование пользователя в Linux.
Необходимо переименовать пользователя и его домашний каталог.
Собственно переименовать пользователя легко (используется дистрибутив Debian). От имени root выполняем команды:
# groupmod --new-name newuser olduser
# usermod --login newuser --home /home/newhome olduser
Перемещение домашнего каталога командой mv
не ограничится:
# mv /home/oldhome /home/newhome
Множество программ, используемых пользователем, использует файлы настроек (dot-файлы). Их придется править вручную ((. В каждом случае решение о правке приходится принимать человеку на основании знания форматов конфигурационных файлов.
Находим все вхождения слова olduser
в конфигурационных файлах:
# find /home/newhome -maxdepth 2 -type f | xargs grep -Hn
Обычно пользовательские конфигурационные файлы находятся в корне домашнего каталога пользователя или в соответствующем подкаталоге. Потому глубина поиска ограничена 2.
Можно было использовать следующий способ поиска вхождений:
# grep -Hn user .* .*/*
правда некоторые программы отклоняются от стандартов именования конфигурационных файлов (или каталогов с конфигурационными файлами) - их названия не начинается с точки (dot).
Я для правок использовал команду Emacs grep-find
, это позволяло мне быстро переходить в место вхождения заменяемого слова:
C-x d C-a C-k /home/newuser RET
С-x grep-find grep -Hn user .* .*/* RET
C-x ` =edit= C-x ` =edit= C-x ` =edit= C-x ` ....
Приятного Вам переименовывания пользователей!
0 comments:
Отправить комментарий