Làm thế nào để tập tin đệ quy đúng cách (bao gồm cả các thư mục ẩn)


8

Câu hỏi hóc búa này là do chạy git pulltừ root.

Có nhiều lý do để tôi làm như vậy ... Tôi muốn thiết bị của mình cập nhật mã khi khởi động và rc.localđược chạy bằng root.

Tất cả đều hoạt động tốt ( npm installcó xu hướng thất bại khi chạy bằng root, nhưng đó là một chủ đề hoàn toàn mới), vấn đề phát sinh khi tôi cố gắng sử dụng kho git với người dùng không root sau đó ... một số tệp git có được viết bởi root, vì vậy bây giờ tôi không thể sử dụng nó nữa (quyền bị từ chối).

Vì vậy, tôi muốn đệ quy chownnó trở lại nhưng dường như không có bất cứ thứ gì thực sự hoạt động trên tất cả các tệp git nhỏ. Tôi đã thử -Rcờ và ./**/*đường dẫn.

Tôi đoán là không có kỹ thuật nào trong số đó xuất hiện trong các thư mục dot.


1
Bạn đang sử dụng vỏ gì? Trong bashbạn cần phải thiết lập shopt -s dotglobđể khớp với các tập tin ẩn bằng *hoặc **.
jimmij

1
@jimmij thật tốt khi biết, cảm ơn (có lẽ bạn có thể đặt câu hỏi đó làm câu trả lời)
Steven Lu

Có phải bạn chown -R *, thay vì chown -R .?
Peter Cordes

Câu trả lời:


16

Lệnh sau hoạt động với tôi trong Ubuntu. Nó thay đổi tất cả các quyền sở hữu các tập tin và thư mục

sudo chown -R someuser:somegroup YourDir

Tôi đã thử sudo chown -R me:me .và khi ls -altất cả các tệp của tôi vẫn thuộc sở hữu của root. Tại sao cai nay không hoạt động?
Richard

@Richard bạn đã thử sử dụng một đường dẫn tuyệt đối hay ./chưa?
vdegenne

0

Tôi sử dụng treethay thế:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

Ngoài ra, hãy cẩn thận để không chạy chown đệ quy hoặc chmod trên thư mục '/' hoặc thư mục hệ thống khác.

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.