Teka-teki ini disebabkan oleh lari git pull
dari root.
Ada berbagai alasan bagi saya untuk melakukannya ... Saya ingin perangkat saya memperbarui kode ketika boot, dan rc.local
dijalankan oleh root.
Semuanya bekerja sebagian besar baik-baik saja ( npm install
cenderung gagal ketika dijalankan oleh root, tapi itu adalah topik 'nother keseluruhan), masalahnya muncul ketika saya mencoba menggunakan repositori git dengan pengguna non-root sesudahnya ... beberapa file git memiliki telah ditulis oleh root, jadi sekarang saya tidak bisa menggunakannya lagi (izin ditolak).
Jadi saya ingin chown
mengembalikannya secara rekursif tetapi sepertinya tidak ada yang benar-benar berfungsi pada semua file git kecil. Saya mencoba -R
flag dan ./**/*
path.
Dugaan saya adalah bahwa tidak satu pun dari teknik-teknik itu turun ke direktori dot
bash
Anda perlu mengaturshopt -s dotglob
untuk mencocokkan file yang tersembunyi oleh*
atau**
.chown -R *
, bukanchown -R .
?Jawaban:
Perintah berikut ini berfungsi untuk saya di Ubuntu. Itu mengubah semua file dan direktori kepemilikan secara serampangan
sumber
sudo chown -R me:me .
dan ketika sayals -al
semua file saya masih dimiliki oleh root. Mengapa ini tidak berhasil?./
?Saya menggunakan
tree
sebagai gantinya:Juga berhati-hati untuk tidak menjalankan chown atau chmod rekursif pada direktori '/' atau direktori sistem lainnya.
sumber