URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 80955
[ Назад ]

Исходное сообщение
"ldap + linux клиенты + системные группы"

Отправлено SarganSaor , 30-Июн-08 02:16 
Задачка такая, есть сетка гетерогенная, вин машины пока не будем трогать, будем трогать несколько linux станций которые хочется использовать с пользователями в ldap и /home на сервере через nfs.
это все сделано, это все работает.Хочется чтобы пользователь перемещался аки пчела с станции на станцию, и мог работать со своим home, это тоже работает, но есть нюанс. ( клиенты Kub 8.04)

1. На компе 1 есть пользователь Вася, который там работал до того как замутилась вся эта схема. Васе нужно пользоваться sudo, а в sudo Васю пускает потомучто он в группе admin, и вот Вася переходит на комп 2, вбивает в kdm логин пасс, и заходит в свою учетку, и в принципе может работать, но вот Вася хочет запустить че нить с помощью sudo ( или не судо, но суть та же) но его не  пускает, говорит что Вася не  sudoer, а а почему, а потому что на компе 2 в группе admin пользователь Петя, и про Вась group ничего не знает.... и такая же ситуация может быть с кучей других системных групп.

2.прописывать на каждом компе в группы всех пользователей?  Нахрен тогда вообще лдап...


3. Отаказываться вообще от passwd, shadow, и перегонять все в ldap? а если надо в сингле загрузиться? Мутить из полноценного компа бездисковую станцию не хочется.

В общем вот такой трабл... что посоветуете с системными группами?


Содержание

Сообщения в этом обсуждении
"ldap + linux клиенты + системные группы"
Отправлено tungus , 30-Июн-08 03:02 
Варианты:
1. Сделать группу ldap_admins, на каждом компьютере добавить в /etc/sudoers
%ldap_admins ALL = какие-то команды

2. http://www.gratisoft.us/sudo/readme_ldap.html


"ldap + linux клиенты + системные группы"
Отправлено SarganSaor , 01-Июл-08 04:08 
>Варианты:
>1. Сделать группу ldap_admins, на каждом компьютере добавить в /etc/sudoers
>%ldap_admins ALL = какие-то команды
>
>2. http://www.gratisoft.us/sudo/readme_ldap.html

Я наверное объяснил не правильно. вот пример моего локальноого group на ноуте...

$ cat /etc/group | grep ivan

adm:x:4:ivan
dialout:x:20:ivan,test
cdrom:x:24:ivan,test
floppy:x:25:ivan,test
audio:x:29:ivan,test,pulse
dip:x:30:ivan
video:x:44:ivan,test
plugdev:x:46:ivan,test
fuse:x:107:ivan
lpadmin:x:109:ivan,test
admin:x:114:ivan
ivan:x:1000:
vboxusers:x:121:ivan

А теперь представьте что мне нужно создать ldap пользователя ivan и удалю его локально... он будет состоять в системных группах, а это необходимо, что бы просто звук поиметь, но ОДНОМ компьютере, там где он был до лдапа локальным. Соответсвенно Вася будет на другом, Петя на третьем, а чтобы они могли работать без проблем на каждом компе мне нужно будет ввести кажного пользователя в системную группу на КАЖДОМ компе, а если пользователей будет 200?


"ldap + linux клиенты + системные группы"
Отправлено psn1982 , 01-Июл-08 13:45 
>[оверквотинг удален]
>ivan:x:1000:
>vboxusers:x:121:ivan
>
>А теперь представьте что мне нужно создать ldap пользователя ivan и удалю
>его локально... он будет состоять в системных группах, а это необходимо,
>что бы просто звук поиметь, но ОДНОМ компьютере, там где он
>был до лдапа локальным. Соответсвенно Вася будет на другом, Петя на
>третьем, а чтобы они могли работать без проблем на каждом компе
>мне нужно будет ввести кажного пользователя в системную группу на КАЖДОМ
>компе, а если пользователей будет 200?

1. Добиться того, чтобы у групп на всех машинах были одинаковые gid
Имеется в виду audio, plugdev и т.п.
2. Завести в LDAP группы с таким же названием и таким же gid как на локальных машинах.
3. LDAP пользователя завести в нужную LDAP группу.


"ldap + linux клиенты + системные группы"
Отправлено SarganSaor , 01-Июл-08 15:47 
>[оверквотинг удален]
>>третьем, а чтобы они могли работать без проблем на каждом компе
>>мне нужно будет ввести кажного пользователя в системную группу на КАЖДОМ
>>компе, а если пользователей будет 200?
>
>1. Добиться того, чтобы у групп на всех машинах были одинаковые gid
>
>Имеется в виду audio, plugdev и т.п.
>2. Завести в LDAP группы с таким же названием и таким же
>gid как на локальных машинах.
>3. LDAP пользователя завести в нужную LDAP группу.

Ну я в принципе так себе и представлял... но это не айс.;(


"ldap + linux клиенты + системные группы"
Отправлено Gennadi , 01-Июл-08 22:58 
>[оверквотинг удален]
>>
>>1. Добиться того, чтобы у групп на всех машинах были одинаковые gid
>>
>>Имеется в виду audio, plugdev и т.п.
>>2. Завести в LDAP группы с таким же названием и таким же
>>gid как на локальных машинах.
>>3. LDAP пользователя завести в нужную LDAP группу.
>
> Ну я в принципе так себе и представлял... но это не
>айс.;(

1. Есть Лдар-Сервер.

Это хорошо. IP 192.168.0.1

linux-Server :~ # getent passwd
.............
ivan:x:1000:1000::/home/ivan:/bin/bash
petya:x:1000:1000::/home/petya:/bin/bash

Показывает лдар-юзеров. Это хорошо.

2. Есть локальные машины.

настраеваем Лдар-клиентов:

/etc/ldap.conf
==================================
host    192.168.0.1    ## Лдап-Сервер
base    dc=domain,dc=net
uri    ldap://192.168.0.1
port    389
ldap_version    3
bind_timelimit    10
bind_policy    soft
nss_connect_policy    persist
idle_timelimit    3600
nss_paged_results    yes
pagesize    1000
binddn    cn=admin,dc=dyhap,dc=net
bindpw    SeCreT
nss_base_passwd    ou=Users,dc=domain,dc=net?one
nss_base_shadow    ou=Users,dc=domain,dc=net?one
nss_base_group    ou=Groups,dc=domain,dc=net?one
nss_map_attribute    uniqueMember member
ssl    no
pam_filter    objectclass=posixAccount
pam_login_attribute    uid
pam_min_uid    1000
pam_max_uid    60000
nss_initgroups_ignoreusers    root,ldap
pam_password    crypt
tls_checkpeer    no
=====================================================

/etc/nsswitch.conf
====================================================
passwd:    compat
shadow:    files ldap
group:    compat
hosts:    files lwres dns
networks:    files dns
services:    files
protocols:    files
rpc:             files
ethers:             files
netmasks:    files
netgroup:    files ldap
publickey:    files
bootparams:    files
automount:    files
aliases:    files
passwd_compat:    ldap
group_compat:    ldap
=======================================================


echo "+:::" >> /etc/group
echo "+::::::" >> /etc/passwd
echo "+::0:0:0::::" >> /etc/shadow


/etc/pam.d/common-account
==================================================
account    requisite    pam_unix2.so    
account    sufficient    pam_localuser.so
account    required    pam_ldap.so    use_first_pass
==================================================

/etc/pam.d/common-auth
==================================================
auth    required    pam_env.so    
auth    sufficient    pam_unix2.so    
auth    required    pam_ldap.so    use_first_pass
==================================================

/etc/pam.d/common-password
==================================================
password    requisite    pam_pwcheck.so    nullok cracklib
password    sufficient    pam_unix2.so    use_authtok nullok
password    required    pam_ldap.so    try_first_pass use_authtok
==================================================

/etc/pam.d/common-session
==================================================
session  optional    pam_mkhomedir.so    
session    required    pam_limits.so    
session    required    pam_unix2.so    
session    optional    pam_ldap.so    
session    optional    pam_umask.so    
==================================================


linux-Client :~ # getent passwd
.............
ivan:x:1000:1000::/home/ivan:/bin/bash
petya:x:1000:1000::/home/petya:/bin/bash

Показывает лдар-юзеров. Видит их на Сервере. Это хорошо.

linux-Client:~ # id petya
uid=1000(petya) gid=100(users) groups=100(users),16(dialout),33(video)

linux-Client признаёт лдар-пользователей как своих!

linux-Client :~ # getent group
...................
admins:*:1000:admin
oxusers:*:1001:ivan,petya

linux-Client признаёт лдар-группы как свои!


Теперь настроим домашние каталоги, добавляя в следующие файлы - строки:

/etc/auto.master
==================================================
/home      /etc/auto.misc --timeout=60
+auto.master
==================================================

/etc/auto.misc
==================================================
*  -fstype=nfs,soft,intr,rsize=8192,wsize=8192,nosuid,tcp 192.168.0.1:/home:&
==================================================

linux-Client :~ # /etc/init.d/autofs start
linux-Client :~ # chkconfig -a


Теперь Иван,Вася или Петя заходит с любой клиентской машины и получает свой домашний каталог на сервере /home/vasya или соответственно /home/petya....

Так работает на OpenSuSE.... на Ubuntu не пробовал. :-)))



"ldap + linux клиенты + системные группы"
Отправлено Gennadi , 02-Июл-08 00:30 

Да, естественно.... Не забыть на Сервере nfsserver стартовать!!!

/etc/exports
=====================================================================
/home    192.168.0.0/255.255.255.0(rw,no_root_squash,async,no_subtree_check)
=====================================================================

linux-Server :~ # /etc/init.d/nfsserver start


"ldap + linux клиенты + системные группы"
Отправлено SarganSaor , 02-Июл-08 00:56 
>
>Да, естественно.... Не забыть на Сервере nfsserver стартовать!!!
>
>/etc/exports
>=====================================================================
>/home 192.168.0.0/255.255.255.0(rw,no_root_squash,async,no_subtree_check)
>=====================================================================
>
>linux-Server :~ # /etc/init.d/nfsserver start

;) Давненько я от Gennadi постов и статей не видел;)))
Завтра попытаюсь осмыслить все изложенное, у меня в принципе все так и построено, я остановился на том, что надо что то делать было с локальными группами, и тут диллема. Если сервер отвалится, или придеться делать init 1 ?

PS: К сожалению только сейчас узнал что gennadi.dyn.ee --> http://gennadi.dyndns.org


"ldap + linux клиенты + системные группы"
Отправлено SarganSaor , 24-Июл-08 10:55 
Я правильно понимаю, чтобы станция воспринимала правильно системные группы из ldap, GID должен быть = GID на станциях?

т.е группа admin/109 в лдапе тоже должна быть с 109 GID ?