Bagaimana saya mengubah semua file menjadi 644 dan semua folder menjadi 755 menggunakan chmod
dari linux
command prompt? (Terminal)
terminal
command-prompt
chmod
hugo der hungrige
sumber
sumber
http://superuser.com
:: P tapi pertanyaan ini membantu saya di sini, terima kasih.chmod -R u+rwX,go+rX,go-w /foo
Jawaban:
Satu pendekatan dapat menggunakan find:
untuk direktori
untuk file
sumber
sudo find /your/location -type f -exec chmod 644 {} \;
untuk file dansudo find /your/location -type d -exec chmod 755 {} \;
untuk direktorichmod -R a=r,u+w,a+X /foo
?unable to execute /bin/chmod: Argument list too long
Cara termudah adalah melakukan:
yang pada dasarnya berarti:
untuk
ch
berkas angemod
es-R
ecursively dengan memberikan:u
ser:r
ead,w
ritus danX
izin ecute,g
o
pengguna roup dan lainnya: izinr
ead dan eX
ecute, tetapi bukan-w
izin ritus.Harap dicatat bahwa
X
akan membuat direktori dapat dieksekusi, tetapi bukan file, kecuali itu sudah dapat dicari / dieksekusi.Silakan periksa
man chmod
rincian lebih lanjut.Lihat juga: Bagaimana cara chmod semua direktori kecuali file (secara rekursif)? di SU
sumber
Yang terpendek yang bisa saya pikirkan adalah:
yang bekerja pada GNU / Linux, dan saya percaya pada Posix secara umum (dari bacaan saya: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html ).
Apa yang dilakukan adalah:
Yang penting, izin langkah 1 menghapus semua bit eksekusi, jadi langkah 3 hanya menambahkan bit eksekusi kembali untuk direktori (tidak pernah file). Selain itu, ketiga langkah terjadi sebelum direktori diulang (jadi ini tidak setara dengan misalnya
karena a = r menghapus x dari direktori, maka chmod tidak dapat mengulanginya.)
sumber
Yang paling mudah saya ingat adalah dua operasi:
+ X hanya memengaruhi direktori.
sumber
Pada https://help.directadmin.com/item.php?id=589 mereka menulis:
Jika Anda memerlukan cara cepat untuk mereset data public_html Anda ke 755 untuk direktori dan 644 untuk file, maka Anda dapat menggunakan sesuatu seperti ini:
Saya menguji dan ... berhasil!
sumber
Ini bekerja untuk saya:
sumber
find /A -type X -exec chmod Y '{}' \;
Lakukan keduanya dalam sekali jalan dengan:
Seperti pada, cari tipe f ATAU ketik d, dan lakukan yang pertama ... untuk file dan yang kedua ... untuk dir. Secara khusus:
Tinggalkan
--changes
jika Anda ingin itu bekerja secara diam-diam.sumber
Jika Anda memerlukan cara cepat untuk mereset data public_html Anda ke 755 untuk direktori dan 644 untuk file, maka Anda dapat menggunakan sesuatu seperti ini:
selain itu, jika Anda tahu PHP berjalan sebagai pengguna dan bukan sebagai "apache", maka Anda dapat mengatur file PHP ke 600, untuk tingkat keamanan tambahan, misalnya:
Anda dapat menemukan sumber ini di sini: https://help.directadmin.com/item.php?id=589
sumber
Ini juga bisa bekerja:
sumber