На разных профилях разный автологин

Как можно реализовать такой функционал?

Подробнее нужно так:
- в grub есть 2 профиля, назовем их "gentoo 1" и "gentoo 2", автоматически стартует профиль "gentoo 1" и настроен автологин пользователя "smith"
- если выбрать второй вариант загрузки "gentoo 2", то должен произойти автологин пользователя "Ivan"

Варианта два:1. В init

Варианта два:
1. В init сценарии в initramfs написать код, который будет подменять или изменять файл настроек с автологином вашего DM.
2. Написать скрипт (сценарий запуска), который будет править настройки автологина вашего DM. Скрипт нужно добавить на уровень запуска и указать, что его нужно запускать перед DM или что он нужен для запуска DM.

Естественно вам нужно разобраться где хранятся настройки автологина вашего DM.

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

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

Параметры ядра можно смотреть через /proc/cmdline:

cat /proc/cmdline

Дополнение: Когда заходит

Дополнение:
Когда заходит второй пользователь то монтируется truecrypt диск, вот так: slicks.name/linux/integraciya-truecrypt-v-gdm.html
/etc/gdm/Init/Default

if !(echo `mount` | grep -q "/home/пользователь type")
then
truecrypt путь-к-образу-Truecrypt /home/пользователь
fi

Ну значит пишите стартовый

Ну значит пишите стартовый сценарий и код монтирования шифрованного диска выносите так же в него.

Ну и код можно переписать:

mount | grep -q "/home/пользователь type" || truecrypt путь-к-образу-Truecrypt /home/пользователь

А куда подключить мой

А куда подключить мой скрипт?

gdm нету, а XFCE устоена иначе, я не нашел куда мой скрипт подключить.
Это нужен этап до логина пользователя, но что бы была возможность ввода пароля (пароли у пользователя и диска разные)

kostik87 написал(а): Ну

kostik87 написал(а):
Ну значит пишите стартовый сценарий и код монтирования шифрованного диска выносите так же в него.

Ещё есть rc.local.

Цитата:
но что бы была возможность ввода пароля (пароли у пользователя и диска разные)

Значит озаботьтесь возможностью не вводить пароль, а использовать, например ключ. Ну либо выполняйте монтирование диска уже после входа в X сессию, но, скажем сделав пользователя судоером, если нужны права root, и дав ему выполнять от root только одну команду.

ключ не имеет никакого

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

Цитата:
Ну либо выполняйте монтирование диска уже после входа в X сессию

куда конктерно можно встроится? Раньше у меня было в /etc/gdm/Init/Default но сейчас стоит не ГНОМ, а fxce

Значит "встраивайтесь" в

Значит "встраивайтесь" в соотетствующий файл используемого вами DM (Desktop Manager`а).

куда конктерно можно

куда конктерно можно встроится?

Вам не ясно из написанного,

Вам не ясно из написанного, что в зависимости от используемого вами DM (Desktop Manager`а) файл будет отличаться?

kostik87 написал(а):
Значит "встраивайтесь" в соотетствующий файл используемого вами DM (Desktop Manager`а).

Что бы посмотреть какие файлы относятся к вашему DM воспользуйтесь утилитой equery из состава пакета gentoolkit для получения списка файлов, которые относятся к пакету с используемым вами DM ну и анализу их содержимого.

Более точный ответ вы можете узнать сами последовав совету выше.

паранойя наступаэ

orb написал(а):
ключ не имеет никакого смысла, если ноутбук сопрут, то ключ тоже сопрут и тогда смысла шифровать вообще нет, поэтому только пароль и обязательно разный с обычным юзером.

Для этого придумали смарт-карты с паролями. Надо её не забывать брать хранить отдельно от ноута, ну а если украли - то она заблокируется при переборе. Ну и всякие милые трояны в BIOS'ах, с разным функционалом блокирования.

Чем плохо мое решение? Лично

Чем плохо мое решение?

Лично мне не нравятся карты и другие разблокировки которые можно тоже украсть, или потеря карты, что мне потом делать?
Вообщем в топку всякие ключи и флешки когда есть отличный 100% вариант, да еще и покупать ничего не нужно

Цитата:Чем плохо мое

Цитата:
Чем плохо мое решение?

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

Я вам уже написал про rc.local (local), этот сценарий выполняет некоторые скрипты при старте и выключении системы, точнее при своём запуске и выключении.

Более подробно здесь: http://wiki.gentoo.org/wiki/Local.d

Так же как я вам уже сказал можете написать стартовый сценарий с нуля сами, поместить его в /etc/init.d и добавить на уровень запуска посредством rc-update. В этом сценарии пишите тот код, который вам нужен.

orb написал(а): Чем плохо мое

orb написал(а):
Чем плохо мое решение?

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

Я просто отвечал на высказывание "сертификат не вариант", без высказывания мнения о твоём решении.

orb написал(а):
Вообщем в топку всякие ключи и флешки когда есть отличный 100% вариант, да еще и покупать ничего не нужно

Несомненно

Чуть раскрою тему с

Чуть раскрою тему с local.d

Есть папка /etc/local.d/
В нее можно класть скрипты вида имя_скрипта.start
Они будут запущены после boot/sysinit.

В скрипте можно смотреть с какими параметрами стартовало ядро. Например:

if grep -q "LoginUser=smith" /proc/cmdline
then
   cp настройки.логин.менеджера.для.smith настройки.логин.менеджера
else
   cp настройки.логин.менеджера.для.ivan настройки.логин.менеджера
fi

Или, в более общем виде:

# Желающие могут сделать это через awk, sed или любым другим общественно-опасным способом
LOGINUSER=`grep -Po '(?<=LoginUser=)\S+' /proc/cmdline`

[ -z $LOGINUSER ] || cp настройки.логин.менеджера.для.$LOGINUSER настройки.логин.менеджера

Вместо cp можно использовать ln -s или еще что-то по вкусу.

Ну, а LoginUser через grub передается просто как параметр типа:
kernel /boot/kernel-genkernel-xxx-gentoo root=/dev/ram0 real_root=/dev/sda3 LoginUser=smith

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".