EDIT : Masalahnya adalah Apple menggunakan izin untuk menandai cadangan dan mencegah Anda memodifikasinya (mungkin fitur keamanan). Dengan menggunakan chmod -RN <dir>
saya menghapus data ACL dari semua folder dengan data penting dan yang memungkinkan saya untuk menjadikan diri saya pemilik dan menerapkan izin yang sesuai.
Pertanyaan awal
Saya memiliki cadangan yang sangat besar (> 700GB) yang sekarang memiliki izin yang salah (UID saya berubah saat instalasi bersih, cerita panjang) dan saya perlu mengubahnya. Opsi yang memakan waktu adalah secara manual melalui setiap folder dan mengubah izin tetapi itu akan memakan waktu lama.
Saya ingin menggunakan chown
untuk menjadikan diri saya pemilik semua data penting saya dan kemudian menggunakan chmod 700
semua folder itu untuk memberikan rwx
izin hanya kepada saya.
Solusi yang ideal adalah beberapa metode menggunakan find
untuk secara rekursif mencari folder yang cocok dengan regex (yang sekarang adalah saya .*/[DCV].*|Pictures|M[ou].*
) dan kemudian membuat UID saya pemilik dan mengatur izin ke 700.
Bagian penting yang tidak dapat saya pahami:
Namun, ketika saya mencoba lari chown Me DirectoryName
saya mengerti chown: DirectoryName: Operation not permitted
.
Semua yang saya temukan terkait dengan mengubah izin file dan bukan direktori. Mungkin saya melihat ini dengan cara yang salah?
Sesuatu memberi tahu saya bahwa tidak ada cara untuk memberikan UID saya rwx
dan ---
kepada orang lain.
Bagaimana saya bisa mencapai ini? Saya menjalankan Mac OS X 10.10.3.
Saya tahu bahwa ini adalah forum UNIX / Linux (dan saya sedang menjalankan Mac) tetapi pertanyaan ini adalah lebih banyak tentang menggunakan shell, chown
, chmod
, dan hak akses dan solusi setiap diposting di sini akan berlaku untuk setiap OS berbasis UNIX. Akan lebih baik jika solusi yang diposting akan membuat backup saya yang lebih lama muncul kembali di Time Machine.
Terima kasih untuk semua yang segera menjawab, tetapi chown
sepertinya tidak bekerja pada direktori karena suatu alasan. Apakah fakta bahwa ini adalah .sparsebundle
gambar disk pada drive jaringan yang relevan? Saya berasumsi itu akan sama dengan pada drive eksternal.
sumber
root_squash
diaktifkan, sehingga Anda tidak akan dapat melakukan operasi root saja sepertichown
dari klien.find . -user $other_uid -print0 | sudo xargs chown $USER
harus bekerja.df -hT <dirname>
harus memberitahumu.df -hT <dir>
memberikan tidak ada output untuk) direktori root dari jaringan HDD b) disk image di dalam jaringan HDD c) setiap folder di HDD jaringan. Mungkin perilaku yang Anda maksudkan diimplementasikan secara berbeda pada Mac dan Linux?Jawaban:
Saya mungkin salah paham. Tetapi Anda dapat secara rekursif menggunakan chmod dan chown misalnya.
Untuk secara rekursif menerapkan izin 700 Anda dapat menggunakan:
Tentu saja di atas adalah untuk Linux jadi tidak yakin apakah mac osx sama.
EDIT: Ya maaf lupa menyebutkan Anda perlu menjadi root untuk chown sesuatu, saya hanya berasumsi Anda tahu ini ... buruk saya.
sumber
sudo
, jadisudo chmod
(Anda akan diminta kata sandi dengan akses Adminstrator).coba sebagai root
dimana
-type d
hanya berlaku untuk dir-name ...
regexp Anda-exec chown Me {} \;
gunakan chown pada find dir.Anda harus menjadi root untuk chown.
sumber