chsh: Помилка автентифікації PAM


13

я хочу змінити env оболонки за замовчуванням

і працювати chsh -s /bin/zshяк користувач root,

але повідомлення про помилку з'явилося: chsh: PAM authentication failed.

я знаходжу цю тему http://ubuntuforums.org/showthread.php?t=1702833

але відповідь не вирішила моєї проблеми

будь-яка допомога буде вдячна


це вміст /etc/pam.d/chsh

#
# The PAM configuration file for the Shadow `chsh' service
#

# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth       required   pam_shells.so

# This allows root to change user shell without being
# prompted for a password
auth            sufficient      pam_rootok.so

# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session

це вміст оболонок / etc / shell

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh

я вважаю , що я використовував для запуску chsh -s zsh це змінить перший рядок в /etc/passwdякості

root:x:0:0:root:/root:zsh

і chshпопросить пароль, який ви спробуєте

я просто редагую /etc/passwdфайл вручну, і все в порядку.

дурна помилка і дякую за відповіді


Чи можете ви надати /etc/pam.d/chsh? (BTW, як правило, вважається гарною ідеєю, щоб оболонка для кореневого входу була мінімальною / стабільною - чи є причина, яку ви хочете zsh як оболонку за замовчуванням, а не запускати її після входу?)
symcbean

Я просто хочу автоматично ввести оболонку zsh, коли я щойно увійшов, можливо, це не добре.
txworking

Відповіді:


5

Перевірте / etc / shell файл та додайте / bin / zsh до файлу, якщо цей рядок не існує.


3
ця відповідь надихнула мене перевірити /etc/passwdфайл, чи вводиться я правильний формат імені оболонки. Thx
txworking

Для мене, використовуючи бродячий VM, мені потрібно було змінити /etc/passwd. Дякую @txworking!
wulftone

Для мене ця проблема викликається помилковою конфігурацією для shell всередині /etc/passwdкореневого облікового запису ...
taper

3

Перевірте своє /etc/passwd. У моєму випадку я раніше вказав недійсну оболонку, chshі саме це спричинило проблему.

Я змінив його з zshоболонки на, /bin/zshі це змусило проблему піти на мене.


1

Схоже, твій шлях мій помиляється. Щоб перевірити це:

[nick ~]$ which zsh
/usr/bin/zsh

Якщо результат / usr / bin / zch, це повинно зробити трюк:

[nick ~]$ chsh -s /usr/bin/zsh

* редагування для друку.


1

Я зіткнувся з тією ж проблемою. всякий раз, коли я набрав chsh, він використовує для підказки

chsh: PAM authentication failed

Але я вирішив це, зробивши деяку модифікацію у /etc/passwdфайлі

Users of kali-linux

просто відкрийте свій кореневий термінал і змініть /etc/passwdфайл. Ви можете використовувати редактор pico, nano або vi для цієї роботи.

vi /etc/passwd

потім шукайте обліковий запис користувача. і змініть оболонки на потрібну оболонку, переконайтеся, що потрібна оболонка встановлена ​​у ваших дистрибутивах Linux для нового користувача, щоб побачити, які оболонки є у їхньому Linux, просто введіть

cat /etc/shells

він перераховує їх там. Якщо у вас взагалі встановлена ​​оболонка, і ви не можете її побачити, /etc/shellвам потрібно створити посилання та шлях до оболонки, скажімо, припустимо, /bin/kshу /etc/shellsфайл вручну ...

наприклад, ви знаходитесь в bash і хочете змінити його на ksh

просто перейдіть до облікового запису у /etc/passwdфайлі та в останньому редагуванні поля

/bin/bashдо /bin/kshабо /bin/ksh93(як у вашому cat /etc/shells)

просто вийдіть із системи та увійдіть, і ви готові йти ...

для користувачів інших дистрибутивів (скажімо) ubuntu

введіть

sudo -H gnome-terminal (щоб отримати кореневий термінал)

і процес такий же, як вище, оскільки у вас теж є кореневий термінал, як користувач kali-linux ..


1

Ви повинні запустити свій код як sudo:

sudo chsh -s /bin/zsh

У мене теж була проблема, і вона спрацювала!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.