Pertanyaan ini sudah ada jawabannya di sini:
Saya memiliki folder tempat subfolder dan file baru akan dibuat secara otomatis, dengan skrip.
Saya ingin mempertahankan izin pengguna dan grup secara rekursif untuk semua folder dan file baru yang ditempatkan di direktori induk. Saya tahu ini melibatkan pengaturan sedikit lengket, tetapi saya tidak bisa menemukan perintah yang menunjukkan apa yang saya butuhkan.
Inilah yang telah saya lakukan sejauh ini:
sudo mkdir -p /path/to/parent
sudo chmod -R 660 myself:somegroup /path/to/parent
Setelah itu, saya ingin 660 izin diatur secara rekursif ke folder dan file apa pun yang ditempatkan /path/to/parent
.
Namun, semua yang saya coba sejauh ini telah gagal. Bisakah seseorang membantu?
Sebenarnya bendera oktal 660 bahkan mungkin tidak benar. Izin yang saya inginkan adalah:
- Direktori yang ditempatkan di bawah
/path/to/parent
dapat dieksekusi oleh pengguna dengan izin - file dibaca / dapat ditulis oleh pengguna sendiri dan anggota somegroup
- File dan folder di
/path/to/parent
BUKAN dunia dibaca
Saya menjalankan Ubuntu 10.0.4 LTS.
Bisakah seseorang membantu?
sumber
o+w
pilihan yang baik di sini? Bukankah perubahan harus dibatasiu
dang
? Kalau tidak, apa gunanya mencoba menjaga keamanan pada direktori dan sub-direktori?Bit izin yang Anda cari adalah 0770 dan 0660.
rw-
izin →110
biner →6
oktalThe kelompok kepemilikan dapat diwariskan oleh file baru dan folder yang dibuat dalam folder / path / ke / orang tua dengan menetapkan bit setgid menggunakan
chmod g+s
seperti ini:Sekarang, semua file dan folder baru yang dibuat di bawah / path / ke / parent akan memiliki grup yang sama seperti yang diatur pada / path / ke / parent.
Izin file POSIX tidak diwarisi; mereka diberikan oleh proses pembuatan dan dikombinasikan dengan nilai umask saat ini.
Namun, Anda dapat menggunakan ACL POSIX untuk mencapai ini. Tetapkan ACL default pada direktori:
Ini akan berlaku
setfacl
ke direktori / path / ke / orang tua,-m
odifying yang-d
ILIHAN OLEH ACL - mereka yang akan diterapkan pada barang-barang yang baru dibuat. (Huruf besarX
berarti hanya direktori yang akan menerima+x
bit.)(Jika perlu, Anda dapat menambahkan
u:someuser:rwX
ataug:someuser:rwX
- lebih disukai grup - ke ACL.)Catatan: Pada sistem yang lebih lama menggunakan ext3 / ext4, Anda harus memasang sistem file dengan
acl
opsi, jika tidak maka akan mengabaikan semua ACL dan melarang pengaturan yang baru.Untuk mengatur ini secara permanen, gunakan
tune2fs -o acl <device>
atau edit/etc/fstab
.sumber
unzip
?Saya pikir Anda terlalu memperumit masalah ini. Jika direktori tingkat atas tidak dapat diakses oleh orang lain, maka orang lain tidak akan dapat membuat file di dalam struktur pohon. Akses menulis grup tidak diperlukan jika hanya apache yang melakukan penulisan.
Langkah-langkah ini harus melakukan apa yang Anda inginkan (ganti direktori dalam perintah dengan direktori yang ingin Anda gunakan):
umask 027
ke skrip default apache/etc/default/apache
. Ini akan mencegah orang lain mengakses file atau direktori apache yang dibuat.chown www-data:www-data directory
pada direktori yang Anda inginkan agar apache dapat menulis.chmod 750 directory
pada direktori yang Anda inginkan agar apache dapat menulis.Mengizinkan apache untuk menulis ke direktori membuka kemampuan untuk menyuntikkan semua jenis malware ke konten yang Anda sajikan. Pantau isi pohon direktori ini dengan tepat.
sumber