LINUX.ORG.RU

Debian 13. Пароль пользователя в XFCE

 ,


0

1

Доброго времени суток!
На днях ставил Debian 13 и выбрал основной раскладкой English UK (не спрашивайте, зачем). Довольно быстро, на этапе выбора пароля, я понял, что это было не лучшее решение, — в моём случае символ «@» переместился с цифры 2 на двойную кавычку. Так я в дальнейшем и вводил этот пароль, пока мне это не надоело, и я не изменил раскладку на English US и пароль, изменив в нём только этот самый символ @).
Интересно, однако, то, что XFCE на входе и при блокировке экрана продолжает требовать старый пароль. Как такое может быть?



Последнее исправление: Dimez (всего исправлений: 2)
Ответ на: комментарий от sparkie

А как же ты будешь грузиться в однопользовательском режиме?

А как я сейчас гружусь?.. Я же показал два вывода passwd.

art2021
() автор топика
Ответ на: комментарий от PunkPerson

У меня другой вопрос: как он так скипнул установку пароля рута в debian installer? Или после debian 11 что-то поменялось в установщике?

https://chuzhoy007.ru/wp-content/uploads/2025/10/parol-root-ustanovka-debian1...

В 11-ом было то же самое.

art2021
() автор топика
Последнее исправление: art2021 (всего исправлений: 1)

Поменяй локаль в системе целиком. И у пользователя.

Что выводится в localectl от имени пользователя и от имени root.

Что в файле /etc/locale.conf

Что в dbus? В общем, локаль прописывается в нескольких местах и оболочка (графические) приложения подтягивают оттуда.

Гугли как в dbus поменять и прочих моментах. Можешь переустановить, если сложно.

Зато больше так делать не будешь.

Ещё есть dpke-reconfigure locale, но не факт что поможет, даже после перезагрузки, может ещё где-то остаться. Я сейчас ХЗ, проверять не хочу. Сразу ставлю с en_US.

kostik87 ★★★★★
()
Ответ на: комментарий от PunkPerson

как он так скипнул установку пароля рута в debian installer

Разве там не было всегда возможности оставить его пустым, просто нажав enter?

mamina_radost
()
Ответ на: комментарий от kostik87

Поменяй локаль в системе целиком. И у пользователя.

Так, а при чём здесь локаль? Меня не устроила раскладка, и я её поменял.

Что выводится в localectl от имени пользователя и от имени root.

Понятно, что.

$ localectl
System Locale: LANG=en_GB.UTF-8
               LANGUAGE=en_GB:en
    VC Keymap: (unset)          
   X11 Layout: gb
    X11 Model: pc105

$ sudo localectl
[sudo] password for my_username: 
System Locale: LANG=en_GB.UTF-8
               LANGUAGE=en_GB:en
    VC Keymap: (unset)          
   X11 Layout: gb
    X11 Model: pc105

Что в файле /etc/locale.conf

#  File generated by update-locale
LANG="en_GB.UTF-8"
LANGUAGE="en_GB:en"

Зато больше так делать не будешь.

Звучит гаденько.
Почему бы мне так было не сделать? Да и вопрос не о локали, а о том, почему у меня два разных пароля в системе.

art2021
() автор топика
Ответ на: комментарий от art2021

Звучит гаденько.

Это в вашей голове. Я ответил честно то, что думаю.

Почему бы мне так было не сделать?

А мне почём знать - это у вас в голове ответ.

Да и вопрос не о локали, а о том, почему у меня два разных пароля в системе.

У вас не два разных пароля, а в том, что случае systemd DM (менеджер рабочих столов), в том числе и экран блокировки использует другую локаль.

У тебя должно быть

LANG=en_GB.UTF-8
LANGUAGE=en_GB:en

везде, а он, скорее всего, запущен

LANG=en_GB.UTF-8
LANGUAGE=en_GB:gb

Смотри в переменных процесса с какими значениями он запущен.

Удачи, если разберёшься без переустановки - можешь рассказать как исправлять то, что делать не нужно.

Что в файле /etc/default/locale?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

Это в вашей голове. Я ответил честно то, что думаю.

А мне почём знать - это у вас в голове ответ.

Неплохо, в первых же строчках дважды сообщить собеседнику, что у него не в порядке с головой :)

У вас не два разных пароля, а в том, что случае systemd DM (менеджер рабочих столов), в том числе и экран блокировки использует другую локаль.

Не уверен, что DM означает менеджер рабочих столов, но дисплейный менеджер в XFCE — LightDM. Я, конечно, сейчас буду копать в его направлении, но выражение «другая локаль» мне всё-таки непонятна. Английская локаль в системе одна, с момента установки, что с очевидностью следует из приведённой мной в предыдущем посте инфы, а также

$ locale -a
C
C.utf8
en_GB.utf8
POSIX
ru_RU.utf8
art2021
() автор топика
Последнее исправление: art2021 (всего исправлений: 1)
Ответ на: комментарий от art2021

Неплохо, в первых же строчках дважды сообщить собеседнику, что у него не в порядке с головой :)

Восприятие сказанного в вашей голове. Вам кажется, что вас оскорбляют и обижают. Но это не так.

Ещё раз, то как вы воспринимаете текст - в вашей голове.

Английская локаль в системе одна, с момента установки, что с очевидностью следует из приведённой мной в предыдущем посте инфы, а также

Если мы говорим, про Great Britain, то в целом да. А так, локали с английским языком в системе:

grep en /etc/locale.gen
# this file, you need to rerun locale-gen.
# ca_ES@valencia UTF-8
# en_AG UTF-8
# en_AU ISO-8859-1
# en_AU.UTF-8 UTF-8
# en_BW ISO-8859-1
# en_BW.UTF-8 UTF-8
# en_CA ISO-8859-1
# en_CA.UTF-8 UTF-8
# en_DK ISO-8859-1
# en_DK.ISO-8859-15 ISO-8859-15
# en_DK.UTF-8 UTF-8
# en_GB ISO-8859-1
# en_GB.ISO-8859-15 ISO-8859-15
# en_GB.UTF-8 UTF-8
# en_HK ISO-8859-1
# en_HK.UTF-8 UTF-8
# en_IE ISO-8859-1
# en_IE.UTF-8 UTF-8
# en_IE@euro ISO-8859-15
# en_IL UTF-8
# en_IN UTF-8
# en_NG UTF-8
# en_NZ ISO-8859-1
# en_NZ.UTF-8 UTF-8
# en_PH ISO-8859-1
# en_PH.UTF-8 UTF-8
# en_SC.UTF-8 UTF-8
# en_SG ISO-8859-1
# en_SG.UTF-8 UTF-8
# en_US ISO-8859-1
# en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
# en_ZA ISO-8859-1
# en_ZA.UTF-8 UTF-8
# en_ZM UTF-8
# en_ZW ISO-8859-1
# en_ZW.UTF-8 UTF-8
# en_US.UTF-8 UTF-8

У меня en_US.UTF-8.

Вот только с Unicode кодировкой:

grep en /etc/locale.gen | grep UTF
# ca_ES@valencia UTF-8
# en_AG UTF-8
# en_AU.UTF-8 UTF-8
# en_BW.UTF-8 UTF-8
# en_CA.UTF-8 UTF-8
# en_DK.UTF-8 UTF-8
# en_GB.UTF-8 UTF-8
# en_HK.UTF-8 UTF-8
# en_IE.UTF-8 UTF-8
# en_IL UTF-8
# en_IN UTF-8
# en_NG UTF-8
# en_NZ.UTF-8 UTF-8
# en_PH.UTF-8 UTF-8
# en_SC.UTF-8 UTF-8
# en_SG.UTF-8 UTF-8
en_US.UTF-8 UTF-8
# en_ZA.UTF-8 UTF-8
# en_ZM UTF-8
# en_ZW.UTF-8 UTF-8
# en_US.UTF-8 UTF-8

Что в файле /etc/default/locale?

Так что всё же у вас в этом файле?

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от art2021

https://bbs.archlinux.org/viewtopic.php?id=254599

Попробуйте как здесь поискать какое значение LANGUAGE для вашего пользователя. Только через GetLanguage.

Ну или в ~/dmrc пропишите

LANG=en_GB.UTF-8
LANGUAGE=en_GB:en

Ну и в /etc поищите:

grep -Rn 'en_GB:gb' /etc/

Но вы сами пишете, что у вас X11 Layout - gb:

localectl --help
localectl [OPTIONS...] COMMAND

Query or change system locale and keyboard settings.

Commands:
  status                   Show current locale settings
  set-locale LOCALE...     Set system locale
  list-locales             Show known locales
  set-keymap MAP [MAP]     Set console and X11 keyboard mappings
  list-keymaps             Show known virtual console keyboard mappings
  set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]
                           Set X11 and console keyboard mappings
  list-x11-keymap-models   Show known X11 keyboard mapping models
  list-x11-keymap-layouts  Show known X11 keyboard mapping layouts
  list-x11-keymap-variants [LAYOUT]
                           Show known X11 keyboard mapping variants
  list-x11-keymap-options  Show known X11 keyboard mapping options

Options:
  -h --help                Show this help
     --version             Show package version
  -l --full                Do not ellipsize output
     --no-pager            Do not pipe output into a pager
     --no-ask-password     Do not prompt for password
  -H --host=[USER@]HOST    Operate on remote host
  -M --machine=CONTAINER   Operate on local container
     --no-convert          Don't convert keyboard mappings

See the localectl(1) man page for details.
localectl list-x11-keymap-layouts us
$ localectl
System Locale: LANG=en_GB.UTF-8
               LANGUAGE=en_GB:en
    VC Keymap: (unset)          
   X11 Layout: gb
    X11 Model: pc105

$ sudo localectl
[sudo] password for my_username: 
System Locale: LANG=en_GB.UTF-8
               LANGUAGE=en_GB:en
    VC Keymap: (unset)          
   X11 Layout: gb
    X11 Model: pc105
kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от kostik87

Послушайте, я, конечно, могу попробовать поискать вхождения locale хоть по всему винту, но не проще ли исходить из того, что с момента установки оси локали не изменялись?
Всё, что я сделал — это изменил keyboard layout (Application > Settings > Keyboard). Удалил English (UK) и добавил English (US).
Я даже могу доустановить американскую локаль (подчёркиваю — доустановить, сейчас в системе её нет) и сделать её дефолтной

sudo localectl set-locale LANG=en_US.UTF-8
однако вряд ли это отразится на запрашиваемом пароле. Во всяком случае, непонятно, почему это должно как-то отражаться. Вы механику происходящего понимаете?

art2021
() автор топика
Последнее исправление: art2021 (всего исправлений: 3)
Ответ на: комментарий от art2021

Делайте что хотите и я там уже не про локаль написал, а про layout, т.е. раскладку и именно в x11.

И искать запросил вас не по всему винту, а только в /etc.

С таким подходом - переустановите, будет быстрее, раз вы на каждое предложение что-то сделать упираетесь и ищете подвох в вашем оскорблении в каждом предложении.

Удачи.

kostik87 ★★★★★
()
Ответ на: комментарий от PunkPerson

Удивили, граждане. Я думал блокировка рута есть только в убунте.

Кстати... Не могли бы те, у кого рут тоже заблокирован, посмотреть, как выглядит их /etc/shadow. У меня в нём хэш рутового пароля есть. А в /etc/shadow- — нет...

art2021
() автор топика
Ответ на: комментарий от art2021
  • shadow~ - предыдущая версия файла.
  • shadow - актуальная.

Заблокированный вход именно под root - символ «*» в поле с хэшем пароля в shadow или выставленный срок действия пароля, но как правило звёздочка, либо оболочка /bin/false в passwd.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, я примерно знаю, как это должно выглядеть.
В моём случае shadow~, очевидно, соответствует состоянию после установки:
root:!:20593:0:99999:7:::

Но в shadow у рута уже есть хэш.

В passwd строка без изменений:
root:x:0:0:root:/root:/bin/bash

art2021
() автор топика
Ответ на: комментарий от art2021

Выдержка из man shadow

If the password field contains some string that is not a valid result of crypt(3), for instance ! or *, the user will not be able to use a unix password to log in (but the user may log in the system by other means).
anonymous
()
Ответ на: комментарий от art2021

Если хэш есть - значит задавался. Это уже к вам вопрос или тем, кто пользуется вашим ПК.

Если бы не задавался - в обоих файлах стоял бы «!» в поле с паролем.

anonymous
()
Ответ на: комментарий от anonymous

Кроме меня, этой машиной никто не пользуется. Система ставилась без рутовой учётки. Как работает passwd, я показал в одном из предыдущих постов в этой теме:
Debian 13. Пароль пользователя в XFCE (комментарий)
Если не трудно, скажите, что я должен был сделать, чтобы задать пароль для рута.

art2021
() автор топика
Последнее исправление: art2021 (всего исправлений: 1)
Ответ на: комментарий от art2021
$ sudo passwd
[sudo] password for my_username:

Здесь в начале вводится пароль текущего аккаунта, от имени которого вызывается sudo cmd для запуска cmd от имени root.

Т.к. тут cmd - это passwd, то фактически после ввода пароля текущего пользователя для повышения привилегий через sudo - происходит смена пароля root через passwd, запущенный в sudo.

anonymous
()
Ответ на: комментарий от art2021

Не мы, а вы.

Выше все пояснения даны, если хотите вообще без пароля - отредактируйте файл, сотрите в поле хэщ. Если хотите, чтобы нельзя было войти по паролю - поставьте * или !.

anonymous
()
Ответ на: комментарий от anonymous

Проверил, — действительно, теперь в систему можно зайти под рутом и моим (старым) паролем.
Меня удивляет, почему эту возможность оставили. Как и валидный шелл вместо false в passwd.

art2021
() автор топика
Ответ на: комментарий от art2021

Меня удивляет как вы используете линукс не разбираясь ни в чем. Вы что-то делаете не пытаясь разобраться, даже банально man shadow не посмотрели.

И зачем ставить /bin/false - не понятно. Отсутствие пароля не означает, что под root невозможно авторизоваться иным способом и работать сразу под ним. К примеру, есть ssh ключи и в серверном использовании при подключении по ssh как раз ситуация, что пароль не установлен, а авторизация производится по прописанным ssh ключам нормальна.

А когда вводите sudo paswwd даже не понимаете, что делает команда.

anonymous
()
Ответ на: комментарий от anonymous

man shadow я делал. Лет двадцать назад. Но поскольку не имею дело с Линуксом профессионально, что-то могло выветриться, извините.
На самом деле, то, что sudo passwd — единственная команда, результатом которой могло быть появление рутового хэша, я понимал. Не понимал и не понимаю, зачем. Если при установке явно отказались от рутовой учётки, это должно было на чём-то отразиться?
Никаких ssh etc. на моём десктопе нет, и предпочитаю знать, кто, где и как у меня авторизуется.

art2021
() автор топика
Ответ на: комментарий от art2021

Если при установке явно отказались от рутовой учётки, это должно было на чём-то отразиться?

Оно и отразилось:

  • установщик не выводил запрос на ввод и подтверждение пароля root для генерации и прописывания хэша в shadow;
  • в shadow в поле с паролям проставлен символ «!».

Нигде ничего более не прописывается, если пользователь через sudo passwd решил прописать пароль для root, выполнив эту команду - значит он понимает, что делает и именно это ему и нужно.

Есть иные способы запрета входа по паролю для root - читай про pam.

man shadow я делал. Лет двадцать назад

Допускаю, что когда-то вполне возможно. Но на двадцать лет не тянет, максимум 5, а то и 2 года.

Так же этот срок подтверждает косвенно дата регистрации на лор.

anonymous
()
Ответ на: комментарий от anonymous

если пользователь через sudo passwd решил прописать пароль для root

То его после выбора данного сценария установки было бы неплохо явно предупредить о последствиях, нет? Если не запретить выполнение этой команды совсем.

Так же этот срок подтверждает косвенно дата регистрации на лор.

Ну, уж это точно ничего не подтверждает — ни прямо, ни косвенно. Двадцать с лишним лет назад я начинал с NetBSD и маны курил его же, а Линукс — года с 2018, и лор мне был не помощник.
Вот, казалось бы, тема не слишком трудная должна быть для профи, ан нет — по сути ничего не ответили, зато сообщили, что с головой проблемы :)

art2021
() автор топика
Ответ на: комментарий от art2021

То его после выбора данного сценария установки было бы неплохо явно предупредить о последствиях, нет

Никто ничего никому не должен предупреждать. Есть man passwd, man sudo, man shadow и то, что вы якобы пишете, что имеете опыт 20 лет - чушь. Понимать, что passwd просто от пользователя - запрашивает текущий пароль пользователя, а потом новый для текущего пользователя, а sudo passwd - в начале запрашивает пароль текущего пользователя, а потом меняет пароль для текущего, в данном случае им будет уже root - должны, но должны только лишь себе. Если не хотите, не читаете man, не думаете - ваши проблемы. Разработчики уже сделали всё, что должны - написали man.

И в netbsd и прочих Unix системах поведение аналогичное, в том числе с утилитой passwd и файлами shadow и passwd.

А по поводу вашей проблемы - я вам всё написал, ответов не увидел, вам стало лень делать grep и менять layout.

Да и в целом думать тоже вам лень.

Я, уж извините, за вас думать не собираюсь.

Если вы с Linux знакомы с 2018 года, а с Unix системами и того раньше - то читать man и разбираться должны уметь. Но вам либо лень, либо ваши слова чушь про даты.

Думаю и то и то вместе.

anonymous
()
Ответ на: комментарий от anonymous

то читать man и разбираться должны уметь. Но вам либо лень

У меня сейчас есть несколько более важных проблем с системой, непосредственно влияющих на мою работу. Раз в месяц-два ввести пароль, отличающийся на один символ, — не проблема вовсе. С другой стороны, возможные причины мне совсем не нравятся, поэтому я решил здесь этим поделиться.

Предлагаю закончить эту дискуссию и считать вопрос закрытым. Профиль здесь удалить нельзя, но из Кипасса строчку лора я сейчас удалю. Приношу всем свои извинения за беспокойство.

art2021
() автор топика
Последнее исправление: art2021 (всего исправлений: 1)

Чтобы исключить фокусы с раскладками, попробуй поставить там пароль 123 (без спецсимволов) какой-нить и проверить что будет окно блокировки хотеть. Возможно в окне блокировки старая раскладка почему-то осталась и дело в ней а не в пароле.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Зачем ты советуешь, там человек с 20 летним опытом, он знает лучше всех. И про локаль ему не надо говорить, он тоже лучше всех знает. И разницы между en_US и en_GB нет, он 20 лет так пользуется, ещё с netbsd.

kostik87 ★★★★★
()
Ответ на: комментарий от firkax

Да мне как-то без разницы комфортно или нет тому, кто пришел с проблемой на форум, читать комментарии с информацией для решения его проблемы.

Некомфортно - ну пускай идёт учится. Не понимает - пускай переустанавливает.

Делов-то. И ещё, куча комментариев от автора, что ему кто-то что-то должен.

Разработчики, должны предупреждать, что если делаешь sudo passwd - пароль root поставишь, отвечая на его комментарии нельзя писать сложные смысловые конструкции. Нельзя сомневаться в стаже 20 лет в Unix. Ибо у автора есть фото с Линусом и Столманом.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария