Sziasztok.
Egy olyan Scriptet szeretnék írni amivel megkeresek egy adott könyvtárban minden almappát aminek "XY" a neve ezt mondjuk beíratom egy File-ba. Következő lépésként pedig valahogy kiolvastatom a file tartalmát, soronként beillesztem mondjuk egy ls -l parancs után és ezt is szűrőm Attribútumom szerint. Ha ez a 2 rész megvolt minden olyan könyvtár aminek az Attribútuma 744 azt módosítanám 777-ra.
Ebből a részből ezt szépen megcsináltam.
"#!/bin/sh
logfolder=/root/tools/logfolder/
find /"KERESÉS_HELYE"/ | grep "XY-ra Szűrés" >> $logfolder/newfolder.txt"
Viszont itt elakadtam.
cat -al próbálkoztam de nem biztos, hogy nekem ez kellene...
Valaki rá tudna vezetni a megoldásra?
Köszönöm előre is...
- 2939 megtekintés
Hozzászólások
Pontosabban nem tudnád leírni, hogy mi a feladat?
Pl. milyen attribútum az, amit keresel?
Ha nem szükséges mást közbeiktatni, akkor felesleges az átirányítás, lásd -exec kapcsoló!
Ha csak könyvtárakat keresel, -type d, ha a jogok alapján akarsz szűrni, akkor talán -perm kell neki.
- A hozzászóláshoz be kell jelentkezni
Leírom a pontos dolgot...
A /var/mail könyvtárban minden "ügyfél" postafiókjának "New" könyvtárait szeretném módosítani a 755 attribútumomról 777-re, mivel a maildrop nem hajlandó az új leveleket betenni a helyére amíg nem 777.
A konkrét lényeg tehát egy Script ami megkeresi a New könyvtárakat és minden 755 attribútum átírja 777-re.
(A miérteket is leírom szívesen ha érdekel)
- A hozzászóláshoz be kell jelentkezni
Előre szólok, amire készülsz, az hülyeség! Nem tudom, mi az a maildrop, de ha csak 0777-es jogok mellett tud e-mailt kézbesíteni, akkor ott valami nagyon el van kefélve. Szóval igen, esetleg írd le, hogy pontosan miről van szó, hátha valaki tud segíteni!
Szóval amit keresel, az kb. ez:
find /var/mail -type d -perm 0755 -exec chmod 0777 {} \;
A {} helyére behelyettesítődik az épp megtalált név, a -exec lezárásaként pedig kötelező a \; (vigyázz, hogy a \-t ne nyelje le semmi! Ha simán parancssorba írod, akkor nem lesz vele gond)
- A hozzászóláshoz be kell jelentkezni
Lényegében az a gond hogy át kell migrálni egy régi levelező rendszerből újra egy komplett mail rendszert.
A 2 szerver között sok különbség van, pl. a régi Exim / Courier az új pedig Postfix / Courier.
Régen Ldap-ban lehetett megváltoztatni minden adatot, viszont most ISPConfig lesz.
A régi rendszerben minden levél chown mailnull:mail -ra volt belőve itt viszont vmail:vmail minden és hiába állítottam át mindent, a meglévő leveleket szépen le lehet tölteni (imap) és levelet is lehet küldeni, de ha érkezik egy új levél a valamiért nem tárolódik el.
Ha erre tudsz valamit szívesen veszem de ez a script megoldja majd a problémát.
Update: Müxik a Script és nagyon szuper...
- A hozzászóláshoz be kell jelentkezni
Ez nem "megoldja", csak elfedi a problémát.
És ha nem volt mentésed azokról a könyvtárakról, akkor most sikeresen tönkretettél egy rendszert. Mert azt még csak-csak meg lehet csinálni, hogy amin most 0777 jogosultság van, azt visszarakd 0755-re(??? nekem már ez sem tetszik igazán), de honnan fogod tudni, hogy nem volt-e közte olyan, ami eredetileg és okkal volt 0777-re állítva?
Gondolj bele: ettől kezdve bárki, bármit beleszemetelhet mások postájába, kiolvashatja stb.
http://www.howtoforge.com/forums/showthread.php?t=58806
Felszínesen átfutva a google találatokat, ez esetleg segíthet?
- A hozzászóláshoz be kell jelentkezni
még csak tesztelem... a régi rendszer levelei még a helyükön vannak.
Az új rendszert még csak tesztelem és nem tettem át ide a leveleket.
- A hozzászóláshoz be kell jelentkezni
Akkor ezt felejtsd el!
Ha valóban jogosultsági probléma, akkor legvégső esetben a maildrop-ot futtató usernek adj jogot, de csak neki, ne az egész világnak!
De inkább körül kellene nézni doksiban, neten, mert ha nem valami bugba futottál, akkor kell, hogy legyen normális megoldás is rá.
- A hozzászóláshoz be kell jelentkezni
Szinte biztos vagyok, hogy Bug-ba futottam, mert ha ISPConfig-ba minden szépen be van állítva és a /var/mail/"DOMAIN"/"pl.:info"/ könyvtárakat szépen mailnull:mail -ra állítja a rendszer alapból akkor kérdem én miért csak a Courier-maildrop nem müxik jól [csak vmail:vmail (5000:5000) el akkar dolgozni]... Szinte biztos vagyok a "bug" -ba de ha valaki látott már ilyet akkor érdekel a megoldás :)
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy ezeket nem ismerem, arra meg lusta vagyok, hogy doksit kezdjek bogarászni.
http://www.courier-mta.org/maildrop.html - erről van szó?
Úgy látom, setuidos és rootként települ. Ha nálad is ez a helyzet, akkor vagy a konfig fájlban van valami elkefélve vagy selinux/apparmor/stb. pofázik a működésébe, de ennek kiderítését meghagyom a hozzáértőknek.
Ilyet max. úgy vállalnék el, ha itt lenne az orrom előtt.
- A hozzászóláshoz be kell jelentkezni
igen :)
De nem is szeretnélek ilyennel fárasztani! ha találsz valamit amit én nem (pedig 3-4 napja keresek rá más megoldást a Script helyett) azt megköszönöm... de eddig is nagyon sokat segítettél...
- A hozzászóláshoz be kell jelentkezni
Milyen rendszer van alatta?
SELinux és társai? Van? Ha igen, be van kapcsolva?
(selinux esetén getenforce parancs, a többit nem ismerem egyáltalán - illetve ubuntu alapon van az apparmor, annak meg valami aa_status parancsa van, ha igaz)
- A hozzászóláshoz be kell jelentkezni
Debian 6
De ezt részleteznéd amit az előbb írtál mert lehet még kezdő vagyok de nekem részben kusza... :)
Nincs SELinux.
- A hozzászóláshoz be kell jelentkezni
Ha debian6 és ismeretlen amit írtam, akkor ne foglalkozz vele! ;)
SELinux és apparmor biztonsági eszközök, amivel még a root nevében futó processzek jogait is tudod korlátozni. Ha SELinuxod van, akkor a getenforce paranccsal tudod lekérdezni az állapotát: be van-e kapcsolva, ha igen, csak logolja az illetéktelen hozzáféréseket vagy meg is akadályozza?
Ugyanez a helyzet az apparmorral, csak az Ubuntun divat, meg talán SuSE Linuxon. És ott talán az aa_status mondja meg, hogy be van-e kapcsolva.
A "társai" meg arra vonatkozott, hogy van még pár hasonló eszköz, de azokról még annyit sem tudok, mint ezekről.
Egyébként javasolnám, hogy a /var/log alatt keresgélj a hozzáférési problémák miatt, valamelyik logban előfordulhat, hogy találsz valamit ami segít.
- A hozzászóláshoz be kell jelentkezni
Oksa, köszönöm szépen :)
- A hozzászóláshoz be kell jelentkezni
Lenne még 1 kérdésem... find paranccsal tudok arra is szűrni, hogy ne azt mondja meg hogy mi az attribútum hanem hogy ki a jogosult user pl. vmail. (uid=5000).
Update: tárgytalan... -user "név" :)
- A hozzászóláshoz be kell jelentkezni
Szűrni igen:
-user, -group, -uid, -gid kapcsolók.
upd: te voltál gyorsabb. :)
- A hozzászóláshoz be kell jelentkezni
Amit linkeltél az sajna nem jó.
Azt kellene megcsinálnom, hogy ne vmail legyen a levelek kezelője.
Mert a régi rendszert mailnull:mail -ra volt állítva.
Ha viszont a meglévő könyvtárakat és leveleket vmail-ra állítom akkor minden benne tárolt levél "módosítva" lesz és újra fogja tölteni azoknak akik imap-osak de le is töltik a levelek. (Egyszer már belefutottam egy hasonló story-ba ahol 8 Gigányi levelet az egyik ügyfél újra megkapott)
6: chown -R vmail:vmail /home/vmail
- A hozzászóláshoz be kell jelentkezni
A /etc/password, illetve a /etc/group fájlban vedd fel a mailnull usert és a mail csoportot a vmail-nek megfelelő UID-del, illetve GID-del. Ha újraindítod a megfelelő service-okat, mennie kell.
- A hozzászóláshoz be kell jelentkezni
Már próbáltam, de az előző rendszerben nem a mailnull és a mail volt a lényeges hanem a uid 26 (mailnull) és a gid 6 (mail) és ha ezeket a vmail helyére teszem tehát 5000:5000 -re akkor úgy érzékeli mintha nem lenne levél a postafiókba se az új se a régi leveleket nem látja... :S
- A hozzászóláshoz be kell jelentkezni
És ha a vmail-t teszed 26:6-ra?
- A hozzászóláshoz be kell jelentkezni
Akkor viszont a maildrop szórakozik, hogy neki az 5000:5000 kell... :(
- A hozzászóláshoz be kell jelentkezni
Írd át a postfix master.cf-jében a maildrop -d 5000-t (ha jól emlékszem, ott van, pár éve már dovecot/lda-t használok), hogy ne az kelljen neki!
- A hozzászóláshoz be kell jelentkezni
Csak a find-hoz: nem kell még egy -name New
, hogy csak a New nevű könyvtárakat keresse?
- A hozzászóláshoz be kell jelentkezni
dede... köszi... :)
- A hozzászóláshoz be kell jelentkezni
De, az kimaradt. Bocs. :)
(viszont így no para a visszaállítás :) )
- A hozzászóláshoz be kell jelentkezni
Nagyon szépen köszönöm a segítséget... a probléma megoldva :)
Még 1x Köszi!
- A hozzászóláshoz be kell jelentkezni