Рейтинг:0

Как восстановить пользовательский каталог на сервере Ubuntu 20.04

флаг us

Для проекта у меня есть два сервера, промежуточный и производственный. Проект очень старый, и я не обновлял ОС с Ubuntu 14.04. Поскольку об обновлении не могло быть и речи, недавно я перенес производственный сервер на новый VPS с Ubuntu 20.04.2. Я не уверен, где я ошибся, но теперь это симптомы:

Продвижение Воронга
Всякий раз, когда я подключаюсь к серверу по SSH как root, все нормально, но когда я переключаюсь на обычного пользователя с су appuser подсказка становится голой $, без имени пользователя, без имени хоста и без пути в приглашении.

Нет автозаполнения
Кроме того, я не могу автозаполнять пути в командах. т.е. когда я печатаю /хо и ударил Вкладка, вместо того, чтобы строка стала /дом буквальный символ табуляции добавляется как /хо .

Нет истории команд
Когда я ударил ВВЕРХ ключ, вместо получения последней выполненной команды строка становится $ ^[[А.

Задания Cron не выполняются
У меня есть несколько cronjobs, и я уверен, что нет проблем с определяющей строкой или службой, которую они вызывают, поскольку они работали на старом рабочем сервере и все еще работают на промежуточном сервере. Задания вообще не выполняются на новом сервере.

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

Как я могу отремонтировать пользователь приложения?

Mikael H avatar
флаг br
Похоже, создание пользователя пошло не так. Обычно содержимое `/etc/skel` копируется в новые учетные записи пользователей. Попробуйте сделать это вручную, исправьте права доступа к файлу, если это применимо, а затем повторно войдите в учетную запись `appuser`.
Gabriel Núñez Yuvé avatar
флаг cn
Просто чтобы убедиться, вы проверили, что домашняя папка и оболочка по умолчанию установлены для этого пользователя в `/etc/passwd`?
Majid Fouladpour avatar
флаг us
@GabrielNúñezYuvé Хороший улов! В /etc/passwd у меня есть эта строка для appuser: `appuser:x:1000:1000::/home/appuser:/bin/sh`, которая, что интересно, отличается от строки root: `root:x:0: 0:root:/root:/bin/bash`, поэтому у меня есть пустой токен после идентификатора группы и `sh` вместо `bash`. Я сравнил домашний каталог с `/etc/skel`, как рекомендовал Микаэль, но не нашел отсутствующих файлов. Пожалуйста, добавьте ответ и посоветуйте, целесообразно ли редактировать `/etc/passwd` с помощью nano или это следует делать с помощью другого инструмента. Спасибо!
Рейтинг:0
флаг cn

Оболочка по умолчанию выглядит как «минимальная». Если вы хотите пользователь приложения иметь ту же оболочку, что и корень вы должны изменить оболочку по умолчанию на /бин/баш.
Вы можете сделать это, отредактировав /etc/passwd файл и заменить /бин/ш с /бин/баш с помощью предпочитаемого вами текстового редактора (например, ви, вим или же нано), или другой вариант использует чш команда, например:

chsh appuser -s /bin/bash

Надеюсь, это поможет!

Majid Fouladpour avatar
флаг us
Я использовал `vipw` вместо того, чтобы использовать nano напрямую, и после добавления токена имени и изменения `/bin/sh` на `/bin/bash`, как вы намекнули, все симптомы были устранены. Спасибо! Об использовании `vipw` я узнал из этой статьи под названием *Правильный способ редактирования файлов /etc/passwd и /etc/group в Linux* - ссылка: https://web.archive.org/web/20210331085207/https ://ostechnix.com/the-right-way-to-edit-etc-passwd-and-etc-group-files-in-linux/

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.