Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | wiki:articles:pam [30/04/2023 10:16] (текущий) – [X11vnc] graf | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ^ | ||
+ | \\ | ||
+ | Или, другими словами, | ||
+ | <note warning> | ||
+ | В виду того, что зона **.local** [[http:// | ||
+ | Ниже приведённые названия даны, исключительно, | ||
+ | </ | ||
+ | |||
+ | ====== Начало ====== | ||
+ | |||
+ | Для того, чтобы осуществить задуманное, | ||
+ | * Собрать и установить PAM; | ||
+ | * Собрать и установить samba с поддержкой PAM; | ||
+ | * Собрать и установить shadow с поддержкой PAM; | ||
+ | * Всё это дело настроить. | ||
+ | |||
+ | ^ | ||
+ | |[[http:// | ||
+ | |[[http:// | ||
+ | |[[http:// | ||
+ | |[[http:// | ||
+ | |[[http:// | ||
+ | |[[http:// | ||
+ | |||
+ | Как собрать и где применить - ниже по статье. | ||
+ | |||
+ | Работать будем с контролером домена из [[wiki: | ||
+ | Т.е.: | ||
+ | |||
+ | |Домен | ||
+ | |Контролер домена | ||
+ | |IP контролера домена | ||
+ | |IP шлюза и сервера времени | ||
+ | |Тестовый компьютер со Slackware 14.0 | // | ||
+ | |IP тестового компьютер со Slackware 14.0 | // | ||
+ | |Администратор домена | ||
+ | |Пользователь домена | ||
+ | |||
+ | В принципе, | ||
+ | |||
+ | <note tip> | ||
+ | Прежде чем начнёте, | ||
+ | |||
+ | //"I think a better name for PAM might be SCAM, for Swiss Cheese Authentication Modules, and have never felt that the small amount of convenience it provides is worth the great loss of system security. We miss out on half a dozen security problems a year by not using PAM, but you can always install it yourself if you feel that you're missing out on the fun. (No, don't do that)" | ||
+ | \\ | ||
+ | Patrick. | ||
+ | // | ||
+ | \\ | ||
+ | \\ | ||
+ | Что на великом и могучем звучит, | ||
+ | \\ | ||
+ | //"Я думаю, что лучшим названием для PAM может быть SCAM (Swiss Cheese Authentication Modules - Швейцарско сырный модуль аутентификации) и никогда не чувствовал, | ||
+ | \\ | ||
+ | Патрик. | ||
+ | // | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Собираем PAM ====== | ||
+ | Начиная с версии 13.37, в дистрибутиве Slackware Linux в папке // | ||
+ | Установим его: | ||
+ | < | ||
+ | # installpkg pam-1.1.3-i486-1.txz | ||
+ | </ | ||
+ | |||
+ | далее собираем остальные пакеты. | ||
+ | Соберем samba. | ||
+ | |||
+ | ====== Собираем и настраиваем samba ====== | ||
+ | |||
+ | Прежде чем начать собирать samba, нам необходимо собрать и установить керберос. Я тестировал с MIT Kerberos.\\ | ||
+ | При помощи //sbopkg// правим слакбилд, | ||
+ | |||
+ | Для того, чтобы не искать программы от kerberos добавим их в /// | ||
+ | < | ||
+ | ..... | ||
+ | ..... | ||
+ | # Set the default system $PATH: | ||
+ | PATH="/ | ||
+ | ..... | ||
+ | ..... | ||
+ | </ | ||
+ | |||
+ | Далее, для примера возьмем // | ||
+ | Скачаем SlackBuild [[http:// | ||
+ | Скачаем саму самбу [[http:// | ||
+ | Если используете уже подправленный SlackBuid, то просто запустите его, если нет, то в части // | ||
+ | < | ||
+ | ./configure \ | ||
+ | --prefix=/ | ||
+ | --libdir=/ | ||
+ | --bindir=/ | ||
+ | --sbindir=/ | ||
+ | --mandir=/ | ||
+ | --sysconfdir=/ | ||
+ | --with-configdir=/ | ||
+ | --with-piddir=/ | ||
+ | --with-privatedir=/ | ||
+ | --localstatedir=/ | ||
+ | --with-lockdir=/ | ||
+ | --with-logfilebase=/ | ||
+ | --with-acl-support \ | ||
+ | --with-automount \ | ||
+ | --with-quotas \ | ||
+ | --with-syslog \ | ||
+ | --with-utmp \ | ||
+ | --with-winbind \ | ||
+ | --with-ldap \ | ||
+ | --with-ads \ | ||
+ | --with-sendfile-support \ | ||
+ | --with-dnsupdate \ | ||
+ | --with-profiling-data \ | ||
+ | --with-fhs \ | ||
+ | --with-swatdir=/ | ||
+ | --with-pammodulesdir=/ | ||
+ | --with-krb5=/ | ||
+ | --with-pam \ | ||
+ | --with-pam_smbpass \ | ||
+ | --enable-cups \ | ||
+ | --enable-external-libtalloc=no \ | ||
+ | --enable-static=no \ | ||
+ | --enable-shared=yes \ | ||
+ | --with-cifsmount \ | ||
+ | --with-cifsumount \ | ||
+ | --with-quotas \ | ||
+ | --with-libsmbclient \ | ||
+ | --build=$ARCH-slackware-linux | ||
+ | </ | ||
+ | |||
+ | Для чистоты эксперимента я удалил установленную самбу и поставил вновь собранную.\\ | ||
+ | |||
+ | После установки скопируем 2 библиотеки // | ||
+ | < | ||
+ | # cp / | ||
+ | </ | ||
+ | |||
+ | Теперь необходимо её настроить для ввода в домен. Для этого правим нужные файлы.\\ | ||
+ | В начале статьи есть файл [[http:// | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | [logging] | ||
+ | | ||
+ | # default = FILE:/ | ||
+ | kdc = FILE:/ | ||
+ | | ||
+ | |||
+ | [libdefaults] | ||
+ | default_realm = TRANSIT.LOCAL | ||
+ | dns_lookup_realm = true | ||
+ | dns_lookup_kdc = true | ||
+ | ticket_lifetime = 24h | ||
+ | forwardable = yes | ||
+ | |||
+ | [realms] | ||
+ | TRANSIT.LOCAL = { | ||
+ | kdc = dc1.transit.local: | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | [domain_realm] | ||
+ | | ||
+ | transit.local = TRANSIT.LOCAL | ||
+ | |||
+ | [appdefaults] | ||
+ | pam = { | ||
+ | debug = false | ||
+ | ticket_lifetime = 36000 | ||
+ | renew_lifetime = 36000 | ||
+ | forwardable = true | ||
+ | krb4_convert = false | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | search transit.local | ||
+ | nameserver 192.168.10.188 | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | # passwd: | ||
+ | # shadow: | ||
+ | # group: | ||
+ | |||
+ | passwd: | ||
+ | shadow: | ||
+ | group: | ||
+ | |||
+ | hosts: | ||
+ | networks: | ||
+ | |||
+ | services: | ||
+ | protocols: | ||
+ | rpc: files | ||
+ | ethers: | ||
+ | netmasks: | ||
+ | netgroup: | ||
+ | bootparams: | ||
+ | |||
+ | automount: | ||
+ | aliases: | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | [global] | ||
+ | interfaces = eth0 lo | ||
+ | hosts allow = 192.168.10. 127. | ||
+ | netbios name = Slack-test | ||
+ | server string = Slack_test | ||
+ | security = ADS | ||
+ | workgroup = TRANSIT | ||
+ | realm = TRANSIT.LOCAL | ||
+ | obey pam restrictions = yes | ||
+ | allow trusted domains = No | ||
+ | socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 | ||
+ | name resolve order = hosts wins bcast lmhosts | ||
+ | case sensitive = no | ||
+ | dns proxy = no | ||
+ | client use spnego = yes | ||
+ | client signing = yes | ||
+ | os level = 0 | ||
+ | preferred master = No | ||
+ | local master = No | ||
+ | domain master = No | ||
+ | dns proxy = No | ||
+ | ldap ssl = no | ||
+ | strict locking = No | ||
+ | time server = no | ||
+ | auth methods = winbind | ||
+ | encrypt passwords = yes | ||
+ | |||
+ | winbind enum users = Yes | ||
+ | winbind enum groups = Yes | ||
+ | winbind use default domain = yes | ||
+ | winbind refresh tickets = yes | ||
+ | winbind uid = 10000-20000 | ||
+ | winbind gid = 10000-20000 | ||
+ | |||
+ | template shell = /bin/bash | ||
+ | template homedir = /home/%D/%U | ||
+ | |||
+ | log file = / | ||
+ | max log size = 1024 | ||
+ | log level = 3 | ||
+ | display charset = koi8-r | ||
+ | unix charset = koi8-r | ||
+ | dos charset = cp866 | ||
+ | nt acl support = yes | ||
+ | |||
+ | printcap name = / | ||
+ | </ | ||
+ | |||
+ | Пробуем получить билетик: | ||
+ | < | ||
+ | # kinit Administrator | ||
+ | Password for Administrator@TRANSIT.LOCAL: | ||
+ | |||
+ | # klist | ||
+ | Ticket cache: FILE:/ | ||
+ | Default principal: Administrator@TRANSIT.LOCAL | ||
+ | |||
+ | Valid starting | ||
+ | 11.03.2013 17: | ||
+ | renew until 12.03.2013 18:01:50 | ||
+ | </ | ||
+ | |||
+ | Получили, | ||
+ | < | ||
+ | # net ads join -U Administrator | ||
+ | Enter Administrator' | ||
+ | Using short domain name -- TRANSIT | ||
+ | Joined ' | ||
+ | </ | ||
+ | |||
+ | Немного изменим файл /// | ||
+ | < | ||
+ | # | ||
+ | # / | ||
+ | # | ||
+ | # Start/ | ||
+ | # | ||
+ | # To make Samba start automatically at boot, make this | ||
+ | # file executable: | ||
+ | # | ||
+ | |||
+ | samba_start() { | ||
+ | if [ -x / | ||
+ | echo " | ||
+ | / | ||
+ | echo " | ||
+ | / | ||
+ | echo " | ||
+ | / | ||
+ | fi | ||
+ | } | ||
+ | |||
+ | samba_stop() { | ||
+ | killall smbd nmbd winbindd | ||
+ | } | ||
+ | |||
+ | samba_restart() { | ||
+ | samba_stop | ||
+ | sleep 2 | ||
+ | samba_start | ||
+ | } | ||
+ | |||
+ | case " | ||
+ | ' | ||
+ | samba_start | ||
+ | ;; | ||
+ | ' | ||
+ | samba_stop | ||
+ | ;; | ||
+ | ' | ||
+ | samba_restart | ||
+ | ;; | ||
+ | *) | ||
+ | # Default is " | ||
+ | # Slackware versions. | ||
+ | samba_start | ||
+ | esac | ||
+ | </ | ||
+ | |||
+ | дадим ему права на запуск и запустим //samba//: | ||
+ | < | ||
+ | # chmod 755 / | ||
+ | # / | ||
+ | Starting Samba: | ||
+ | / | ||
+ | / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Проверим связь с контролером домена: | ||
+ | < | ||
+ | # wbinfo -t | ||
+ | checking the trust secret for domain TRANSIT via RPC calls succeeded | ||
+ | |||
+ | # wbinfo -u | ||
+ | v_pupkin | ||
+ | administrator | ||
+ | dns-dc1 | ||
+ | krbtgt | ||
+ | guest | ||
+ | |||
+ | # wbinfo -g | ||
+ | ..... | ||
+ | ..... | ||
+ | domain admins | ||
+ | domain guests | ||
+ | schema admins | ||
+ | domain users | ||
+ | dnsadmins | ||
+ | |||
+ | # wbinfo -a administrator | ||
+ | Enter administrator' | ||
+ | plaintext password authentication succeeded | ||
+ | Enter administrator' | ||
+ | challenge/ | ||
+ | </ | ||
+ | |||
+ | А теперь нужно убедиться, | ||
+ | < | ||
+ | # getent passwd | ||
+ | root: | ||
+ | ..... | ||
+ | ..... | ||
+ | apache: | ||
+ | messagebus: | ||
+ | haldaemon: | ||
+ | pop: | ||
+ | nobody: | ||
+ | v_pupkin: | ||
+ | administrator: | ||
+ | dns-dc1: | ||
+ | krbtgt: | ||
+ | guest: | ||
+ | |||
+ | # getent group | ||
+ | root: | ||
+ | bin: | ||
+ | daemon: | ||
+ | ..... | ||
+ | ..... | ||
+ | domain admins: | ||
+ | domain guests: | ||
+ | schema admins: | ||
+ | domain users: | ||
+ | dnsadmins: | ||
+ | </ | ||
+ | |||
+ | Отлично! Всё необходимое мы проверили - работает! | ||
+ | Теперь приступим к самому серьёзному - к установке //shadow//. | ||
+ | |||
+ | ====== Собираем и устанавливаем shadow ====== | ||
+ | <note warning> | ||
+ | После установки __**НЕ ПЕРЕЗАГРУЖАЙТЕСЬ !!!**__ Дочитайте статью до конца, чтобы знать где искать ошибки. Перейдите в соседнюю консоль (Alt+F2(3, | ||
+ | </ | ||
+ | |||
+ | Скачаем последнюю версию, | ||
+ | < | ||
+ | # wget http:// | ||
+ | # tar xf shadow-4.1.5.tar.gz | ||
+ | # cd shadow-4.1.5.1 | ||
+ | # ./configure \ | ||
+ | --prefix=/ | ||
+ | --sysconfdir=/ | ||
+ | --mandir=/ | ||
+ | --docdir=/ | ||
+ | --disable-shared \ | ||
+ | --without-libcrack \ | ||
+ | --with-libpam | ||
+ | # make | ||
+ | # make install DESTDIR=/ | ||
+ | # cd / | ||
+ | # makepkg | ||
+ | # upgradepkg --reinstall --install-new / | ||
+ | </ | ||
+ | |||
+ | Всё, //shadow// установлен, | ||
+ | |||
+ | ====== Настройка и проверка работоспособности ====== | ||
+ | |||
+ | Настройки PAM находятся в каталоге /// | ||
+ | В этом каталоге находятся текстовые файлы с политиками. И именуются эти файлы, соответственно сервису, | ||
+ | Т.е. для программы //login//, это //login// и т.д.\\ | ||
+ | Вначале статьи есть архив каталога //pam.d// с моими рабочими файлами, | ||
+ | |||
+ | Существует возможность настройки РАМ через /// | ||
+ | Все политики в файле // | ||
+ | |||
+ | Подробно про то, что такое PAM, тонкости настройки и с чем его едят можно почитать: | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | А мы приступим к настройке.\\ | ||
+ | Если Вы воспользовались каталогом из моего архива [[http:// | ||
+ | Я приведу содержимое нескольких файлов, | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | auth required pam_securetty.so | ||
+ | auth sufficient pam_winbind.so | ||
+ | auth sufficient pam_unix.so use_first_pass | ||
+ | auth include system-auth-winbind | ||
+ | auth required pam_nologin.so | ||
+ | |||
+ | account sufficient pam_winbind.so | ||
+ | account include system-auth-winbind | ||
+ | |||
+ | password include system-auth-winbind | ||
+ | |||
+ | session include | ||
+ | session required pam_unix.so | ||
+ | session required pam_env.so | ||
+ | session required pam_motd.so | ||
+ | session required pam_limits.so | ||
+ | session optional pam_mail.so dir=/ | ||
+ | session optional pam_lastlog.so | ||
+ | session optional pam_loginuid.so | ||
+ | session optional pam_console.so | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | auth include | ||
+ | account | ||
+ | password | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | auth sufficient | ||
+ | # Uncomment the following line to implicitly trust users in the " | ||
+ | #auth | ||
+ | # Uncomment the following line to require a user to be in the " | ||
+ | auth required | ||
+ | auth include | ||
+ | account | ||
+ | password | ||
+ | session | ||
+ | session | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | auth sufficient | ||
+ | account | ||
+ | password | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | |||
+ | auth required | ||
+ | auth sufficient | ||
+ | auth sufficient | ||
+ | auth required | ||
+ | |||
+ | account | ||
+ | account | ||
+ | |||
+ | password | ||
+ | password | ||
+ | |||
+ | session | ||
+ | session | ||
+ | session | ||
+ | </ | ||
+ | |||
+ | __// | ||
+ | < | ||
+ | #%PAM-1.0 | ||
+ | auth required | ||
+ | auth optional | ||
+ | auth sufficient | ||
+ | auth sufficient | ||
+ | auth required | ||
+ | </ | ||
+ | |||
+ | __**НЕ ПЕРЕЗАГРУЖАТЬСЯ!!!**__\\ | ||
+ | |||
+ | Переходим в соседнюю консоль и пытаемся зайти под доменным пользователем: | ||
+ | < | ||
+ | Welcome to Linux 3.2.29-smp (tty3) | ||
+ | |||
+ | |||
+ | Slack-test Login: administrator | ||
+ | ошибка настройки: | ||
+ | ошибка настройки: | ||
+ | ошибка настройки: | ||
+ | Password: | ||
+ | Your password will expire in 10 days. | ||
+ | |||
+ | Linux 3.2.29-smp. | ||
+ | |||
+ | In a great romance, each person basically plays a part that the | ||
+ | other really likes. | ||
+ | -- Elizabeth Ashley | ||
+ | |||
+ | administrator@Slack-test: | ||
+ | </ | ||
+ | |||
+ | Ура, вошли, но получили ошибки. Ничего страшного, | ||
+ | В файле // | ||
+ | Идём дальше. Пробуем получить привилегии локального root'a | ||
+ | < | ||
+ | administrator@Slack-test: | ||
+ | Password: | ||
+ | su: Доступ запрещен | ||
+ | </ | ||
+ | |||
+ | Всё верно, ведь пользователь // | ||
+ | < | ||
+ | # id administrator | ||
+ | uid=10001(administrator) gid=10000(domain users) группы=10000(domain users), | ||
+ | |||
+ | # usermod -a -G wheel administrator | ||
+ | |||
+ | # id administrator | ||
+ | uid=10001(administrator) gid=10000(domain users) группы=10000(domain users), | ||
+ | </ | ||
+ | |||
+ | Переходим обратно в соседнюю консоль и проверяем: | ||
+ | < | ||
+ | administrator@Slack-test: | ||
+ | Password: | ||
+ | F: When into a room I plunge, I | ||
+ | Sometimes find some VIOLET FUNGI. | ||
+ | Then I linger, darkly brooding | ||
+ | On the poison they' | ||
+ | -- The Roguelet' | ||
+ | |||
+ | root@Slack-test: | ||
+ | </ | ||
+ | |||
+ | Всё работает!\\ | ||
+ | Пробуем войти под обычным пользователем домена // | ||
+ | < | ||
+ | administrator@Slack-test: | ||
+ | |||
+ | Welcome to Linux 3.2.29-smp (tty3) | ||
+ | |||
+ | |||
+ | Slack-test Login: v_pupkin | ||
+ | Password: | ||
+ | |||
+ | Создание каталога / | ||
+ | Linux 3.2.29-smp. | ||
+ | |||
+ | XIIdigitation, | ||
+ | The practice of trying to determine the year a movie was made | ||
+ | by deciphering the Roman numerals at the end of the credits. | ||
+ | -- Rich Hall, " | ||
+ | |||
+ | v_pupkin@Slack-test: | ||
+ | </ | ||
+ | |||
+ | И так, вход в систему пользователями домена работает. Но не забывайте, | ||
+ | |||
+ | ====== Графический вход в систему ====== | ||
+ | |||
+ | Можно не делать всего вышеописанного, | ||
+ | |||
+ | В качестве графической оболочки запроса логина с паролем, | ||
+ | |||
+ | Скачиваем скрипт с сайта проекта, | ||
+ | < | ||
+ | # wget http:// | ||
+ | # chmod +x ./ | ||
+ | # ./ | ||
+ | </ | ||
+ | |||
+ | После запуска скрипта всё необходимое скачается в /// | ||
+ | < | ||
+ | # cd / | ||
+ | # ./ | ||
+ | # ./ | ||
+ | </ | ||
+ | |||
+ | Проверяем соответствие нашему домену в /// | ||
+ | < | ||
+ | default_realm | ||
+ | </ | ||
+ | |||
+ | и в /// | ||
+ | < | ||
+ | [global] | ||
+ | | ||
+ | realm = MYDOM.LAN | ||
+ | | ||
+ | </ | ||
+ | |||
+ | для samba 4.6+ | ||
+ | < | ||
+ | idmap config *:backend = tdb | ||
+ | |||
+ | kerberos method = dedicated keytab | ||
+ | dedicated keytab file = / | ||
+ | </ | ||
+ | |||
+ | Если всё верно, присоединяемся к домену и получаем //keytab// | ||
+ | < | ||
+ | # net ads join -U Administrator | ||
+ | # kinit Administrator | ||
+ | # net ads keytab create -U Administrator | ||
+ | </ | ||
+ | |||
+ | Далее настраиваем // | ||
+ | Правим файлы конфигураций: | ||
+ | /// | ||
+ | < | ||
+ | [SeatDefaults] | ||
+ | # Запрещаем гостевой вход | ||
+ | allow-guest=false | ||
+ | |||
+ | # Скрываем список пользователей | ||
+ | greeter-hide-users=true | ||
+ | |||
+ | # Пользователь вручную вводить логин с паролем | ||
+ | greeter-show-manual-login=true | ||
+ | |||
+ | # Сессия для загрузки | ||
+ | # | ||
+ | user-session=default | ||
+ | |||
+ | # Скрипт который запустится при запуске сеанса greeter (выполняется от root) | ||
+ | display-setup-script=/ | ||
+ | </ | ||
+ | |||
+ | /// | ||
+ | < | ||
+ | [greeter] | ||
+ | # Файл изображения в качестве фона или цвет (например, | ||
+ | background=/ | ||
+ | |||
+ | # Схема GTK+ | ||
+ | theme-name=Raleigh | ||
+ | |||
+ | # Схема иконок | ||
+ | icon-theme-name=oxygen | ||
+ | |||
+ | # Позиция окна ввода логина с паролем (x y). По умолчанию 50% 50% - середина экрана. | ||
+ | position= 55% 45% | ||
+ | </ | ||
+ | Используемые параметры, | ||
+ | |||
+ | ===== X11vnc ===== | ||
+ | |||
+ | Для возможности удалённого контроля и демонстрации возможностей графической среды установим //x11vnc//. Его можно собрать самостоятельно при помощи //sbopkg// или найти готовый пакет на // | ||
+ | После установки пакета создадим скрипт /// | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Назначим пароль при подключении, | ||
+ | < | ||
+ | # mkdir /etc/vnc | ||
+ | # x11vnc -storepasswd ваш_пароль / | ||
+ | # touch / | ||
+ | # chmod +x / | ||
+ | # / | ||
+ | </ | ||
+ | |||
+ | Теперь можно подключаться к компьютеру по //VNC// на порту 5900.\\ | ||
+ | Для автозапуска скопируем скрипт // | ||
+ | |||
+ | |||
+ | ===== Автомонтирование ==== | ||
+ | |||
+ | При входе в систему примонтируем сетевой каталог //4all// расположенный на файловом сервере // | ||
+ | Для этого надо установить дополнительные пакеты последних версий //libHX//, //audit// и // | ||
+ | |||
+ | После установки прописываем // | ||
+ | < | ||
+ | auth | ||
+ | auth | ||
+ | auth | ||
+ | auth | ||
+ | |||
+ | account | ||
+ | account | ||
+ | |||
+ | session | ||
+ | session | ||
+ | session | ||
+ | session | ||
+ | |||
+ | password | ||
+ | password | ||
+ | </ | ||
+ | |||
+ | И в файл /// | ||
+ | < | ||
+ | <!-- Volume definitions --> | ||
+ | |||
+ | <volume fstype=" | ||
+ | </ | ||
+ | |||
+ | Теперь, | ||
+ | |||
+ | ===== Ошибки ==== | ||
+ | |||
+ | * //**При верном логине и пароле всё равно выкидывает в lightdm**// | ||
+ | |||
+ | **1.** В // | ||
+ | |||
+ | < | ||
+ | xfce4-session: | ||
+ | </ | ||
+ | исправляем | ||
+ | < | ||
+ | # rm -r / | ||
+ | # mkdir / | ||
+ | </ | ||
+ | |||
+ | **2.** В /// | ||
+ | < | ||
+ | (EE) Backtrace: | ||
+ | (EE) 0: / | ||
+ | (EE) 1: / | ||
+ | (EE) 2: / | ||
+ | (EE) 3: / | ||
+ | (EE) 4: / | ||
+ | (EE) 5: / | ||
+ | (EE) 6: / | ||
+ | (EE) 7: / | ||
+ | (EE) 8: / | ||
+ | (EE) 9: / | ||
+ | (EE) 10: / | ||
+ | (EE) 11: / | ||
+ | (EE) | ||
+ | (EE) Segmentation fault at address 0x0 | ||
+ | </ | ||
+ | |||
+ | Исправляем. Создаем файл /// | ||
+ | < | ||
+ | Section " | ||
+ | | ||
+ | | ||
+ | | ||
+ | EndSection | ||
+ | </ | ||
+ | |||
+ | * //**В списках настройки экрана нет поддерживаемого монитором разрешения.**// | ||
+ | |||
+ | Я точно знаю, что мой 17%%" | ||
+ | Узнаем параметры разрешения 1280х1024 для последующей настройки. | ||
+ | < | ||
+ | # cvt 1280 1024 | ||
+ | |||
+ | 1280x1024 59.89 Hz (CVT 1.31M4) hsync: 63.67 kHz; pclk: 109.00 MHz | ||
+ | Modeline " | ||
+ | </ | ||
+ | |||
+ | Создадим скрипт в /// | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | |||
+ | # VGA1 - это название монитора которое можно узнать запустив xrandr без параметров. | ||
+ | # my_set - произвольное название создаваемого режима. | ||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Присваиваем бит запуска и запускаем. | ||
+ | < | ||
+ | # chmod +x / | ||
+ | # fix_vga_mode | ||
+ | </ | ||
+ | |||
+ | Для автоматизации можно прописать запуск скрипта в /// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | [[http:// |