Задачка такая, есть сетка гетерогенная, вин машины пока не будем трогать, будем трогать несколько 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? а если надо в сингле загрузиться? Мутить из полноценного компа бездисковую станцию не хочется.В общем вот такой трабл... что посоветуете с системными группами?
Варианты:
1. Сделать группу ldap_admins, на каждом компьютере добавить в /etc/sudoers
%ldap_admins ALL = какие-то команды
>Варианты:
>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?
>[оверквотинг удален]
>ivan:x:1000:
>vboxusers:x:121:ivan
>
>А теперь представьте что мне нужно создать ldap пользователя ivan и удалю
>его локально... он будет состоять в системных группах, а это необходимо,
>что бы просто звук поиметь, но ОДНОМ компьютере, там где он
>был до лдапа локальным. Соответсвенно Вася будет на другом, Петя на
>третьем, а чтобы они могли работать без проблем на каждом компе
>мне нужно будет ввести кажного пользователя в системную группу на КАЖДОМ
>компе, а если пользователей будет 200?1. Добиться того, чтобы у групп на всех машинах были одинаковые gid
Имеется в виду audio, plugdev и т.п.
2. Завести в LDAP группы с таким же названием и таким же gid как на локальных машинах.
3. LDAP пользователя завести в нужную LDAP группу.
>[оверквотинг удален]
>>третьем, а чтобы они могли работать без проблем на каждом компе
>>мне нужно будет ввести кажного пользователя в системную группу на КАЖДОМ
>>компе, а если пользователей будет 200?
>
>1. Добиться того, чтобы у групп на всех машинах были одинаковые gid
>
>Имеется в виду audio, plugdev и т.п.
>2. Завести в LDAP группы с таким же названием и таким же
>gid как на локальных машинах.
>3. LDAP пользователя завести в нужную LDAP группу.Ну я в принципе так себе и представлял... но это не айс.;(
>[оверквотинг удален]
>>
>>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,petyalinux-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 не пробовал. :-)))
Да, естественно.... Не забыть на Сервере 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
>
>Да, естественно.... Не забыть на Сервере 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, GID должен быть = GID на станциях?т.е группа admin/109 в лдапе тоже должна быть с 109 GID ?