Hogyan lehet másolni ACL engedélyeit amikor adatmozgatáshoz a szerverek - rendszer

Szükség volt átmásolni fájlokat egy hálózati golyó Linux egy másik szerveren. Mindkét szerver tartalmazza az AD tartomány. Úgy tűnik, egy egyszerű feladat, de hogy egy példányt. hozzáférési jogokat meg kell őrizni, mert a két autó egy és ugyanazon a területen. De nem volt olyan könnyű.

Számomra nagy meglepetés volt, hogy egyszerűen másolás windows gép engedélyek nem tárolja. Mindkét szerver volt a fájlrendszer támogatja ACL. Beállítva, akkor a jobb oldali lehetne. Ez mindazokat a funkciókat volt, de a hozzáférési jogok megmaradnak. Megjegyzem, hogy a szerver azonnal, ahonnan az információ volt felvenni a QNAP, másolt CentOS 7.

A második szakaszban egy kísérlet volt, hogy felmászik a vevőt közvetlenül a szerver segítségével a CIFS-fájlrendszer labdát. De ugyanakkor ACL engedélyek nem másolt is. Elkezdtem keres információt ebben a témában az interneten, és megállapította, hogy valóban, a CIFS ACL jogosultságokat nem kerülnek át. Vannak bizonyos eszközök ellenőrzésére és hozzá jogok: getcifsacl és setcifsacl. Kézzel szedett ezt nem akarják.

Hogyan lehet másolni ACL engedélyeit amikor adatmozgatáshoz a szerverek - rendszer

Határozottan elgondolkozott, hogyan kell. Nem volt ideje foglalkozni részletesen, szükséges volt, hogy gyorsan jön valami. Talán hibáztam valahol, vagy nézte figyelmesen, és ez a folyamat még mindig gyorsan elvégezhető. Örülnék, hogy tanácsot ebben a témában. Korábban még nem volt foglalkozni mozog a labda egy samba hozzáférés megőrzése. És az adatokat a Windows részvények átkerülnek gond nélkül megőrzésével hozzáférési jogokat. Azt sem tudjuk, hogy az ilyen problémák merülhetnek fel, ha át adatokat a labdát a samba.

Ennek eredményeként adatátviteli miközben ACL engedélyeit mentem a következő. Az első szerver, ahol az adatok végeztünk parancsot:

A csapat gyűlt engedélyeket rekurzívan minden könyvtárak és fájlok és rögzített egy szöveges fájlt. Ha a labda nagyon nagy, a fájl lenyűgöző méretű. Én vagyok a labdát 80.000 mappák és fájlok 500.000, a fájl tartott 240MB. Akkor jó lenne tenni a szerver vevő parancsot:

És, hogy befejezze ezt. De a dolgok nem ilyen egyszerű. Először is, ahogy ebben a formátumban lett megadva a kapott fájlt:

Ezzel a paranccsal I helyett share / MD1_DATA jég / részvény, és most kapta meg a helyes utat / részvény / lágy / Player.

De ez még nem minden. További domain felhasználók találkoztak a jogosultságokat és a helyi, hogy a szerver a mozgáshoz. Erre azért volt szükség, hogy távolítsa el az összes őket is, különben a parancs nem kerül végrehajtásra, repültek a hiba. Az én esetemben ez volt a felhasználók: admin, vendég, mindenki. Azt újra sed csak törölni az összes vonal, ahol találkoztak ezeket a kifejezéseket. Megcsináltam csak abban az esetben lépésről lépésre ellenőrzés minden egyes szakaszában. Kiderült, mint ez:

Lehet mind ugyanabban a csapatban, hogy nem, de nem vagyok túl jó építéseire reguláris kifejezések, már nem volt ideje, hogy megértsük, nem így. A segédprogram meglepően gyors. Csak 2-3 másodpercig, és a vonalak már eltávolították a fájlt.

Ezt követően, a szerver vevő végre ezt a parancsot:

És az egész tartomány hozzáférési jogok hoztak létre sikeresen. A segédprogram dolgozott elég hosszú, 15 perc.

Remélem én tapasztalatom is úgy tűnik, hogy valaki hasznos. Még jobb, ha volt valaki mondani, hogy ugyanazt a műveletet, hogy könnyebb és gyorsabb. Valamilyen oknál fogva meggyőződésem, hogy van egy könnyebb út. Lehet, hogy a problémák voltak annak a ténynek köszönhető, hogy az egyik szerver volt QNAP. Az elképzelés az, Linux, van ssh hozzáférést, a samba. De minden nem kifejezetten rendezett tudom, talán valami változni fog.

Üdvözlet!
Az utóbbi időben volt egy feladat, hogy vándorolnak adatokat az egyik szerverről a másikra, miközben a jogok, kedvellek felkavarta szkriptek getfacl és setfacl. És ahogy tudta, ott kellett lennie egy jobb út.
Ma eszembe jutott az rsync. Azt jön létre a hozzáférési kulcs szerver és a könyvtárba bemásolja a régi kiszolgálóról az új, mint ez:
# / Usr / bin / rsync -e 'ssh -l root -i /root/.ssh/id_rsa' -progress -lzuogthvrpA -compress-level = 9 -delete utáni root @ oldserver: /share/Profiles/user.V2 / share / Profiles /

Valójában a jogosultságok fenntartása, a kulcs ACL -A

De a különböző szervereken helyi uid más lesz az azonos tartomány felhasználói, ha winbind beállítások eltérnek. Ebben az esetben ez a lehetőség nem egy kört.

Kapcsolódó cikkek