Esettanulmány: Samba+LDAP+ddwrt
A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
a (Szerkesztő:Raddan lapot átneveztem Esettanulmány: Samba+LDAP+ddwrt névre: Miért is ne lehetne deszkriptív címe...) |
|||
(egy szerkesztő 24 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | Mottó : "Opening windows to a wider world" |
+ | Készítette: Radócz Dániel |
+ | Mottó : "Opening windows to a wider world" <p> |
||
+ | Az alábbi cikk a samba alapjait szeretné bemutatni, külön kiemelve az LDAP-al való együttműködést és a DD-WRT -vel való használatot. |
||
+ | |||
+ | == Áttekintés == |
||
+ | |||
+ | *SMB |
||
+ | **Server Message Block |
||
+ | **fájl és nyomtatómegosztásra szolgáló protokoll, eredetileg az IBM tervezte, később a Microsoft fejlesztette tovább több bővítést is hozzáadva (pl. eredetileg SMB csak NetBIOS felett működött, de később hozzáadták a 445-ös portot a direkt TCP feletti működésre) |
||
+ | *CIFS |
||
+ | **Common Internet File System |
||
+ | **az SMB kiegészítése, többek közt nagyobb fájlméreteket támogat, symlink/hardlink -ek vannak |
||
+ | *A kettőt gyakran szinonimaként használják, ami nem teljesen igaz, de nagyon közel jár hozzá - kevés olyan gép van, amelyiken az alap SMB meg van valósítva, a CIFS viszont nincs (ha van ilyen egyáltalán) |
||
+ | *a protokollnak rengeteg megvalósítása van : értelemszerűen a Windowsok Fájl- és nyomtatómegosztása, de van beépített CIFS-szerver pl. Open Solarisban, Novell NetWare-ben is |
||
== Mi is ez? == |
== Mi is ez? == |
||
*A SaMBa egy SMB/CIFS szolgáltatásokat megvalósitó kliens/szerver szoftver. |
*A SaMBa egy SMB/CIFS szolgáltatásokat megvalósitó kliens/szerver szoftver. |
||
− | *a Windowsos megosztásokkal ellentétben megbízhatóan működik |
+ | *alapvető célja egy olyan program fejlesztése, ami ingyenesen használható nem-windows rendszereken is |
− | *nem rendszerfüggő (szabványok alapján működik) |
+ | *open-source |
+ | *a Windows Fájl- és nyomtatómegosztással ellentétben megbízhatóan működik |
||
*könnyen integrálható meglévő tartományokba |
*könnyen integrálható meglévő tartományokba |
||
*konfigurációt az smb.conf fájl tárolja |
*konfigurációt az smb.conf fájl tárolja |
||
+ | *2 fő részből áll |
||
+ | **smbd : az SMB/CIFS szolgáltatásokat valósítja meg |
||
+ | **nmbd : a NetBIOS szolgáltatásokat kezeli |
||
== Jelszókezelés == |
== Jelszókezelés == |
||
42. sor: | 45. sor: | ||
== Hozzáférések kezelése == |
== Hozzáférések kezelése == |
||
− | *''hosts allow'' , ''hosts deny'' |
+ | *''hosts allow'' , ''hosts deny'' |
+ | ** IP-cím/maszk formátumban |
||
+ | ** ha a ''hosts allow'' opció átenged egy állomást, a ''hosts deny'' már nem tiltja le. Így ha pl. a ''hosts deny'' = 0.0.0.0/0 , akkor csak a ''hosts allow'' által megengedett állomások kapcsolódhatnak |
||
+ | |||
*'''Security level''' : a legalapvetőbb beállitás, megadja a megosztásokhoz való hozzáférés menetét. 2.2 óta 5-féle létezik : |
*'''Security level''' : a legalapvetőbb beállitás, megadja a megosztásokhoz való hozzáférés menetét. 2.2 óta 5-féle létezik : |
||
**'''Share-level''' |
**'''Share-level''' |
||
108. sor: | 111. sor: | ||
== Samba és LDAP == |
== Samba és LDAP == |
||
− | Ahogy már említve is volt, a hitelesítést LDAP szerver is végezheti |
+ | Ahogy már említve is volt, a hitelesítést LDAP szerver is végezheti. Nagyszámú felhasználó esetén már kénytelenek leszünk egy címtárba integrálni a samba-t, most ennek a lépéseit mutatnám be. |
+ | Több LDAP megvalósítás is létezik, a legelterjedtebb az OpenLDAP. Első lépésben ezt kell telepíteni (persze külön szerveren is lehet) |
||
+ | |||
+ | === Samba beállításai === |
||
− | *értelemszerűen SERVER/DOMAIN/ADS mód |
||
*password backend-nek ldapsam -ot kell beállítani |
*password backend-nek ldapsam -ot kell beállítani |
||
*meg kell adni az admin DN-t - az ő nevében történik a kapcsolatfelvétel az LDAP-szerverrel |
*meg kell adni az admin DN-t - az ő nevében történik a kapcsolatfelvétel az LDAP-szerverrel |
||
*lehetőség van SSL használatára (''ldap ssl'') |
*lehetőség van SSL használatára (''ldap ssl'') |
||
**start tls : az LDAPv3 Start_TLS műveletét használja |
**start tls : az LDAPv3 Start_TLS műveletét használja |
||
− | **on |
+ | **on : LDAPS használata |
**off |
**off |
||
*meg lehet adni utótagokat is, amiket a samba a hozzáadott tagok nevéhez fűz hozzá |
*meg lehet adni utótagokat is, amiket a samba a hozzáadott tagok nevéhez fűz hozzá |
||
123. sor: | 125. sor: | ||
**ldap suffix'' : ezt az utótagot még pluszban hozzáfűzi minden hozzáadott objektumhoz |
**ldap suffix'' : ezt az utótagot még pluszban hozzáfűzi minden hozzáadott objektumhoz |
||
*érdemes még ''timeout'' értéket is beállítani |
*érdemes még ''timeout'' értéket is beállítani |
||
+ | *FONTOS! A végén smbpasswd -w "adminjelszó" parancsot kell kiadni, különben a Samba nem fogja tudni milyen jelszóval forduljon a szerverhez |
||
Egy egyszerű LDAP-os konfiguráció : |
Egy egyszerű LDAP-os konfiguráció : |
||
140. sor: | 143. sor: | ||
− | == Nyomtatókezelés == |
+ | === OS beállításai === |
− | == Logolás == |
+ | *a samba-nak mindig szüksége van uid/gid -ra, ezért minden Windows felhasználóhoz egy UNIX-fiókot kellene mapolni (ahogy az fentebb is említve volt). Nagyszámú felhasználó esetén ez járhatatlan, ezért célszerű a a unix-fiókokat is ldap-ba integrálni. |
+ | *ehhez be kell állítani,hogy az autentikáció (PAM) és a névfeloldás (NSS) a címtárból történjen |
||
+ | *'''PAM''': pam_unix2 alapból támogatja LDAP címtár használatát, a szükséges paramétereket az ldap.conf fájl tartalmazza |
||
+ | <pre> |
||
+ | #ldap.conf példakonfiguráció |
||
+ | #ldap-szerver címe |
||
+ | host your.nds.server your2.nds.server |
||
+ | #az ág ahol a fiókok vannak |
||
+ | base dc=my,dc=base |
||
+ | #SSL használata a kapcsolathoz (no, on vagy start_tls) |
||
+ | ssl on |
||
− | == Felhasználhatóság == |
+ | #NSS password, shadow és group lekérdezések LDAP-linkjei |
+ | nss_base_shadow ou=user,dc=my,dc=base |
||
+ | nss_base_passwd ou=user,dc=my,dc=base |
||
+ | nss_base_group ou=groups,dc=my,dc=base |
||
+ | </pre> |
||
− | *két egyszerü példa |
+ | <pre> |
− | **router ddwrt-vel és külső vinyóval - ideális fájlszerver lehet egy kisvállalkozásnak |
+ | #pam_unix2.conf beállítása LDAP használatához |
− | **pár összefürtözött szervergép, LDAP hitelesités - akár több ezer felhasználót kiszolgálhat |
+ | auth: call_modules=ldap nullok |
+ | account: call_modules=ldap |
||
+ | </pre> |
||
+ | *'''NSS''': a konfigurációc állományában (nsswitch.conf) a shadow, passwd ésgroup lekérdezésekhez hozzá kell adni az ldap -ot: |
||
+ | <pre> |
||
+ | #nsswitch.conf példakonfiguráció |
||
+ | passwd: files ldap |
||
+ | group: files ldap |
||
+ | shadow: files ldap |
||
+ | hosts: files dns wins |
||
+ | networks: files |
||
+ | protocols: db files |
||
+ | services: db files |
||
+ | ethers: db files |
||
+ | rpc: db files |
||
+ | netgroup: nis |
||
+ | </pre> |
||
+ | |||
+ | === smbldap-tools === |
||
+ | |||
+ | *egy Perl-szkriptgyűjtemény, amivel LDAP-címtárakat lehet kezelni |
||
+ | *akkor lehet rá szükség, ha DC-t akarunk csinálni a samba-ból |
||
+ | *használat előtt konfigurálni kell: a ''configure.pl'' szkript bekéri a szükséges adatokat (amiket az smb.conf fájlban is meg kellett adni) és beállítja a konfigurációs fájljait (smbldap.conf és smbldap_bind.conf) |
||
+ | *ha bármilyen eltérés is van az smb.conf és az smbldap.conf fájlban lévő paraméterek között, a szkriptek nem hajtódnak végre |
||
+ | *az smb.conf-beállításai a szkriptek meghívásához: |
||
+ | <pre> |
||
+ | add user script = /usr/local/smbldap-useradd -m "%u" |
||
+ | rename user script = /usr/local/sbin/smbldap-usermod -N "%u" |
||
+ | delete user script = /usr/local/sbin/smbldap-userdel "%u" |
||
+ | add group script = /usr/local/sbin/smbldap-groupadd -p "%g" |
||
+ | delete group script = /usr/local/sbin/smbldap-groupdel "%g" |
||
+ | add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g" |
||
+ | delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g" |
||
+ | set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u" |
||
+ | add machine script = /usr/local/sbin/smbldap-useradd -w "%u" |
||
+ | </pre> |
||
+ | |||
+ | == Samba és DD-WRT == |
||
+ | A DD-WRT egy hálózati eszközökre tervezett linux disztribúció. Ha van egy USB porttal rendelkező router-ünk, lehetőség nyílik egy hozzácsatlakoztatott tárhelyet Samba-szerverrel kezelni |
||
+ | *Előnyei |
||
+ | **a felhasználókat közvetlen a router szolgálja ki |
||
+ | **nem kell külön smb-szerver |
||
+ | **gazdaságos |
||
+ | *Hátrányai |
||
+ | **viszonylag sok konfigurálás kell |
||
+ | **sok felhasználó esetén lassú |
||
+ | **címtár használata körülményes (persze ha már annyi felhasználónk van, ami indokolttá teszi a címtár használatát, nem érdemes ezt a megoldást választani, mert túlterheli a routert) |
||
+ | |||
+ | === Samba telepítése === |
||
+ | *az Optware egy eredetileg Unslung NSLU2 Linksys firmware-hez készített csomagkezelő rendszer, a továbbfejlesztett verziói más rendszereket is támogatnak (pl. a ddwrt firmware-el rendelkező routereket is) |
||
+ | *rengeteg feltelepíthető csomag áll rendelkezésre, köztük a samba is (3.0) (érdemes megnézni a listát [http://www.nslu2-linux.org/wiki/Optware/Packages?from=Unslung.Packages]) |
||
+ | *samba-szerverhez ddwrt alatt először ezt kell telepíteni |
||
+ | <pre> |
||
+ | #Optware telepítése |
||
+ | wget http://pastebin.ca/raw/876251 -O - | tr -d ‘\r’ > /tmp/optware-install.sh |
||
+ | sh /tmp/optware-install.sh |
||
+ | #majd ezután a samba telepítése |
||
+ | ipkg install samba |
||
+ | </pre> |
||
+ | |||
+ | === Startup-szkript === |
||
+ | *a router minden újraindításakor: |
||
+ | **be kell tölteni az usb-drivereket |
||
+ | **fel kell mountolni a külső vinyó partícióit |
||
+ | **létre kell hozni a samba-felhasználókhoz tartozó UNIX-fiókokat - erre azért van szükség mert a ddwrt minden újraindításakor törli az össze felhasználót a root-on kívül. Ezenkívül alapból az adduser parancsot sem ismeri, ezt az ''ipkg install adduser'' paranccsal tudjuk letölteni |
||
+ | *ezekre szkriptet kell írni amit majd a ddwrt kezelőfelületén startup-szkriptnek állítunk be |
||
+ | <pre> |
||
+ | #egy példa startup-szkript, csak elborzasztásra |
||
+ | #forrás : http://victorhurdugaci.com/install-ddwrt-on-asus-wl500g-premium/ |
||
+ | ( |
||
+ | unset LD_PRELOAD |
||
+ | export PATH=/bin:/usr/bin:/sbin:/usr/sbin |
||
+ | export LD_LIBRARY_PATH=/lib:/usr/lib |
||
+ | insmod /jffs/lib/modules/2.4.30/usbcore.o |
||
+ | insmod /jffs/lib/modules/2.4.30/ehci-hcd.o |
||
+ | insmod /jffs/lib/modules/2.4.30/scsi_mod.o |
||
+ | insmod /jffs/lib/modules/2.4.30/usb-storage.o |
||
+ | insmod /jffs/lib/modules/2.4.30/sd_mod.o |
||
+ | insmod /jffs/lib/modules/2.4.30/jbd.o |
||
+ | #Change the following line is using another filesystem or remove it if you don't have external drive |
||
+ | insmod /jffs/lib/modules/2.4.30/ext3.o |
||
+ | echo "Waiting for modules to initialize disk access..." |
||
+ | sleep 20 |
||
+ | export LD_LIBRARY_PATH=/jffs/lib:/jffs/usr/lib |
||
+ | export PATH=/jffs/bin:/jffs/sbin:/jffs/usr/sbin:/jffs/usr/bin:/bin:/sbin |
||
+ | echo "Mountint disk partitions..." |
||
+ | export LD_LIBRARY_PATH=/lib:/usr/lib |
||
+ | mount -t ext3 -o noatime /dev/discs/disc0/part1 /opt |
||
+ | mount -t ext3 -o noatime /dev/discs/disc0/part2 /mmc |
||
+ | # provide Optware search paths |
||
+ | unset LD_LIBRARY_PATH |
||
+ | export PATH=/opt/bin:/opt/sbin:/bin:/sbin:/usr/sbin:/usr/bin |
||
+ | echo "Starting Optware programs..." |
||
+ | if [ -d /opt/etc/init.d ]; then |
||
+ | for f in /opt/etc/init.d/S* ; do |
||
+ | [ -x $f ] && $f start |
||
+ | done |
||
+ | fi |
||
+ | #hozzá kell adni a felhasználókat is |
||
+ | adduser pelda1 |
||
+ | adduser pelda2 |
||
+ | ) > /tmp/optware.log 2>&1 |
||
+ | </pre> |
||
== Dokumentációk == |
== Dokumentációk == |
||
155. sor: | 258. sor: | ||
*Official Samba 3.2.x HOWTO [http://samba.org/samba/docs/man/Samba3-HOWTO/] |
*Official Samba 3.2.x HOWTO [http://samba.org/samba/docs/man/Samba3-HOWTO/] |
||
*SWAT beépitett leirásai is jól használhatóak konfigurálás közben |
*SWAT beépitett leirásai is jól használhatóak konfigurálás közben |
||
+ | *Samba wiki [http://wiki.samba.org] |
A lap jelenlegi, 2009. október 27., 22:30-kori változata
Készítette: Radócz Dániel
Mottó : "Opening windows to a wider world"Az alábbi cikk a samba alapjait szeretné bemutatni, külön kiemelve az LDAP-al való együttműködést és a DD-WRT -vel való használatot.
Tartalomjegyzék |
[szerkesztés] 1 Áttekintés
- SMB
- Server Message Block
- fájl és nyomtatómegosztásra szolgáló protokoll, eredetileg az IBM tervezte, később a Microsoft fejlesztette tovább több bővítést is hozzáadva (pl. eredetileg SMB csak NetBIOS felett működött, de később hozzáadták a 445-ös portot a direkt TCP feletti működésre)
- CIFS
- Common Internet File System
- az SMB kiegészítése, többek közt nagyobb fájlméreteket támogat, symlink/hardlink -ek vannak
- A kettőt gyakran szinonimaként használják, ami nem teljesen igaz, de nagyon közel jár hozzá - kevés olyan gép van, amelyiken az alap SMB meg van valósítva, a CIFS viszont nincs (ha van ilyen egyáltalán)
- a protokollnak rengeteg megvalósítása van : értelemszerűen a Windowsok Fájl- és nyomtatómegosztása, de van beépített CIFS-szerver pl. Open Solarisban, Novell NetWare-ben is
[szerkesztés] 2 Mi is ez?
- A SaMBa egy SMB/CIFS szolgáltatásokat megvalósitó kliens/szerver szoftver.
- alapvető célja egy olyan program fejlesztése, ami ingyenesen használható nem-windows rendszereken is
- open-source
- a Windows Fájl- és nyomtatómegosztással ellentétben megbízhatóan működik
- könnyen integrálható meglévő tartományokba
- konfigurációt az smb.conf fájl tárolja
- 2 fő részből áll
- smbd : az SMB/CIFS szolgáltatásokat valósítja meg
- nmbd : a NetBIOS szolgáltatásokat kezeli
[szerkesztés] 3 Jelszókezelés
- Háromféle backend-et ismer, ezeket a passdb backend opcióval adhatjuk meg
- smbpasswd
- a titkositott jelszavakat tárolja LANMan és NTLM formátumban
- tárolja még az UID-t, meg 4 féle flag-et:
- U : "sima" felhasználó
- D : disabled, nem jelentkezhet be
- N : no password
- W : workstation trust account, akkor lenne értelme,ha PDC-ként konfiguráljuk a Samba-t
- X : a jelszó soha nem jár le
- minden usert fel kell venni (vagy egy felvett userhez map-olni) akit a szerveren akarunk hitelesiteni
- ezenkivül minden ide felvett usernek a \etv\passwd-ben is léteznie kell
- van lehetőség a kettö szinkronizálására
unix password sync = yes
- tdbsam
- az smbpasswd továbbfejlesztése
- indexelést használ
- ldapsam
- LDAP alapú hitelesitéshez
- opcionálisan LDAP URL-t is megadhatunk a helyéhez (alapból : ldapsam : ldap:\\localhost):
passdb backend = ldapsam : ldap:\\ldap.ceg.hu
- a titkositott jelszavak fogadását ki is lehet kapcsolni, ekkor figyelmen kivül hagy minden jelszó-fájlt.
[global] encrypt passwords = no
[szerkesztés] 4 Hozzáférések kezelése
- hosts allow , hosts deny
- IP-cím/maszk formátumban
- ha a hosts allow opció átenged egy állomást, a hosts deny már nem tiltja le. Így ha pl. a hosts deny = 0.0.0.0/0 , akkor csak a hosts allow által megengedett állomások kapcsolódhatnak
- Security level : a legalapvetőbb beállitás, megadja a megosztásokhoz való hozzáférés menetét. 2.2 óta 5-féle létezik :
- Share-level
- nem használ user-neveket
- minden megosztásnak van egy jelszava ('null' is lehet), aminek ismeretében bárki hozzáférhet
- sőt,ha guest ok paraméter igaz, mindenki alapból megkapja a guest account-al definiált user jogait
- a jelszavakat a hozzájuk tartozó user-nevekkel adjuk meg, a példában rdan és bela felhasználók jelszavával lehet hozzáférni a megosztáshoz
- Share-level
[global] security = share [share1] username = rdan,bela
- ez a fajta megosztás semmiképp nem ajánlott, kivéve ha egyszerüen csak meg akarunk valamit osztani mindenféle szabályozás nélkül
- User-level
- a felhasználónak be kell jelentkeznie
- léteznie kell az smbpasswd fájlban
- vagy meg kell feleltetni egy ilyen user-nek (user mapping)
- ezeket a megfeleltetéseket külön fájlban kell tárolni, unix-user:nem unix-user formában
- User-level
[global] username map = /etc/samba/mappings
//a map-file tartalma root: administrator user1 : rdan
- valid users
- invalid users
- admin users
- write list
- read list
- map to guest : megadhatjuk, hogy bizonyos esetekben automatikusan guest account-hoz map-olja a felhasználót
- never
- bad username
- bad password
- bad uid
- 3.0 óta ez az alapbeállitás
- Server-level
- ugyanaz, mint az előző, csak itt másik SMB szerverre bizzuk a hitelesitést
- ezeket a password server opcióval lehet megadni (ez lehet NetBIOS-név vagy IP-cim is)
- Server-level
[global] security = server password server = 152.66.238.132 wiki
- a szerver nem hitelesiti magát - érzékeny a megszemélyesitésre.
- ha nem jár sikerrel akkor visszavált USER módba
- Domain-level
- a szerver NT-tartománytagként viselkedik, és a hitelesitést a PDC (vagy a BDC) végzi.
- csak NT domain-ekhez való, AD-hez ott az ADS mód (lejjebb) - ergo ma már nem sok értelme van
- Domain-level
- ADS-level
- Active Directory tagként müködik
- a szerveren konfigurálni kell a Kerberost, és be kell léptetni a tartományba
- viszont ettől még továbbra sem ő a DC
- allow trusted domains : elfogad-e más tartományból érkező kéréseket is (alapból igen)
- ADS-level
[szerkesztés] 5 Samba és LDAP
Ahogy már említve is volt, a hitelesítést LDAP szerver is végezheti. Nagyszámú felhasználó esetén már kénytelenek leszünk egy címtárba integrálni a samba-t, most ennek a lépéseit mutatnám be. Több LDAP megvalósítás is létezik, a legelterjedtebb az OpenLDAP. Első lépésben ezt kell telepíteni (persze külön szerveren is lehet)
[szerkesztés] 5.1 Samba beállításai
- password backend-nek ldapsam -ot kell beállítani
- meg kell adni az admin DN-t - az ő nevében történik a kapcsolatfelvétel az LDAP-szerverrel
- lehetőség van SSL használatára (ldap ssl)
- start tls : az LDAPv3 Start_TLS műveletét használja
- on : LDAPS használata
- off
- meg lehet adni utótagokat is, amiket a samba a hozzáadott tagok nevéhez fűz hozzá
- ldap user suffix
- ldap group suffix
- ldap machine suffix
- ldap suffix : ezt az utótagot még pluszban hozzáfűzi minden hozzáadott objektumhoz
- érdemes még timeout értéket is beállítani
- FONTOS! A végén smbpasswd -w "adminjelszó" parancsot kell kiadni, különben a Samba nem fogja tudni milyen jelszóval forduljon a szerverhez
Egy egyszerű LDAP-os konfiguráció :
[global] security = server password server = 152.66.238.132 passdb backend = ldapsam ldap ssl = start tls ldap timeout = 15 ldap admin dn = cn=admin,dc=ceg,dc=hu ldap machine suffix = ou=Computers ldap user suffix = ou=People ldap group suffix = ou=Groups ldap suffix = ou=ceg, ou=hu
[szerkesztés] 5.2 OS beállításai
- a samba-nak mindig szüksége van uid/gid -ra, ezért minden Windows felhasználóhoz egy UNIX-fiókot kellene mapolni (ahogy az fentebb is említve volt). Nagyszámú felhasználó esetén ez járhatatlan, ezért célszerű a a unix-fiókokat is ldap-ba integrálni.
- ehhez be kell állítani,hogy az autentikáció (PAM) és a névfeloldás (NSS) a címtárból történjen
- PAM: pam_unix2 alapból támogatja LDAP címtár használatát, a szükséges paramétereket az ldap.conf fájl tartalmazza
#ldap.conf példakonfiguráció #ldap-szerver címe host your.nds.server your2.nds.server #az ág ahol a fiókok vannak base dc=my,dc=base #SSL használata a kapcsolathoz (no, on vagy start_tls) ssl on #NSS password, shadow és group lekérdezések LDAP-linkjei nss_base_shadow ou=user,dc=my,dc=base nss_base_passwd ou=user,dc=my,dc=base nss_base_group ou=groups,dc=my,dc=base
#pam_unix2.conf beállítása LDAP használatához auth: call_modules=ldap nullok account: call_modules=ldap
- NSS: a konfigurációc állományában (nsswitch.conf) a shadow, passwd ésgroup lekérdezésekhez hozzá kell adni az ldap -ot:
#nsswitch.conf példakonfiguráció passwd: files ldap group: files ldap shadow: files ldap hosts: files dns wins networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
[szerkesztés] 5.3 smbldap-tools
- egy Perl-szkriptgyűjtemény, amivel LDAP-címtárakat lehet kezelni
- akkor lehet rá szükség, ha DC-t akarunk csinálni a samba-ból
- használat előtt konfigurálni kell: a configure.pl szkript bekéri a szükséges adatokat (amiket az smb.conf fájlban is meg kellett adni) és beállítja a konfigurációs fájljait (smbldap.conf és smbldap_bind.conf)
- ha bármilyen eltérés is van az smb.conf és az smbldap.conf fájlban lévő paraméterek között, a szkriptek nem hajtódnak végre
- az smb.conf-beállításai a szkriptek meghívásához:
add user script = /usr/local/smbldap-useradd -m "%u" rename user script = /usr/local/sbin/smbldap-usermod -N "%u" delete user script = /usr/local/sbin/smbldap-userdel "%u" add group script = /usr/local/sbin/smbldap-groupadd -p "%g" delete group script = /usr/local/sbin/smbldap-groupdel "%g" add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u" add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
[szerkesztés] 6 Samba és DD-WRT
A DD-WRT egy hálózati eszközökre tervezett linux disztribúció. Ha van egy USB porttal rendelkező router-ünk, lehetőség nyílik egy hozzácsatlakoztatott tárhelyet Samba-szerverrel kezelni
- Előnyei
- a felhasználókat közvetlen a router szolgálja ki
- nem kell külön smb-szerver
- gazdaságos
- Hátrányai
- viszonylag sok konfigurálás kell
- sok felhasználó esetén lassú
- címtár használata körülményes (persze ha már annyi felhasználónk van, ami indokolttá teszi a címtár használatát, nem érdemes ezt a megoldást választani, mert túlterheli a routert)
[szerkesztés] 6.1 Samba telepítése
- az Optware egy eredetileg Unslung NSLU2 Linksys firmware-hez készített csomagkezelő rendszer, a továbbfejlesztett verziói más rendszereket is támogatnak (pl. a ddwrt firmware-el rendelkező routereket is)
- rengeteg feltelepíthető csomag áll rendelkezésre, köztük a samba is (3.0) (érdemes megnézni a listát [1])
- samba-szerverhez ddwrt alatt először ezt kell telepíteni
#Optware telepítése wget http://pastebin.ca/raw/876251 -O - | tr -d ‘\r’ > /tmp/optware-install.sh sh /tmp/optware-install.sh #majd ezután a samba telepítése ipkg install samba
[szerkesztés] 6.2 Startup-szkript
- a router minden újraindításakor:
- be kell tölteni az usb-drivereket
- fel kell mountolni a külső vinyó partícióit
- létre kell hozni a samba-felhasználókhoz tartozó UNIX-fiókokat - erre azért van szükség mert a ddwrt minden újraindításakor törli az össze felhasználót a root-on kívül. Ezenkívül alapból az adduser parancsot sem ismeri, ezt az ipkg install adduser paranccsal tudjuk letölteni
- ezekre szkriptet kell írni amit majd a ddwrt kezelőfelületén startup-szkriptnek állítunk be
#egy példa startup-szkript, csak elborzasztásra #forrás : http://victorhurdugaci.com/install-ddwrt-on-asus-wl500g-premium/ ( unset LD_PRELOAD export PATH=/bin:/usr/bin:/sbin:/usr/sbin export LD_LIBRARY_PATH=/lib:/usr/lib insmod /jffs/lib/modules/2.4.30/usbcore.o insmod /jffs/lib/modules/2.4.30/ehci-hcd.o insmod /jffs/lib/modules/2.4.30/scsi_mod.o insmod /jffs/lib/modules/2.4.30/usb-storage.o insmod /jffs/lib/modules/2.4.30/sd_mod.o insmod /jffs/lib/modules/2.4.30/jbd.o #Change the following line is using another filesystem or remove it if you don't have external drive insmod /jffs/lib/modules/2.4.30/ext3.o echo "Waiting for modules to initialize disk access..." sleep 20 export LD_LIBRARY_PATH=/jffs/lib:/jffs/usr/lib export PATH=/jffs/bin:/jffs/sbin:/jffs/usr/sbin:/jffs/usr/bin:/bin:/sbin echo "Mountint disk partitions..." export LD_LIBRARY_PATH=/lib:/usr/lib mount -t ext3 -o noatime /dev/discs/disc0/part1 /opt mount -t ext3 -o noatime /dev/discs/disc0/part2 /mmc # provide Optware search paths unset LD_LIBRARY_PATH export PATH=/opt/bin:/opt/sbin:/bin:/sbin:/usr/sbin:/usr/bin echo "Starting Optware programs..." if [ -d /opt/etc/init.d ]; then for f in /opt/etc/init.d/S* ; do [ -x $f ] && $f start done fi #hozzá kell adni a felhasználókat is adduser pelda1 adduser pelda2 ) > /tmp/optware.log 2>&1