जवाबों:
विकल्प के find
साथ कमांड का उपयोग करें -user
। कुछ इस तरह:
find / -user john
अंततः उपयोगकर्ता "जॉन" के स्वामित्व वाली सभी फाइलों को चालू कर देगा।
यदि आप अपना स्वामित्व बदलना चाहते हैं (मैं find
यह सुनिश्चित करने के बिना निष्पादन को चलाऊंगा कि आपके पास वह सूची है जो आप चाहते हैं), तो कुछ इस तरह:
find / -user john -exec chown harry {} \;
करूंगा।
यह देर हो चुकी है, लेकिन आज मैं इस सवाल पर अड़ गया हूं क्योंकि मेरे rsync
पास --usermap
विकल्प नहीं है ।
My chown
(v। Chown (GNU coreutils) 8.13) एक अंतर्निहित पुनर्खरीद ( -R
) और एक --from
विकल्प प्रदान करता है ताकि आपकी (और मेरी) समस्या का भी उपयोग करके हल किया जा सके।
chown -R --from=john harry /
wwwrun (id:30)
और समूह www (id:8)
, www-data (id: 33)
दोनों के लिए डेबियन में । मैं फ़ाइलों का उपयोग करने के बाद की नकल की
rsync -az /path/to/files me@debian:/path/to/
मैंनें इस्तेमाल किया
chown -R --from=30 33 /path/to/files/
chown -R --from=:8 :33 /path/to/files/
लक्ष्य (डेबियन) मशीन पर।
नोट: rsync version 3.1.0 protocol version 31
उपर्युक्त उल्लेख किया गया है --usermap
तो अगर मुझे लगता है कि मैं स्रोत मशीन पर एक कमांड के साथ सभी तीन चरण कर सकता था:
rsync -az --usermap=30:33 --groupmap=8:33 /path/to/files root@debian:/path/to/
find -exec
मेरे लिए एक लाइनर बस मैन्युअल रूप से काम करने से पहले, एक अंतिम उपाय है। (इसके अलावा, मुझे लेखन से नफरत है {} \;
, लेकिन यह व्यक्तिगत है)
chown harry:harry
अगर मुझे यह सुनिश्चित करने की आवश्यकता है कि समूह सदस्यता सही है, तो भी चलाएं । लेकिन यह यहां के आवेदन पर बहुत अधिक निर्भर करता है।