The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Монтирование хомяков по CIFS, !*! Garret, 25-Ноя-08, 09:45  [смотреть все]
Необходимо сделать мобильный профиль пользователя:
1. Авторизация в AD на Windows Server 2008
2. Монтирование хомяка по CIFS с ресурса на этом сервере
3. ...
...

Авторизация работает на ура, а вот с монтирование возникли некоторые вопросы...

1. При логине доменного юзера из gdm, его хомка монтируется аж 3 раза (/bin/login, ssh и su отрабатывают как надо - глючит только gdm)
2. Есть локальный юзер administrator. При его логине тоже зачем-то монтируется хомяк с сервера, хотя используется всё-равно локальный. Причём gdm просит повторить пароль для pam_mount, причём 3 раза. И принимает только 3 пустых пароля =)
3. Как отмонтировать ресурс, после того, как пользователь вышел?
4. Надо запретить доменным пользователям доступ к флешкам.
5. При логине через раз пишется, что невозможно определить имя группы по её GID (10000 - пользователи домена)
6. И самое неприятное - openoffice не работает, если хомяк находится на сервере. Вылетает с ошибкой ещё до запуска. В хомке при этом появляется дира ~/.openoffice, но она заполнена не до конца. Решается копированием этой диры из хомки любого локального юзера и проставлением прав. Но это не очень элегантное решение. Необходимо понять причину.


Всё остальное вроде работает хорошо.

Конфиги:

1. Хомяки монтируются из /etc/security/pam_mount.conf.xml

    <volume fstype="cifs" server="192.168.1.1" path="Homes/%(USER)"
        mountpoint="/home/IT/%(USER)" options="workgroup=IT,rw,iocharset=utf8,username=Администратор,password=some_password,gid=10000,umask=022,dir_mode=0700,file_mode=0644"
/>

2. /etc/pam.d/common-account

account requisite       pam_unix.so
account sufficient      pam_localuser.so
account required        pam_winbind.so  use_first_pass

3. /etc/pam.d/common-auth

auth    sufficient      pam_unix.so
auth    required        pam_winbind.so  use_first_pass  debug
auth    required        pam_group.so
auth    required        pam_mount.so    use_first_pass

4. /etc/pam.d/common-pammount

auth       optional   pam_mount.so try_first_pass
session    optional   pam_mount.so try_first_pass

5. /etc/pam.d/common-password

password        sufficient      pam_winbind.so
password        required        pam_unix.so     nullok md5


6. /etc/pam.d/common-session

session  optional       pam_mkhomedir.so
session required        pam_unix.so
session required        pam_winbind.so
session  optional       pam_mount.so    use_first_pass
session  optional       pam_umask.so

7. /etc/pam.d/gdm

#%PAM-1.0
auth requisite    pam_nologin.so
auth required     pam_env.so
@include common-auth
@include common-account
session required   pam_limits.so
@include common-session
session required   pam_mount.so use_first_pass
@include common-pammount
session required   pam_mkhomedir.so umask=0022 skel=/etc/skel
@include common-password

8. /etc/pam.d/sudo

auth    sufficient      pam_winbind.so
auth    sufficient      pam_unix.so use_first_pass
auth    required        pam_deny.so
@include common-account

9. /etc/samba/smb.conf

[global]
        unix charset = UTF-8
        dos charset = CP866
        display charset = UTF-8
        workgroup = IT
        server string = %h server (Samba, Ubuntu)
        wins support = no
        wins server = 192.168.1.1
        dns proxy = no
        log file = /var/log/samba/log.%m
        max log size = 1000
        syslog = 0
        panic action = /usr/share/samba/panic-action %d
        security = ADS
        password server = 192.168.1.1
        realm = IT.LOCAL
        encrypt passwords = true
        passdb backend = tdbsam
        obey pam restrictions = yes
        invalid users = root
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *passwd:*password\supdated\ssuccessfully*
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        template shell = /bin/bash
        winbind enum groups = yes
        winbind enum users = yes
        template homedir = /home/%D/%U
        client use spnego = yes
        winbind use default domain = yes
        winbind refresh tickets = yes
        restrict anonymous = 2
        domain master = no
        local master = no
        preferred master = no
        os level = 0

        printing = cups
        printcap name = cups
        printcap cache time = 750
        cups options = raw
        map to guest = Bad User
        logon path = \\%L\profiles\.msprofile
        logon home = \\%L\%U\.9xprofile
        logon drive = P:
        usershare allow guests = No
        netbios name = workstation1
        winbind offline logon = yes

10. /etc/nsswitch

passwd: compat winbind
group:  compat winbind
shadow: compat
hosts:  files dns
networks:       files dns
protocols:      db files
services:       db files
ethers: db files
rpc:    dv files
netgroup:       files winbind

11. /etc/krb5.conf

[libdefaults]
        default_realm = IT.LOCAL
        clockskew = 300
#       default_realm = EXAMPLE.COM

[realms]
IT.LOCAL = {
        kdc = server2008.it.local
        default_domain = it.local
        admin_server = 192.168.1.1:749
}
#       EXAMPLE.COM = {
#                kdc = kerberos.example.com
#               admin_server = kerberos.example.com
#       }

[logging]
        kdc = FILE:/var/log/krb5/krb5kdc.log
        admin_server = FILE:/var/log/krb5/kadmind.log
        default = SYSLOG:NOTICE:DAEMON
[domain_realm]
        .it.local = IT.LOCAL
        .it = IT.LOCAL
[appdefaults]
pam = {
        ticket_lifetime = 1d
        renew_lifetime = 1d
        forwardable = true
        proxiable = false
        minimum_uid = 1
        addressless = false
        clockskew = 300
        debug = false
        debug_sensitive = false
        existing_ticket = false
        external = sshd
        initial_prompt = false
        subsequent_prompt = false
        use_shmem = sshd
        validate = false
}

Пробовал на OpenSuse 11 и Ubuntu 8.04. История везде примерно одинаковая. Только OpenSuse ещё пришлось долго и упорно добивать напильником =)

Всем отписавшимся заранее огромное спасибо!

  • Монтирование хомяков по CIFS, !*! Hetzer, 09:17 , 26-Ноя-08 (1)
    >[оверквотинг удален]
    >        initial_prompt = false
    >        subsequent_prompt = false
    >        use_shmem = sshd
    >        validate = false
    >}

    >
    >Пробовал на OpenSuse 11 и Ubuntu 8.04. История везде примерно одинаковая. Только
    >OpenSuse ещё пришлось долго и упорно добивать напильником =)
    >
    >Всем отписавшимся заранее огромное спасибо!

    autofs придумали много ранее всего вышеперечиленного, стандартизировали и начали использовать в промышленных масштабах. советую и вам, не изобретая велосипеды, начать его использовать

    • Монтирование хомяков по CIFS, !*! Garret, 14:33 , 26-Ноя-08 (2)
      >autofs придумали много ранее всего вышеперечиленного, стандартизировали и начали использовать в промышленных
      >масштабах. советую и вам, не изобретая велосипеды, начать его использовать

      А можно поподробней? Как autofs мне поможет в решении данной задачи?

      • Монтирование хомяков по CIFS, !*! Hetzer, 16:08 , 26-Ноя-08 (3)
        >>autofs придумали много ранее всего вышеперечиленного, стандартизировали и начали использовать в промышленных
        >>масштабах. советую и вам, не изобретая велосипеды, начать его использовать
        >
        >А можно поподробней? Как autofs мне поможет в решении данной задачи?

        все подробности в документации, их слишком много.
        если вводит в заблуждение название, то вот:

        Autofs controls the operation of the automount daemons. The
        automount daemons automatically mount filesystems when they
        are used and unmount them after a period of inactivity.

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

        • Монтирование хомяков по CIFS, !*! Garret, 17:00 , 26-Ноя-08 (4)
          Я отказался от CIFS в пользу NFS. Все глюки как рукой сняло.
          Теперь вопрос в другом. Как настроить NFS под Microsoft Services for Unix. В сети не нашёл ни одного внятного мана по этому поводу.
          Установил SFU, расшарил директорию, дак правда на чтение/запись всем компьютерам в сети. Монтирую. Не даёт даже прочитать содержимое. Куда копать дальше? Как синхронизировать пользователей AD и встроенного в SFU NIS-сервера?
          • Монтирование хомяков по CIFS, !*! Garret, 14:13 , 27-Ноя-08 (5)
            Всё настроил, вопрос закрыт =)
            • Монтирование хомяков по CIFS, !*! technolog, 11:25 , 03-Дек-08 (6)
              >Всё настроил, вопрос закрыт =)

              ну расскажи, как же ты настроил?
              Я запутался в этом PAM'е окончательно.
              Может есть у кого рабочий конфиги с pam_mount.so к Ubuntu 8.04?
              В некоторых случаях у меня монтировалась "хомка", но при этом пароль нужно было вводить 2 раза, ну это ладно, при смене (logout, login) пользователя (например на локального), umount не отрабатывает. Я кстати даже рутом не могу отмантировать, пишет device busy.
              Шары раздаю NFS'ом.

  • Монтирование хомяков по CIFS, !*! WereWolf, 17:10 , 15-Янв-09 (7)
    >1. При логине доменного юзера из gdm, его хомка монтируется аж 3 раза (/bin/login, ssh и su отрабатывают как надо - глючит только gdm)

    Естественно, т.к. у вас в /etc/pam.d/gdm указано:

    @include common-session # в этом файле уже прописан pam_mount.so
    session required   pam_mount.so use_first_pass # тут вы указываете его явно вручную
    @include common-pammount # в этом файле тоже прописан этот модуль

    а нужно просто:

    @include common-session

    >2. Есть локальный юзер administrator. При его логине тоже зачем-то монтируется хомяк с сервера, хотя используется всё-равно локальный.

    Для того, чтобы не монтировался, можно использовать модуль pam_succeed_if.so, например:

    session required pam_succeed_if.so uid > 10000
    session optional pam_mount.so
    @include common-session

    >3. Как отмонтировать ресурс, после того, как пользователь вышел?

    По умолчанию pam_mount сам отмонтирует ресурсы после logoff'а пользователя. Включите debug в /etc/security/pam_mount.conf.xml и смотрите, почему этого не происходит.

    >4. Надо запретить доменным пользователям доступ к флешкам.

    А в чем проблема? По умолчанию какие-либо ФС может монтировать только root. Просто отключите все automount'еры.

    • Монтирование хомяков по CIFS, !*! Дмитрий, 11:55 , 12-Ноя-10 (8)
      >>1. При логине доменного юзера из gdm, его хомка монтируется аж 3 раза (/bin/login, ssh и su отрабатывают как надо - глючит только gdm)
      > Естественно, т.к. у вас в /etc/pam.d/gdm указано:
      > @include common-session # в этом файле уже прописан pam_mount.so
      > session required   pam_mount.so use_first_pass # тут вы указываете его явно
      > вручную
      > @include common-pammount # в этом файле тоже прописан этот модуль
      > а нужно просто:
      > @include common-session

         Прошу прощения, если несколько не по теме, но имеется вопрос. Имеется Ubuntu 10.04, при авторизации пользователя домена пароль запрашивается дважды, есть случаи что и трижды. Ваш способ с исключением строки @include common-pammount не работает - у меня в файле такой строки даже нет. Есть ли еще какой - либо способ?


      • Монтирование хомяков по CIFS, !*! Dr.Olz, 14:27 , 18-Ноя-10 (9)

        >    Прошу прощения, если несколько не по теме, но имеется
        > вопрос. Имеется Ubuntu 10.04, при авторизации пользователя домена пароль запрашивается
        > дважды, есть случаи что и трижды. Ваш способ с исключением строки
        > @include common-pammount не работает - у меня в файле такой строки
        > даже нет. Есть ли еще какой - либо способ?

        в /etc/pam.d/gdm добавь в конец строки с auth и pam_unix.so парамерт use_first_pass




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру