Переименование пользователя
Задача такая: переименовать пользователя school (старое имя) в school9 (новое имя).
В интернете много инструкций выполнить переименование в Терминале с помощью команды usermod -l new_username old_username. Пробы показали, что не удаётся самому себя переименовать, что было ожидаемо. Корректно запустить переименование от имени root в работающей системе у меня не получилось:
Я не придумал ничего лучшего, чем выполнить найденные рекомендации в консоли от имени root, благо, что этого пользователя я активировал. Перезагружаюсь…
Cоглашаюсь и появляется:
Быстро печатаю root и ввожу его пароль (вхожу в консоль от имени root):
Получаю приглашение выполнить команды от имени root, что я и последовательно делаю: root13
После чего я запускаю команду reboot (перезагрузка).
Ввожу новый логин school9, старый пароль и вхожу в систему.
Подробней по поводу четырёх команд в консоли:
usermod -l school9 school — переименовать пользователя school в school9;
usermod -d /home/school9 -m school9 — домашний каталог старого пользователя сделать домашним для school9. В этом случае вся информация старого пользователя переходит к новому. Без этой команды старая информация будет недоступна новому, но, я думаю, что она будет храниться где-то на диске и, полагаю, что до неё можно добраться, добавив (восстановив) пользователя school.
Смысл 3-ей и 4-ой команд мне не очень понятен, но я лучше их выполню.
Другой способ переименования состоит в том, что добавляем нового пользователя с нужным именем и паролем. Наделяем его правами администратора (не поясняю пока как), перезагружаюсь и вхожу под новым пользователем и удаляю старого. Понятно, что информация старого пользователя будет потеряна, а новый начнёт с чистой системы. Полагаю, что установленные программы в основном сохранятся.
Добавление пользователя
Выполняю в Терминале sudo adduser school9 , на картинке всё видно. По ходу выбираю значения по умолчанию и подтверждаю:
Закрываю Терминал, делаю скриншот части рабочего стола: (вид1)
Перезагружаюсь, пока только одна учётка для входа:
Вверху экрана входа выбираю Действия — Ввод имени пользователя, ввожу логин school9 и соответствующий пароль. После очередной перезагрузки на стартовом экране буду видно оба пользователя и выбирать Ввод имени пользователя не потребуется:
Войдя в систему, как school9, вижу, что установленные пользователем school Кумир и Яндекс-браузер, присутствуют и у нового пользователя:
Но в системных приложениях не вижу Synaptic:
Пытаюсь в Терминале запустить обновление пакетов с помощью sudo, но получаю в ответ типа: «school9 нет в списке, буду жаловаться»:
В общем понятно, что права и функционал у нового пользователя не тот, что у первоначального.
По поводу sudo: ах, да, я забыл внести school9 в файл sudoers. Надо возвращаться в систему как school и править нужный файлик (а может и не надо?).
На всякий случай покажу.
Захожу как school и в Терминале запускаю sudo nano /etc/sudoers, нахожу в файле (бегу курсором вниз) строку # User privilege specification. В свободной строке ниже печатаю school9 ALL=(ALL:ALL) ALL
^O Записать — нажимаю Ctrl+O. Имя файла для записи: /etc/sudoers подтверждаю энтером. Далее Ctrl+X для выхода.
Получилось не с первого раза, где-то сделал ошибку и файл стал не совсем рабочим. Исправить пользователем school не удаётся и пришлось править под root-ом (переключился командой su root, всё получилось):
Замечу, что в файлике /etc/sudoers присутствует строка %sudo ALL=(ALL:ALL) ALL, которую я понял, как описание прав группы sudo. Походил по форумам и догадался, что проще добавить school9 в группу sudo, нашёл команду sudo adduser school9 sudo — добавить school9 в группу sudo:
А в последних четырёх строках я вижу, в какие группы входят пользователи school и school9, разница существенная.
Вернусь к переименованию пользователя.
Первый раз, когда мне потребовалось переименовать school в school9, воспользовавшись советами из интернета, я создал нового пользователя, наделил его правами sudo (не помню как), а старого school удалил (система была только что установленная). Сейчас возник вопрос, каковы права school9?
Удаление пользователя
Создали пользователя с ограниченными правами, он поработал и комп передали другому. Старая информация уже не нужна. Как удалить всё? Команда deluser school9 удаляет только учётку, лучше sudo deluser school9 —remove-home (удаляет и домашнюю папку, где в основном работал пользователь):
Возможно, лучше sudo deluser school9 —remove-all-files с удалением пользователя и всех его файлов. Но после предыдущей команды пользователя уже нет, но, может, какие-то файлы и остались…