Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Alexander Abutov                     2:5020/1057.225 11 Dec 2002  15:56:00
 To : All
 Subject : passwd,Linux-PAM & chroot
 -------------------------------------------------------------------------------- 
 
 
  Hикто passwd и Linux-PAM в chroot не запихивал?
  Имеем RH8(2.4.18-14smp)
  В целом, я пытаюсь положить в chroot польностью Qmail и все пользовательские
 каталоги (не бейте ногами). Соответственно в этом chroot'e желательно создавать 
 своих ползователей и устанавливать им пароль.
  man passwd и man pam прочитаны (уж в части FILES точно).
  Что делаю: (Здесь приведен кусок, имеющий отношение к проблеме, из более
 полного скрипта по установке Qmail в chroot)
 === Cut ===
 rootdir="/mailchroot"
 mkdir -p $rootdir && cd $rootdir
 mkdir -p bin dev etc home lib/i686 lib usr/sbin usr/bin usr/lib usr/kerberos/lib
 mknod -m 666 $rootdir/dev/null c 1 3
 mknod -m 644 $rootdir/dev/random c 1 8
 cp    /usr/bin/passwd                    $rootdir/usr/bin/passwd
 cp    /usr/sbin/useradd                  $rootdir/usr/sbin/useradd
 cp    /usr/sbin/userdel                  $rootdir/usr/sbin/userdel
 cp    /etc/localtime                     $rootdir/etc/localtime
 cp    /lib/i686/libc.so.6                $rootdir/lib/i686/libc.so.6
 cp    /lib/ld-linux.so.2                 $rootdir/lib/ld-linux.so.2
 cp    /lib/libcrypt.so.1                 $rootdir/lib/libcrypt.so.1
 cp    /lib/libresolv.so.2                $rootdir/lib/libresolv.so.2
 cp    /lib/libdl.so.2                    $rootdir/lib/libdl.so.2
 cp    /lib/libtermcap.so.2               $rootdir/lib/libtermcap.so.2
 cp    /usr/lib/libglib-2.0.so.0          $rootdir/usr/lib/libglib-2.0.so.0
 cp    /usr/lib/libgmodule-2.0.so.0       $rootdir/usr/lib/libgmodule-2.0.so.0
 cp    /usr/lib/libgobject-2.0.so.0       $rootdir/usr/lib/libgobject-2.0.so.0
 cp    /usr/lib/libpopt.so.0              $rootdir/usr/lib/libpopt.so.0
 cp    /usr/lib/libuser.so.1              $rootdir/usr/lib/libuser.so.1
 #Copying Linux-PAM
 cp -R /etc/pam.d                         $rootdir/etc/
 (чтоб не мелочиться)
 cp    /lib/libpam.so.0                   $rootdir/lib/libpam.so.0
 cp    /lib/libpam_misc.so.0              $rootdir/lib/libpam_misc.so.0
 cp    /lib/libpamc.so.0                  $rootdir/lib/libpamc.so.0
 cp -R /lib/security                      $rootdir/lib/
 (аналогично)
 #Additional libraries
 cp    /lib/libnsl.so.1                   $rootdir/lib/libnsl.so.1
 cp    /lib/libcrypto.so.2                $rootdir/lib/libcrypto.so.2
 cp    /lib/libdb-4.0.so                  $rootdir/lib/libdb-4.0.so
 cp    /lib/libssl.so.2                   $rootdir/lib/libssl.so.2
 cp    /lib/libutil.so.1                  $rootdir/lib/libutil.so.1
 cp    /usr/kerberos/lib/libcom_err.so.3
 $rootdir/usr/kerberos/lib/libcom_err.so.3
 cp    /usr/kerberos/lib/libdes425.so.3 $rootdir/usr/kerberos/lib/libdes425.so.3
 cp    /usr/kerberos/lib/libk5crypto.so.3
 $rootdir/usr/kerberos/lib/libk5crypto.so.3
 cp    /usr/kerberos/lib/libkrb4.so.2     $rootdir/usr/kerberos/lib/libkrb4.so.2
 cp    /usr/kerberos/lib/libkrb5.so.3     $rootdir/usr/kerberos/lib/libkrb5.so.3
 cp    /usr/kerberos/lib/libkrbafs.so.0 $rootdir/usr/kerberos/lib/libkrbafs.so.0
 cp    /usr/lib/libglib-1.2.so.0          $rootdir/usr/lib/libglib-1.2.so.0
 cp    /usr/lib/libcrack.so.2             $rootdir/usr/lib/libcrack.so.2
 cp    /usr/lib/libgdbm.so.2              $rootdir/usr/lib/libgdbm.so.2
 cp    /usr/lib/liblber.so.2              $rootdir/usr/lib/liblber.so.2
 cp    /usr/lib/libldap.so.2              $rootdir/usr/lib/libldap.so.2
 cp    /usr/lib/libsasl.so.7              $rootdir/usr/lib/libsasl.so.7
 #Copying Naming Service (man nsswitch.conf)
 cp    /lib/libnss_files.so.2            $rootdir/lib/libnss_files.so.2
 cp    /lib/libnss_dns.so.2              $rootdir/lib/libnss_dns.so.2
 echo -e 'passwd: files\nshadow: files\ngroup: files\nhosts: files dns\n' >
 $rootdir/etc/nsswitch.conf
 #Security subsystem
 (Здесь создаются /etc/passwd,shadow,group. Их содержание в данный момент не
 важно)
 echo -e '' > $rootdir/etc/passwd
 echo -e '' > $rootdir/etc/group
 echo -e '' > $rootdir/etc/shadow
 (Устанавиливаем права на файлы. 866 - группа всех демонов qmail)
 chown -R 0:886 $rootdir
 chmod    640 $rootdir/etc/*
 chmod -R 650 $rootdir/etc/skel
 chmod    640 $rootdir/etc/pam.d/*
 chmod    650 $rootdir/etc/pam.d
 chmod    400 $rootdir/etc/shadow
 chmod    650 $rootdir/etc
 === Cut ===
 
 Далее все действия под root
 
 Заходим в chroot:
 # chroot /fsnp/mail /bin/sh
 Добавляем пользователя (успешно)
 # useradd -s /bin/false -d /home/admin -m admin
 Пытаемся поменять ему пароль (на что получаем:)
 # passwd admin
 Changing password for user admin.
 passwd: Critical error - immediate abort
 
 И больше ничего...
 Все бинарники по ldd проверены, необходимые so.X в выше приведенном скрипте
 копируются в chroot. Подозреваю, что passwd(PAM'y) нехватает еще чего-то...
 
 Если кто что-то похожее с passwd делал или может посоветовать что-нибудь по
 поводу создания пользователей внутри chroot'a - Помогите!
 
 PS. Есть конечно вариант с запуском passwd в основном дереве, и потом ручного
 перенесения соответствующих строчек в $rootdir/etc/passwd,group,shadow
 Hо это что-то уж больно криво.
 
 Good Luck, All!
                                                     Alexander A. Abutov
 ---
  * Origin: -=ABU STATION=- (2:5020/1057.225)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 passwd,Linux-PAM & chroot   Alexander Abutov   11 Dec 2002 15:56:00 
 Re: passwd,Linux-PAM & chroot   Slava Astashonok   11 Dec 2002 18:23:32 
Архивное /ru.linux/52823df72853.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional