Исправить вход пользователя в корень

У меня есть виртуальная машина, где работает Ubuntu 14.04.2 LTS (GNU / Linux 3.16.0-30-generic x86_64), и нам был предоставлен доступ к ней через пользователя, назовем ее userx, поэтому каждый раз, когда мы входим в эту VM через ssh как:

ssh -p 22 userx@1.2.3.4

Он автоматически изменяет пользователя на root, поэтому он входит в машину как:

root@machinename:~#

И если я запустил pwd он показывает, что я попал в папку userx /home/userx. И если я запустил su userx, он снова войдет в систему с правами root.

Итак, как мне изменить это, поэтому при входе в систему с помощью userx я действительно регистрируюсь как userx, например userx@machinename:~#? [ ! d4]

root , как запрошено в комментариях:

root@machinename:~# grep userx /etc/passwd userx:x:0:0:somename,,,:/home/userx:/bin/bash

Я изменил значение somename, чтобы сохранить конфиденциальность. Я полагаю, что это группа права?

root@machinename:~# ls -l /home total 4 drwxr-xr-x 10 1000 userx 4096 Nov 8 11:10 userx
3
задан 8 November 2017 в 18:36

6 ответов

Проблема «userx» - это root. Корень идентифицируется с помощью UID 0, как показано в / etc / passwd

userx:x:0:0:somename,,,:/home/userx:/bin/bash

См. Https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ для понимания вывода.

Итак, что вы можете сделать, хотя оно умеренно инвазивно, все это делается из корневой оболочки !!!

В вашем случае вам нужно вручную отредактировать etc/passwd и /etc/groups

nano /etc/passwd

отредактировать строку userx

userx:x:1000:1000:somename,,,:/home/userx:/bin/bash

Затем / etc / groups

Не менее

userx:x:1000:

] Пока вы там, вы можете добавить userx по мере необходимости в другие группы. Добавьте userx в конец строки, если необходимо, запятая (вывешен этот список с установки на рабочем столе). Вы можете добавить себя к другим группам по мере необходимости (www-data?)

adm:x:4:syslog,userx
cdrom:x:24:userx
sudo:x:27:userx
dip:x:30:userx
plugdev:x:46:userx
lpadmin:x:118:userx
userx:x:1000:
sambashare:x:128:userx

Затем установить ssh (если необходимо)

cp -R /root/.ssh /home/userx
chown -R userx:userx /home/userx

ПЕРЕД ВЫХОДОМ В КОРНОВОЙ ОБОЛОЧКЕ, начиная с ваш клиент, тест ssh и sudo

ssh userx@1.2.3.4 #you do not need to specify the port if it is the default

Теперь предположим, что вы можете долго проходить через ssh, test sudo

sudo -i

Пока вы можете входить через ssh и получать root!

Если у вас есть проблема, вам нужно будет отправить сообщение назад, нам может понадобиться настроить ssh и / или sudo

1
ответ дан 22 May 2018 в 16:24
  • 1
    Когда я запускаю usermod -l root userx, он говорит usermod: user 'root' already exists игнорировать и продолжать идти или мне нужно что-то делать? – Jorge Campos 8 November 2017 в 19:00
  • 2
    Я выполнил команду, которую вы обновили usermod -u 1000 userx, и она возвращает usermod: user userx is currently used by process 1, это проблема? – Jorge Campos 8 November 2017 в 19:06
  • 3
    Конечно, я проверю ssh и sudo, когда я доберусь до этой части :) – Jorge Campos 8 November 2017 в 19:07
  • 4
    Да, просто сделал это и испытал все, и он отлично работает! Спасибо!! Я буду отмечать ваш ответ как принято :) – Jorge Campos 8 November 2017 в 19:44

Проблема «userx» - это root. Корень идентифицируется с помощью UID 0, как показано в / etc / passwd

userx:x:0:0:somename,,,:/home/userx:/bin/bash

См. Https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ для понимания вывода.

Итак, что вы можете сделать, хотя оно умеренно инвазивно, все это делается из корневой оболочки !!!

В вашем случае вам нужно вручную отредактировать etc/passwd и /etc/groups

nano /etc/passwd

отредактировать строку userx

userx:x:1000:1000:somename,,,:/home/userx:/bin/bash

Затем / etc / groups

Не менее

userx:x:1000:

] Пока вы там, вы можете добавить userx по мере необходимости в другие группы. Добавьте userx в конец строки, если необходимо, запятая (вывешен этот список с установки на рабочем столе). Вы можете добавить себя к другим группам по мере необходимости (www-data?)

adm:x:4:syslog,userx cdrom:x:24:userx sudo:x:27:userx dip:x:30:userx plugdev:x:46:userx lpadmin:x:118:userx userx:x:1000: sambashare:x:128:userx

Затем установить ssh (если необходимо)

cp -R /root/.ssh /home/userx chown -R userx:userx /home/userx

ПЕРЕД ВЫХОДОМ В КОРНОВОЙ ОБОЛОЧКЕ, начиная с ваш клиент, тест ssh и sudo

ssh userx@1.2.3.4 #you do not need to specify the port if it is the default

Теперь предположим, что вы можете долго проходить через ssh, test sudo

sudo -i

Пока вы можете входить через ssh и получать root!

Если у вас есть проблема, вам нужно будет отправить сообщение назад, нам может понадобиться настроить ssh и / или sudo

1
ответ дан 18 July 2018 в 03:39

Проблема «userx» - это root. Корень идентифицируется с помощью UID 0, как показано в / etc / passwd

userx:x:0:0:somename,,,:/home/userx:/bin/bash

См. Https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ для понимания вывода.

Итак, что вы можете сделать, хотя оно умеренно инвазивно, все это делается из корневой оболочки !!!

В вашем случае вам нужно вручную отредактировать etc/passwd и /etc/groups

nano /etc/passwd

отредактировать строку userx

userx:x:1000:1000:somename,,,:/home/userx:/bin/bash

Затем / etc / groups

Не менее

userx:x:1000:

] Пока вы там, вы можете добавить userx по мере необходимости в другие группы. Добавьте userx в конец строки, если необходимо, запятая (вывешен этот список с установки на рабочем столе). Вы можете добавить себя к другим группам по мере необходимости (www-data?)

adm:x:4:syslog,userx cdrom:x:24:userx sudo:x:27:userx dip:x:30:userx plugdev:x:46:userx lpadmin:x:118:userx userx:x:1000: sambashare:x:128:userx

Затем установить ssh (если необходимо)

cp -R /root/.ssh /home/userx chown -R userx:userx /home/userx

ПЕРЕД ВЫХОДОМ В КОРНОВОЙ ОБОЛОЧКЕ, начиная с ваш клиент, тест ssh и sudo

ssh userx@1.2.3.4 #you do not need to specify the port if it is the default

Теперь предположим, что вы можете долго проходить через ssh, test sudo

sudo -i

Пока вы можете входить через ssh и получать root!

Если у вас есть проблема, вам нужно будет отправить сообщение назад, нам может понадобиться настроить ssh и / или sudo

1
ответ дан 24 July 2018 в 17:53

Пользователь userx имеет идентификатор и идентификатор группы 0, что означает, что он автоматически становится пользователем root. Возможно, вам придется создать пользователя с другим идентификатором, лучшая практика начинается с 1000, поскольку предыдущий идентификатор должен быть зарезервирован для системных учетных записей.

userx: x: 0: 0: somename ,,,: / home / userx: / bin / bash

Синтаксис для изменения идентификатора пользователя:

usermod -u UID userx

Пример

usermod -u 1000 userx

И изменить первичная группа

usermod -g groupx userx

Например, для того, чтобы пользователь был членом группы с тем же самым (поведение по умолчанию в Linux).

groupadd userx # < Command useless for you as group userx already exists
usermod -g userx userx
1
ответ дан 22 May 2018 в 16:24
  • 1
    Да, это старый трюк для бэкдор-систем. Используется для изменения никого встроенного пользователя в оболочку входа и 0: 0 для очевидного, но не ТОГО очевидного бэкдора, которого обычно не замечают. – RobotHumans 8 November 2017 в 18:56
  • 2
    отличный ответ, но нам все равно нужно убедиться, что работают как ssh, так и sudo. – Panther 8 November 2017 в 19:04
  • 3
    Привет, olivierb2, спасибо за ваш ответ и объяснение. Я продолжу это. Я попробую ответ Пантеры, хотя он более полный (тест ssh / sudo) – Jorge Campos 8 November 2017 в 19:10
  • 4
    Не работает (читайте комментарии выше) " usermod -u 1000 userx и возвращает usermod: пользователь userx в настоящее время используется процессом 1 " так что, вероятно, не будет работать с «su root» или из режима восстановления из-за userx == root == UID 0, но я не уверен. – Panther 8 November 2017 в 19:21
  • 5
    Вы должны выполнить мою команду, подключившись к учетной записи root напрямую с консоли VM (не поверх ssh). Если это невозможно, вы можете временно разрешить root из ssh и разрешить пароль root. – olivierb2 8 November 2017 в 19:25

Пользователь userx имеет идентификатор и идентификатор группы 0, что означает, что он автоматически становится пользователем root. Возможно, вам придется создать пользователя с другим идентификатором, лучшая практика начинается с 1000, поскольку предыдущий идентификатор должен быть зарезервирован для системных учетных записей.

userx: x: 0: 0: somename ,,,: / home / userx: / bin / bash

Синтаксис для изменения идентификатора пользователя:

usermod -u UID userx

Пример

usermod -u 1000 userx

И изменить первичная группа

usermod -g groupx userx

Например, для того, чтобы пользователь был членом группы с тем же самым (поведение по умолчанию в Linux).

groupadd userx # < Command useless for you as group userx already exists usermod -g userx userx
1
ответ дан 18 July 2018 в 03:39

Пользователь userx имеет идентификатор и идентификатор группы 0, что означает, что он автоматически становится пользователем root. Возможно, вам придется создать пользователя с другим идентификатором, лучшая практика начинается с 1000, поскольку предыдущий идентификатор должен быть зарезервирован для системных учетных записей.

userx: x: 0: 0: somename ,,,: / home / userx: / bin / bash

Синтаксис для изменения идентификатора пользователя:

usermod -u UID userx

Пример

usermod -u 1000 userx

И изменить первичная группа

usermod -g groupx userx

Например, для того, чтобы пользователь был членом группы с тем же самым (поведение по умолчанию в Linux).

groupadd userx # < Command useless for you as group userx already exists usermod -g userx userx
1
ответ дан 24 July 2018 в 17:53
  • 1
    Да, это старый трюк для бэкдор-систем. Используется для изменения никого встроенного пользователя в оболочку входа и 0: 0 для очевидного, но не ТОГО очевидного бэкдора, которого обычно не замечают. – RobotHumans 8 November 2017 в 18:56
  • 2
    отличный ответ, но нам все равно нужно убедиться, что работают как ssh, так и sudo. – Panther 8 November 2017 в 19:04
  • 3
    Привет, olivierb2, спасибо за ваш ответ и объяснение. Я продолжу это. Я попробую ответ Пантеры, хотя он более полный (тест ssh / sudo) – Jorge Campos 8 November 2017 в 19:10
  • 4
    Не работает (читайте комментарии выше) & quot; usermod -u 1000 userx и возвращает usermod: пользователь userx в настоящее время используется процессом 1 & quot; так что, вероятно, не будет работать с «su root» или из режима восстановления из-за userx == root == UID 0, но я не уверен. – Panther 8 November 2017 в 19:21
  • 5
    Вы должны выполнить мою команду, подключившись к учетной записи root напрямую с консоли VM (не поверх ssh). Если это невозможно, вы можете временно разрешить root из ssh и разрешить пароль root. – olivierb2 8 November 2017 в 19:25

Другие вопросы по тегам:

Похожие вопросы: