LINUX.ORG.RU

История изменений

Исправление Zubok, (текущая версия) :

Поведение mc ровно как у вас, если у пользователя оболочка /bin/dash.

ТС пишет, что он создавал пользователя при помощи useradd. В Debian этот способ прописывает SHELL как /bin/sh или пустую строчку, если специально не указать --shell в командной строке.

 -s, --shell ОБОЛОЧКА
           Имя регистрационной оболочки пользователя. По умолчанию это поле
           пусто, что вызывает выбор регистрационной оболочки по умолчанию
           согласно значению переменной SHELL из файла /etc/default/useradd,
           или по умолчанию используется пустая строка.

$ grep SHELL /etc/default/useradd
# The SHELL variable specifies the default login shell on your
SHELL=/bin/sh

Однако даже если прописывается /bin/sh, то странно: у меня в Debian (а что в Mint, надо проверить):

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 июн  9  2015 /bin/sh -> bash

Если создавать пользователя при помощи adduser (а именно так рекомендуется делать https://wiki.debian.org/UserAccounts), то SHELL прописывается так, как он указан в /etc/adduser.conf, а по умолчанию в Debian там стоит прямо конкретно /bin/bash.

$ grep SHELL /etc/adduser.conf 
# The DSHELL variable specifies the default login shell on your
# system.
DSHELL=/bin/bash

Достаточно проверить переменную SHELL. dash используется в Debian как non-interactive shell, а пользовательская оболочка по умолчанию bash. https://wiki.debian.org/Shell

UPD. Вот как раз может быть, что в Mint /bin/sh на /bin/dash указывает.

Исходная версия Zubok, :

Поведение mc ровно как у вас, если у пользователя оболочка /bin/dash.

ТС пишет, что он создавал пользователя при помощи useradd. В Debian этот способ прописывает SHELL как /bin/sh или пустую строчку, если специально не указать --shell в командной строке.

 -s, --shell ОБОЛОЧКА
           Имя регистрационной оболочки пользователя. По умолчанию это поле
           пусто, что вызывает выбор регистрационной оболочки по умолчанию
           согласно значению переменной SHELL из файла /etc/default/useradd,
           или по умолчанию используется пустая строка.

$ grep SHELL /etc/default/useradd
# The SHELL variable specifies the default login shell on your
SHELL=/bin/sh

Однако даже если прописывается /bin/sh, то странно: у меня в Debian (а что в Mint, надо проверить):

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 июн  9  2015 /bin/sh -> bash

Если создавать пользователя при помощи adduser (а именно так рекомендуется делать https://wiki.debian.org/UserAccounts), то SHELL прописывается так, как он указан в /etc/adduser.conf, а по умолчанию в Debian там стоит прямо конкретно /bin/bash.

$ grep SHELL /etc/adduser.conf 
# The DSHELL variable specifies the default login shell on your
# system.
DSHELL=/bin/bash

Достаточно проверить переменную SHELL. dash используется в Debian как non-interactive shell, а пользовательская оболочка по умолчанию bash. https://wiki.debian.org/Shell