วิธีตั้งค่าการอนุญาตของไฟล์ / โฟลเดอร์โดยใช้ Rsync จาก Windows เป็น Linux


11

ฉันต้องการถ่ายโอนไฟล์ / โฟลเดอร์จำนวนมากจาก Windows ไปยัง Linux โดยใช้ Rsync บนเซิร์ฟเวอร์ linux (ปลายทาง) ฉันต้องการตั้งค่าการอนุญาตของไฟล์เป็น 644 และตั้งค่าการอนุญาตของโฟลเดอร์เป็น 755 หากเป็นไปได้ฉันต้องการให้ความเป็นเจ้าของถูกตั้งค่าเป็น root.root สำหรับไฟล์ / โฟลเดอร์ทั้งหมด ฉันลองตัวเลือก -p แล้ว แต่มันไม่ทำงาน ขอบคุณสำหรับความช่วยเหลือ


ลองumask 022ก่อนที่จะคัดลอกของคุณ
BillThor

คำตอบ:


23

คุณสามารถตั้งค่า perms โดยใช้--chmodพารามิเตอร์เช่น

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r 

จะบังคับให้สิทธิ์ถูกตั้งค่าเป็น 755 สำหรับDไดเรกทอรีและ 644 สำหรับFiles


ขอบคุณ ดูเหมือนว่าโฟลเดอร์จะเปลี่ยนเป็น 744 (drwxr - r--) อย่างไรก็ตามฉันตัดสินใจเปลี่ยนการอนุญาตหลังจากโอน
garconcn

7
--chmodยังยอมรับตัวเลขโหมดฐานแปดซึ่งในความเห็นของผมเป็นเรื่องง่ายที่จะเห็นภาพได้รับอนุญาตที่ได้รับ:--chmod=D2775,F664
เฟร็ด Wuerges

คุณยังสามารถใช้--chmod o=rXเพื่อกำหนดxแฟล็กให้กับโฟลเดอร์โดยอัตโนมัติแต่จะไม่ใช้แฟล็กจากไฟล์
24415 hachre

คุณต้องระบุ--permsด้วยหรือไม่
OrangeDog

9

ไวยากรณ์อาร์กิวเมนต์ --chmod ที่กล่าวถึงข้างต้นไม่ถูกต้องนัก เมื่อคุณระบุเจ้าของกลุ่มหรืออื่น ๆ และไม่นำหน้าด้วย "D" หรือ "F" มันจะนำไปใช้กับไฟล์ทุกประเภทและจะใช้พารามิเตอร์สุดท้ายที่พบเป็นค่าเริ่มต้น สิ่งนี้จะอธิบายว่าเหตุใดไดเรกทอรีของคุณจึงออกมาเป็น 744 เนื่องจากพารามิเตอร์สุดท้ายในอาร์กิวเมนต์คือ og = r

ลองใช้สิ่งนี้แทน:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.