Setelah menginstal server web, apakah ada cara sederhana untuk mengatur pengguna yang dapat menggunakan antarmuka grafis untuk menyalin file dan direktori ke server web lokal / var / www
Saya memberi diri saya hak administratif di Ubuntu tetapi masih tidak mengizinkan salinan.
permissions
webserver
k_graham
sumber
sumber
Jawaban:
Jika Anda membuat / var / www dapat ditulis oleh grupnya dan menambahkan pengguna ke grup, pengguna itu tidak harus menggunakan sudo. Coba ini:
Pengguna kemudian harus dapat mengedit / var / www / file tanpa kerumitan.
Baris pertama menambahkan pengguna ke grup data-www, baris kedua membersihkan semua file dengan kepemilikan yang kacau, dan yang ketiga membuatnya agar semua pengguna yang merupakan anggota grup data-www dapat membaca dan menulis semua file dalam / var / www.
Jika Anda masuk karena
<username>
Anda harus keluar dan masuk kembali agar keanggotaan grup berlaku.sumber
sudo adduser <username> www-data; sudo chgrp -R www-data /var/www; sudo chmod -R g+rw /var/www; find /var/www -type d -print0 | sudo xargs -0 chmod g+s
logout dan login lagi untuk mengambil grup baru Anda. Saya melakukan inichmod g+s
untuk memaksa file dan direktori baru untuk mengambil pemilik grup (www-data), memastikan bahwa perubahan izin saya menyebar./var/www
dimiliki oleh root: root, jadi alih-alihsudo chgrp -R www-data /var/www
lebih baiksudo chgrp -R www-data /var/www/*
.composer.json
danLICENSE
) ditampilkan menggunakan ikon biner. Membukacomposer.json
dalam editor teks menunjukkan file kosong dan yang terburuk adalah bahwa saya tidak dapat menelusuri beberapa sub-folder juga, saya bahkan mencoba perintah tambahan seperti yang disarankan oleh @ DonFaulkner dan masih belum berhasil. Jika saya menggunakan terminal sebagai root, semuanya sudah sebagaimana mestinya. Adakah yang tahu mengapa ini terjadi?Anda dapat
chown
, yangch
ange yangown
er dari folder itu. Ini akan memungkinkan Anda untuk mengubah pengguna dan grup folder, memungkinkan pengguna Anda untuk menambah / menghapus file di dalamnya. Untuk melakukannya, gantiyourusername
dengan nama Anda dan jalankan:Dan itu saja.
Namun, saya lebih suka membuat virtualhost di folder rumah saya, itu jauh lebih mudah.
Pada dasarnya ini memungkinkan Anda untuk menggunakan folder apa pun sebagai folder penyajian apache. Untuk menunjukkannya sesederhana itu, mari kita asumsikan bahwa nama pengguna Anda adalah nama pengguna dan folder yang ingin Anda layani adalah / home / nama pengguna / www
Buat file berikut (misalnya
mywebprojects
) di / etc / apache2 / sistes-available menggantikan nama pengguna dan path folder (pada dasarnya hanya salin dan tempel dan ganti di #CHANGE HERE):Sekarang mari kita buat
www
folder, tambahkan hello world yang sederhana, nonaktifkan situs web default (/var/www
), aktifkan situs web kamimywebprojects
dan mulai ulang apache.Dan itu, sekarang Anda tidak perlu pergi ke
/var/www
, Anda cukup menambahkan file kewww
(atau diberikan nama lain Anda) dan sudah ada di sana :).sumber
Metode 1:
Tekan ALT+ F2dan masukkan gksudo nautilus lalu klik Jalankan.
Metode 2:
nautilus -q
di terminal Anda untuk menyegarkan menu klik kanan.Ini akan membuka file / folder itu dengan izin root.
sumber
/var/www
. Satu dorongan tombol yang tidak disengaja[delete]
dan Anda bisa berakhir dengan sistem yang tidak bisa di-boot.Ini bisa sesederhana
sudo usermod -a -G developers $username
menggunakan ACL.Namun, itu butuh sedikit usaha untuk memulainya. Setidaknya ini untuk Ubuntu 10.10. Pertama-tama pasang sistem file dengan opsi acl di / etc / fstab.
UUID = default xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4, acl 0 1
Kemudian buat grup tempat pengguna dapat memiliki untuk tujuan ini.
Pengguna harus keluar dan masuk lagi untuk menjadi anggota grup pengembang.
Tentu saja, jangan lakukan ini jika Anda memiliki konten di direktori / var / www yang Anda inginkan, tetapi hanya untuk menggambarkan pengaturannya untuk memulai:
Kemudian ganti referensi ke "/ var / www" dengan "/ var / www / public" di file konfigurasi dan muat ulang.
Jika kami ingin membatasi hapus dan ganti nama dari semua kecuali pengguna yang membuat file:
Dengan cara ini, jika kita ingin membuat direktori untuk kerangka kerja yang ada di luar root dokumen Apache atau mungkin membuat direktori server yang dapat ditulis, itu masih mudah.
Direktori log yang dapat ditulis oleh Apache:
Direktori perpustakaan yang dapat dibaca oleh Apache:
sumber
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-line? Apakah ini dimaksudkan untuk ditambahkan secara harfiah atau ingin pengguna menemukan garis dan mengedit opsi di belakang?sudo rm -rf /var/www
langkah-. Sepertinya tidak perlu.sudo blkid
UUID=xxxx
bagian seperti dengan asudo blkid
.Cara termudah untuk dilakukan adalah mengikuti langkah-langkah yang diberikan di bawah ini: -
sudo -s
dan login dengan kata sandi Anda.root
.nautilus
dan akan membuka folder beranda untuk Anda sebagai root. Jadi sekarang Anda dapat dengan mudah mengedit file dan melakukan apa pun yang Anda inginkan.Semoga ini membantu. :)
sumber
sudo -i
lebih disukaisudo -s
karena alasan yang samasudo -H
lebih disukai daripadasudo
menjalankan aplikasi grafis tunggal. (sudo -s
tidak mengatur ulangHOME
, sehingga pengguna dapat memperoleh file konfigurasi di direktori home mereka yang seharusnya menjadi milik mereka tetapi milik root sebagai gantinya .)/var/www folder
dimiliki oleh root .. Anda harus mengubah kepemilikan menjadi nama pengguna Anda sendiri untuk memodifikasi file dalam folder ini. Untuk ini, Anda dapat mencoba perintah berikut ..sudo -i
// untuk mengubah ke root konsolSekarang kepemilikan folder
/var/www/html will
diberikan kepada penggunascott
. Sekarang scott dapat menyalin / memindahkan file di folder ini.sumber
Jika Anda menggunakan versi server, coba webmin. Ini memiliki UI web dan manajer file yang hebat. Entah itu atau Filezilla
sumber