WinSCP ile dosyaları / var / www`ye nasıl kopyalarım?


11

Web dosyalarımı /var/wwwec2 Ubuntu örneğimdeki apache'ye yerleştirmeye çalıştığımda iznim olmadığını belirten bir hata veriyor.

Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3

Bunu yapmak için kendime nasıl izin verebilirim veya /var/wwwWinSCP ile dosyaları kopyalamanın en iyi yolu nedir?

Yanıtlar:


15

Aynı hatayı WinSCP'de alıyordum. Bir çözüm, '/ www /' klasörünün sahipliğini kullanarak kullanmaktır chown. Bu şekilde, oturum açtığınız kullanıcıyı 'kök' sahibi olmak yerine sahibine yapabilirsiniz. Ubuntu yerine Amazon Linux örneği kullanıyorum, ancak bu komut benim için çalıştı:

sudo chown -R -v ec2-user /var/www/

'Ec2-user' kullanıcısı, oturum açtığım kullanıcı.

Potansiyel Olarak Yararlı bağlantılar

  • alestic.com : EC2 için Resmi Ubuntu Görüntüleri'nde sudo, ssh, rsync kullanma
  • apache.com : Komut Listesi

Başkasının sorusuna verilen yanıtın bir parçası olarak yardım taleplerinizin herhangi bir yanıt veya yararlı geri bildirim almaması muhtemeldir. Bunu elde etmek için muhtemelen ihtiyacınız olan kesin ayrıntılarla kendi sorunuzu sormaktan daha iyidir.
Mart'ta katil

9

WinSCP üzerinden oturum açan kullanıcı için yazma izinlerini etkinleştirin. Bunu yapmanın iki yolu vardır.

İlk yol, herkesin yazmasına izin vermek için klasördeki izinleri değiştirmektir. Bu en iyi güvenlik değil.

chmod 777 /var/www


İkinci yol, kullanıcıyı dizinin sahibi olan gruba eklemek ve ardından grubun dizine yazma izinlerini ayarlamaktır.

Dizinin kime ait olduğunu bulun:

ls -l /var | grep www

Şöyle bir şey göreceksiniz: drwxr-x --- 9 www-data www-data 4096 14 Temmuz 2009 www Dikkat edilmesi gereken önemli olan iki isim kökü ve köküdür. Bu durumda, dizinin sahibi www-data ve dizin grubu www-data'dır. Şimdi kullanıcılarınızı www-data grubuna ekleyeceksiniz.

usermod -G www-data user

Şimdi gruba yazma iznini eklemeniz yeterli.

chmod 770 /var/www

şimdi

ls -l /var | grep www

dönmelidir: drwxrwx --- 9 www-verileri www-data 4096 14 Tem 2009 www

Bununla, herkese yazma ayrıcalıkları açmazken, dizine yazabilirsiniz.


1
doğruluk için hafif düzeltme - sudo chmod 777 / var / www - sudo usermod -G www-data (kullanıcı adı) - sudo chmod 770 / var / www - Örneğinizde kim olduğunuza bağlı olarak çalışabilir, ancak 'sudo' çalışmalıdır Kim olursanız olun (girişinizin elbette root / admin için / etc / sudoers içinde olduğunu varsayalım).
bshea

1

ec2'de bu benim için çalışıyor. "ec2-user" kullanıcısı ile macun ile kutuya giriş yapın ve komutları kullanın:

sudo root
chmod 777 <NAME_OF_FOLDER>

Not: Bu, tüm kullanıcılar için yazma erişimi sağlar.

Şimdi WinScp kullanarak yazabilmelidir.


1

Aşağıdaki eğitim benim için çalıştı ve yararlı ekran görüntüleri sağlar. Sudo izinlerine sahip normal bir kullanıcı olarak oturum açmak için birkaç WinSCP seçeneğinin ayarlanması gerekiyordu: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

Oturum / Dosya protokolünü şu şekilde ayarlayın: SCP, host / instance ip, port - genellikle 22 ve normal kullanıcı adını girin. Oturum açma gerektiriyorsa şifre kimlik bilgilerini girin. Kullanıcının karşılık gelen Özel anahtar dosyasını Gelişmiş / SSH / Kimlik Doğrulaması'na ekleyin.

Gelişmiş / SSH / Kimlik Doğrulama / "klavye etkileşimli" kimlik doğrulamasının işaretini kaldırmak Gelişmiş / Çevre / SCP Kabuğu / Kabuk / Kabuk: sudo su - sahipsiz kullanıcı olarak web sunucusu dizinlerine erişmek için sudo izinleri sağlamalıdır.


Güncelleme: 08/03/2017

WinSCP günlüğü, sorunları gidermek için yardımcı olabilir.

winscp.net/eng/docs/logging:

[WinSCP] Günlük kaydı, Tercihler iletişim kutusunun Günlük sayfasından etkinleştirilebilir. Günlük tutma, komut dizisi ile özellikle yararlı olan / log ve / xmllog parametrelerini kullanarak komut satırından da etkinleştirilebilir. .NET derlemesinde, oturum günlüğü Session.SessionLogPath1) kullanılarak etkinleştirilir.

WinSCP bağlantı hatalarına bağlı olarak, bazı sunucu kurulumlarının (Ubunto, CentOS, diğer Linux-Sunucu) / etc / sudoers dosyasına belirli bir kullanıcı için TTY gerektirmemesi için bir yönerge eklenmesi gerekebilir. /Etc/sudoers.d/ dosyasında (Amazon Komut Satırı Arabirimi veya PuTTY gibi bir araç kullanarak) dosya oluşturmak / etc / sudoers dosyasını düzenlemekten daha iyi bir seçenek olabilir. Bazı / etc / sudoers sürümleri bunu öneriyor:

Bu dosya 'visudo' komutuyla root olarak düzenlenmelidir * ZORUNLU *. Lütfen bu dosyayı doğrudan değiştirmek yerine /etc/sudoers.d/ dosyasına yerel içerik eklemeyi düşünün. Bir sudoers dosyasının nasıl yazılacağına ilişkin ayrıntılar için kılavuz sayfasına bakın.

Bir sudoers dosyasını (satır olarak) komut satırı üzerinden düzenlerken, dosyayı sözdizimi hataları için ayrıştıracağı için dosyayı açmak için 'visudo' komutu kullanılmalıdır. /etc/sudoers.d/ dosyaları genellikle root'a aittir ve minimum izinlerle chmoded'dur. Varsayılan / etc / sudoers dosyasına, yükleme sırasında otomatik olarak önerilen chmod izinlerine sahip olması gerektiği için başvurulabilir. örneğin: 0440 r - r -----.

superuser.com/a/869145:

visudo -f /etc/sudoers.d/somefilename

Defaults:username !requiretty 

Yararlı Bağlantılar:

  • Stackoverflow: stackoverflow.com/questions/25688850/cloud-init-how-to-add-default-user-to-sudoers-d
    • www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos

WinSCP Forumu: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109

WinSCP Belgesi: https://winscp.net/eng/docs/faq_su

SCP protokolü ile Gelişmiş Site Ayarları iletişim kutusunun SCP / Shell sayfasında özel kabuk olarak aşağıdaki komutu belirleyebilirsiniz:

sudo -s

[...]

WinSCP terminal öykünmesini uygulayamadığından, sudoers seçeneğinin kapalı olması gerektiğini unutmayın.

Ubuntu Apache / etc / sudoers içindeki talimatlar /etc/sudoers.d dosyasına doğrudan / etc / sudoers düzenlemek yerine direktif eklemenizi önerir. Yüklemeye bağlı olarak, /etc/sudoers.d/cloud-init dizinine yönerge eklemek de işe yarayabilir.

Kullanıcının örnek ayarlarını önerdiğinden ve sunucu sudoer dosyalarındaki tüm güncelleştirmelerin diğer kullanıcıları etkilemeden gerçekleştirilebildiğinden ve kaldırılabildiğinden emin olmak için örnek belgelerde sağlanan adımları izleyerek sudo izinleriyle bir SSH sınama kullanıcısı oluşturmak yararlı olabilir.


0

Kullanıcıya yazma izinleri vermeniz, önceki izinleri kullanarak hatırlamanız gerekir stat /var/www.

Ardından bunları ile sudo chmod 666 /var/wwwdeğiştirebilir ve daha sonra gerektiğinde geri değiştirebilirsiniz.

Consult man chmodve man sudodaha fazla bilgi için internette başka dosya izni kılavuzları yanında ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.