Bagaimana saya mengubah hak akses untuk folder dan semua subfolder dan file dalam satu langkah di Linux?

Saya ingin mengubah hak akses dari folder dan sub folder dan file dalam satu langkah (perintah) di Linux.

Saya sudah mencoba perintah di bawah ini tapi itu hanya bekerja untuk folder yang disebutkan:

chmod 775 /opt/lampp/htdocs

Apakah ada cara untuk mengatur chmod 755 untuk /opt/lampp/htdocs dan semua isinya termasuk subfolder dan file?

Juga, di masa depan, jika saya membuat folder baru atau file di dalam htdocs, bagaimana dapat izin dari yang secara otomatis akan diatur ke 755?

Saya telah melihat di link ini juga:

http://stackoverflow.com/questions/3740187/how-to-set-default-chmod-in-linux-terminal

Mengomentari pertanyaan (10)
Larutan

Lain jawaban yang benar, bahwa chmod -R 755 akan mengatur hak akses ini untuk semua file dan subfolder yang ada di pohon. Tapi mengapa di bumi akan anda ingin? Itu mungkin masuk akal untuk direktori, tapi kenapa mengatur bit eksekusi pada semua file?

Saya menduga apa yang anda benar-benar ingin lakukan adalah mengatur direktori ke 755 dan meninggalkan file sendiri atau mengatur mereka ke 644. Untuk ini, anda dapat menggunakan menemukan perintah. Misalnya:

Untuk mengubah semua folder menjadi 755 (drwxr-xr-x):

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

Untuk mengubah semua file 644 (-rw-r--r--):

find /opt/lampp/htdocs -type f -exec chmod 644 {} \;
Komentar (30)

Periksa opsi-R

chmod -R <permissionsettings> <dirname>

Di masa depan, anda dapat menghemat banyak waktu dengan memeriksa halaman pertama:

man 

Jadi dalam hal ini:

man chmod
Komentar (17)

Jika anda ingin mengatur hak akses pada semua file ke a+r, dan semua direktori untuk a+x, dan lakukan itu secara rekursif melalui lengkapi subdirektori pohon, menggunakan:

chmod -R a+rX *

X (yang adalah ibukota X, tidak kecil x!) diabaikan untuk file (kecuali mereka adalah eksekusi untuk seseorang yang sudah) tapi digunakan untuk direktori.

Komentar (7)

Anda dapat menggunakan -R dengan chmod untuk rekursif traversal dari semua file dan subfolder.

Anda mungkin perlu sudo seperti itu tergantung pada LAMPU yang diinstal oleh pengguna saat ini atau yang lain:

sudo chmod 755 -R /opt/lampp/htdocs
Komentar (7)

Untuk mengatur semua subfolder (secara rekursif) menggunakan -R

chmod 755 /folder -R
<menyerang>Dan menggunakan umask untuk menetapkan standar baru untuk folder/file cd /folder umask 755 </strike>
Komentar (7)

Yang benar rekursif perintah ini:

sudo chmod 755 -R /opt/lampp/htdocs

-R: mengubah setiap sub folder termasuk folder saat ini

Komentar (2)

chmod 755 -R /opt/lampp/htdocs akan rekursif mengatur perizinan. Ada's tidak ada cara untuk mengatur hak akses untuk file-file secara otomatis hanya dalam direktori ini yang dibuat setelah anda menetapkan izin, tapi anda bisa mengubah seluruh sistem default file permissions dengan dengan menetapkan umask 022.

Komentar (3)

Anda mungkin ingin mempertimbangkan jawaban ini diberikan oleh nik pada superuser dan gunakan "satu chmod" untuk semua file/folder seperti ini:

chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)
Komentar (4)

Berikut ini's cara lain untuk mengatur direktori untuk 775 dan file untuk 664.

find /opt/lampp/htdocs \
\( -type f -exec chmod ug+rw,o+r {} \; \) , \
\( -type d -exec chmod ug+rwxs,o+rx {} \; \)

Ini mungkin terlihat panjang, tapi itu's cukup keren untuk tiga alasan:

  1. Scan melalui sistem file hanya sekali lebih dari dua kali.
  2. Memberikan kontrol yang lebih baik atas bagaimana files ditangani vs. bagaimana directories ditangani. Hal ini berguna ketika bekerja dengan khusus mode seperti sticky bit, yang anda mungkin ingin menerapkan ke direktori tapi tidak file.
  3. Menggunakan teknik langsung dari manusia, halaman (lihat di bawah).

Perhatikan bahwa saya tidak dikonfirmasi perbedaan kinerja (jika ada) antara larutan ini dan yang hanya menggunakan dua menemukan perintah (seperti dalam Peter Mortensen's solusi). Namun, melihat contoh yang sama di manual adalah mendorong.

Contoh dari pria menemukan halaman:

find / \
\( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
\( -size +100M -fprintf /root/big.txt %-10s %p\n \)

Traverse the filesystem just once, listing setuid files and  direc‐
tories into /root/suid.txt and large files into /root/big.txt.

Cheers

Komentar (2)

Gunakan:

sudo chmod 755 -R /whatever/your/directory/is

Namun, hati-hati dengan itu. Itu benar-benar dapat menyakiti anda jika anda mengubah hak akses dari file-file yang salah/folder.

Komentar (0)

chmod -R 755 directory_name bekerja, tapi bagaimana anda akan membuat file baru untuk 755 juga? File's izin menjadi izin default.

Komentar (1)

Anda ingin memastikan bahwa sesuai file dan direktori chmod-ed/izin bagi orang-orang yang tepat. Untuk semua direktori yang anda inginkan

find /opt/lampp/htdocs -type d -exec chmod 711 {} \;

Dan untuk semua gambar, JavaScript, CSS, HTML...nah, anda tidak't mengeksekusi mereka. Jadi gunakan

chmod 644 img/* js/* html/*

Tetapi untuk semua kode logika (misalnya kode PHP), anda harus mengatur hak akses sehingga pengguna bisa't melihat bahwa kode:

chmod 600 file
Komentar (0)

Untuk Mac OS X 10.7 (Lion), adalah:

chmod -R 755 /directory

Dan ya, seperti semua yang lain mengatakan, berhati-hati ketika melakukan hal ini.

Komentar (0)

Saya pikir Adam bertanya bagaimana mengubah nilai umask untuk semua proses yang mengikat untuk beroperasi pada /opt/lampp/htdocs direktori.

Pengguna file-modus pembuatan masker (umask) digunakan untuk menentukan file permission untuk file yang baru dibuat. Hal ini dapat digunakan untuk mengontrol default file permission untuk file baru.

jadi jika anda akan menggunakan beberapa jenis program ftp untuk meng-upload file ke/opt/lampp/htdocs` yang anda butuhkan untuk mengkonfigurasi server ftp anda untuk menggunakan umask yang anda inginkan.

Jika file / direktori yang akan dibuat misalnya dengan php, anda perlu memodifikasi kode php

<?php
umask(0022);
// other code
?>

jika anda akan membuat file / folder dari bash sesi, anda dapat mengatur nilai umask di shell anda profil ~/.bashrc Atau anda dapat mengatur umask di /etc/bashrc atau /etc/profile file untuk semua pengguna. tambahkan baris berikut ke file: umask 022

Sample umask Values and File Creation Permissions
If umask value set to   User permission     Group permission     Others permission
000                         all              all                   all
007                         all              all                   none
027                         all          read / execute            none

Dan untuk mengubah hak akses untuk yang sudah dibuat file, anda dapat menggunakan cari. Semoga ini bisa membantu.

Komentar (0)

Ada dua jawaban untuk menemukan file dan menerapkan chmod untuk mereka. Pertama adalah menemukan file dan menerapkan chmod seperti menemukan (seperti yang disarankan oleh @WombleGoneBad).

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

Solusi kedua adalah untuk menghasilkan daftar semua file dengan menemukan perintah dan menyediakan daftar ini untuk chmod perintah (seperti yang disarankan oleh @lamgesh).

chmod 755 $(find /path/to/base/dir -type d)

Kedua versi ini bekerja bagus selama jumlah file yang dikembalikan oleh menemukan perintah lebih kecil. Solusi kedua tampak hebat untuk mata dan lebih mudah dibaca daripada yang pertama. Jika ada sejumlah besar file, solusi kedua kembali kesalahan : daftar Argumen terlalu lama.

Jadi saran saya adalah

  1. Gunakan chmod -R 755 /opt/lampp/htdocs jika anda ingin mengubah hak akses dari semua file dan direktori sekaligus.
  2. Gunakan menemukan /opt/lampp/htdocs -type d -exec chmod 755 {} \; jika jumlah file yang anda gunakan adalah sangat besar. The tipe-x pilihan pencarian untuk menemukan jenis file saja, di mana d adalah digunakan untuk mencari direktori, f untuk file dan l untuk link.
  3. Gunakan chmod 755 $(find /path/ke/tempat/dir -type d) jika tidak
  4. Lebih baik menggunakan yang pertama dalam situasi apapun
Komentar (0)

It's sangat sederhana.

Di Terminal pergi ke file manager. contoh: sudo nemo. Pergi /opt/ lalu klik Properties → Izin. dan kemudian lain-Lain. Akhirnya, perubahan untuk membuat dan menghapus file dan file akses untuk membaca dan menulis dan klik pada tombol apply... Dan bekerja.

Komentar (0)