ฉันจะเปลี่ยนไฟล์ทั้งหมดที่เป็นของผู้ใช้รายหนึ่งเป็นผู้ใช้รายอื่นได้อย่างไร
ฉันกำลังมองหาคำสั่ง Linux ที่สามารถเปลี่ยนความเป็นเจ้าของไฟล์ทั้งหมดที่เป็นของผู้ใช้ที่กำหนดโดยเฉพาะอย่างยิ่งในไดเรกทอรีเป้าหมายเพื่อผู้ใช้ที่ระบุอื่น คำสั่งในฝันของฉันจะมีลักษณะเช่นนี้ ... chuser -R --olduser tom --newuser jerry หรือ chuser -R --olduser 1066 --newuser 1492 นี่คือสถานการณ์ของฉัน ... ฉันมีไฟล์สำรอง (.tgz) ที่เก็บข้อมูลผู้ใช้และกลุ่มไว้ มันถูกนำมาจากเว็บเซิร์ฟเวอร์ที่ใช้ Apache และ MySQL ไฟล์ในการสำรองข้อมูลมาจากทั่วทั้งระบบและมีไฟล์จากผู้ใช้หลายรายและบัญชีประเภทระบบหลายระบบและเป็นกุญแจสำคัญที่เมื่อทำการกู้คืนบนเซิร์ฟเวอร์ใหม่การตั้งค่าจะไม่สูญหาย ปัญหาคือผู้ใช้ในเครื่องไฟล์ที่ถูกกู้คืนไม่ตรงกับไฟล์ในไฟล์สำรอง เช่นเครื่องทั้งสองมีผู้ใช้ MySQL แต่มีรหัสผู้ใช้ที่แตกต่างกันและมีรหัสผู้ใช้หลายตัวที่มีอยู่ในเครื่องทั้งสองที่เป็นของผู้ใช้ที่แตกต่างกัน ซึ่งหมายความว่าไม่มีวิธีการซิงค์ผู้ใช้บนเครื่องใหม่กับผู้ใช้บนเครื่องเก่า ฉันสามารถค้นหาไฟล์ผู้ใช้ทั้งหมดด้วยคำสั่ง find เช่นนี้ ... find /decompressed-backup-dir -uid 1050 หรือ find /decompressed-backup-dir -user tom ถ้าอย่างที่ฉันสงสัยไม่มีวิธีที่จะทำสิ่งที่ฉันต้องการด้วยคำสั่งเดียวแล้วบางทีอาจมีวิธีที่จะไพเราะผลลัพธ์ของคำสั่ง find ไปยังคำสั่งอื่นเพื่อจัดการกับการเปลี่ยนแปลงความเป็นเจ้าของ? ฉันสามารถทำได้ด้วยสคริปต์ …