Ketika saya mencoba untuk menempatkan file web saya /var/www
di dalam apache pada contoh ec2 Ubuntu saya itu memberi saya kesalahan yang menyatakan bahwa saya tidak memiliki izin.
Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3
Bagaimana saya memberi diri saya izin untuk melakukan ini atau apa cara terbaik untuk menyalin file /var/www
dengan WinSCP?
apache-http-server
amazon-ec2
winscp
andrew
sumber
sumber
Aktifkan izin menulis untuk pengguna yang masuk melalui WinSCP. Ada dua cara untuk melakukan ini.
Cara pertama adalah mengubah izin pada folder untuk mengizinkan siapa saja menulisnya. Ini bukan keamanan terbaik.
Cara kedua adalah menambahkan pengguna Anda ke grup yang memiliki direktori, dan kemudian mengatur izin untuk grup untuk menulis ke direktori.
Cari tahu siapa yang memiliki direktori:
Anda akan melihat sesuatu seperti: drwxr-x --- 9 www-data www-data 4096 14 Jul 2009 www Yang penting untuk dicatat adalah dua nama root dan root. Dalam hal ini, pemilik direktori adalah data-www, dan kelompok direktori adalah data-www. Jadi sekarang Anda akan menambahkan pengguna Anda ke grup www-data.
Sekarang cukup tambahkan izin menulis ke grup.
Sekarang
harus kembali: drwxrwx --- 9 www-data www-data 4096 14 Jul 2009 www
Dengan ini Anda akan dapat menulis ke direktori, sambil tidak membuka hak istimewa menulis untuk semua orang.
sumber
pada EC2 ini bekerja untuk saya. login ke box via dempul dengan pengguna "ec2-user" dan gunakan perintah:
Catatan: ini memberikan akses tulis untuk semua pengguna.
Seharusnya sekarang bisa menulis menggunakan WinScp.
sumber
Tutorial berikut ini berfungsi untuk saya dan memberikan tangkapan layar yang bermanfaat. Masuk sebagai pengguna biasa dengan izin sudo hanya perlu mengubah beberapa opsi WinSCP: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Setel Sesi / Protokol file ke: SCP, masukkan ip host / instance, port - biasanya 22, dan nama pengguna biasa. Masukkan kredensial kata sandi jika login mengharuskannya. Tambahkan file kunci pribadi yang sesuai pengguna di Advanced / SSH / Authentication.
Menghapus centang Advanced / SSH / Authentication / usaha "keyboard interaktif" otentikasi harus memungkinkan Advanced / Environment / SCP Shell / Shell / Shell: sudo su - untuk memberikan izin sudo untuk mengakses direktori server web sebagai pengguna yang bukan pemilik.
Pembaruan: 08/03/2017
Pencatatan WinSCP dapat membantu memecahkan masalah.
winscp.net/eng/docs/logging:
Bergantung pada kesalahan koneksi WinSCP, beberapa instalasi server mungkin perlu direktif ditambahkan ke file (Ubunto, CentOS, lain-Linux-Server) / etc / sudoers untuk tidak memerlukan TTY untuk pengguna yang ditentukan. Membuat file di /etc/sudoers.d/ (menggunakan alat seperti Amazon Command Line Interface atau PuTTY) mungkin merupakan opsi yang lebih baik daripada mengedit / etc / sudoers. Beberapa versi / etc / sudoers merekomendasikannya:
Saat mengedit file sudoers (sebagai root) melalui baris perintah, perintah 'visudo' harus digunakan untuk membuka file karena akan mengurai file untuk kesalahan sintaks. File /etc/sudoers.d/ biasanya dimiliki oleh root dan chmoded dengan izin minimal. File default / etc / sudoers dapat dirujuk karena seharusnya secara otomatis merekomendasikan izin chmod saat instalasi. misal: 0440 r - r -----.
superuser.com/a/869145:
Tautan Bermanfaat:
Forum WinSCP: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109
WinSCP Doc: https://winscp.net/eng/docs/faq_su
Instruksi dalam Ubuntu Apache / etc / sudoers merekomendasikan untuk menambahkan arahan ke /etc/sudoers.d daripada mengedit / etc / sudoers secara langsung. Bergantung pada instalasi, menambahkan arahan ke /etc/sudoers.d/cloud-init juga bisa berfungsi.
Mungkin bermanfaat untuk membuat pengguna uji SSH dengan izin sudo dengan mengikuti langkah-langkah yang disediakan dalam dokumentasi contoh untuk memastikan bahwa pengguna telah merekomendasikan pengaturan instance dan setiap pembaruan ke file server sudoer dapat dilakukan dan dihapus tanpa mempengaruhi pengguna lain.
sumber
Anda harus memberikan izin menulis kepada pengguna, ingat izin yang digunakan sebelumnya
stat /var/www
.Kemudian Anda dapat mengubahnya dengan
sudo chmod 666 /var/www
dan mengubahnya kembali nanti saat dibutuhkan.Konsultasikan
man chmod
dan diman sudo
samping manual izin file lainnya di internet untuk info lebih lanjut ...sumber