Cách đặt quyền truy cập tệp / thư mục bằng cách sử dụng Rsync từ Windows sang Linux


11

Tôi muốn chuyển nhiều tệp / thư mục từ Windows sang Linux bằng cách sử dụng Rsync. Trên máy chủ linux (đích), tôi muốn quyền tập tin được đặt thành 644 và quyền thư mục được đặt thành 755. Nếu có thể, tôi muốn quyền sở hữu được đặt thành root.root cho tất cả các tệp / thư mục. Tôi đã thử tùy chọn -p, nhưng nó không hoạt động. Cảm ơn bạn đã giúp đỡ.


Hãy thử umask 022trước bản sao của bạn.
BillThor

Câu trả lời:


23

Bạn có thể đặt perms bằng --chmodtham số, vd

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

sẽ buộc các quyền được đặt thành 755 cho Directories và 644 cho Files.


Cảm ơn. Thư mục dường như thay đổi thành 744 (drwxr - r--). Dù sao, tôi quyết định thay đổi sự cho phép sau khi chuyển.
garconcn

7
Việc này --chmodcũng chấp nhận các số chế độ bát phân, theo ý kiến ​​của tôi thì dễ hình dung hơn về sự cho phép:--chmod=D2775,F664
Fred Wuerges

Bạn cũng có thể sử dụng --chmod o=rXđể tự động cung cấp cho các thư mục xcờ, nhưng bỏ qua nó khỏi các tệp.
hachre

Bạn có cần phải xác định --permslà tốt?
OrangeDog

9

Cú pháp đối số --chmod được đề cập ở trên không hoàn toàn chính xác. Khi bạn chỉ định chủ sở hữu, nhóm hoặc người khác và không đặt trước "D" hoặc "F", nó sẽ áp dụng điều đó cho tất cả các loại tệp và nó sẽ áp dụng tham số cuối cùng mà nó tìm thấy làm mặc định. Điều này sẽ giải thích lý do tại sao các thư mục của bạn xuất hiện là 744, vì tham số cuối cùng trong đối số là og = r.

Hãy thử điều này thay thế:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.