The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Монтирование хомяков по CIFS"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Samba, вопросы интеграции Unix и Windows (Samba)
Изначальное сообщение [ Отслеживать ]

"Монтирование хомяков по CIFS"  +/
Сообщение от Garret email(ok) on 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 ещё пришлось долго и упорно добивать напильником =)

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Монтирование хомяков по CIFS"  +/
Сообщение от Hetzer (ok) on 26-Ноя-08, 09:17 
>[оверквотинг удален]
>        initial_prompt = false
>        subsequent_prompt = false
>        use_shmem = sshd
>        validate = false
>}
>
>Пробовал на OpenSuse 11 и Ubuntu 8.04. История везде примерно одинаковая. Только
>OpenSuse ещё пришлось долго и упорно добивать напильником =)
>
>Всем отписавшимся заранее огромное спасибо!

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Монтирование хомяков по CIFS"  +/
Сообщение от Garret email(ok) on 26-Ноя-08, 14:33 
>autofs придумали много ранее всего вышеперечиленного, стандартизировали и начали использовать в промышленных
>масштабах. советую и вам, не изобретая велосипеды, начать его использовать

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Монтирование хомяков по CIFS"  +/
Сообщение от Hetzer (ok) on 26-Ноя-08, 16:08 
>>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.

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Монтирование хомяков по CIFS"  +/
Сообщение от Garret email(ok) on 26-Ноя-08, 17:00 
Я отказался от CIFS в пользу NFS. Все глюки как рукой сняло.
Теперь вопрос в другом. Как настроить NFS под Microsoft Services for Unix. В сети не нашёл ни одного внятного мана по этому поводу.
Установил SFU, расшарил директорию, дак правда на чтение/запись всем компьютерам в сети. Монтирую. Не даёт даже прочитать содержимое. Куда копать дальше? Как синхронизировать пользователей AD и встроенного в SFU NIS-сервера?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Монтирование хомяков по CIFS"  +/
Сообщение от Garret email(ok) on 27-Ноя-08, 14:13 
Всё настроил, вопрос закрыт =)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Монтирование хомяков по CIFS"  +/
Сообщение от technolog (??) on 03-Дек-08, 11:25 
>Всё настроил, вопрос закрыт =)

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Монтирование хомяков по CIFS"  +/
Сообщение от WereWolf email on 15-Янв-09, 17:10 
>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'еры.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Монтирование хомяков по CIFS"  +/
Сообщение от Дмитрий (??) on 12-Ноя-10, 11:55 
>>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 не работает - у меня в файле такой строки даже нет. Есть ли еще какой - либо способ?


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Монтирование хомяков по CIFS"  +/
Сообщение от Dr.Olz on 18-Ноя-10, 14:27 

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

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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