Wenn ich versuche, /var/www
meine Webdateien in Apache auf meiner ec2 Ubuntu-Instanz abzulegen, wird eine Fehlermeldung angezeigt, dass ich keine Berechtigung habe.
Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3
Wie erteile ich mir die Erlaubnis dazu oder wie kann ich Dateien /var/www
mit WinSCP am besten kopieren ?
apache-http-server
amazon-ec2
winscp
Andrew
quelle
quelle
Aktivieren Sie Schreibberechtigungen für den Benutzer, der sich über WinSCP anmeldet. Es gibt zwei Möglichkeiten, dies zu tun.
Die erste Möglichkeit besteht darin, die Berechtigungen für den Ordner so zu ändern, dass jeder darauf schreiben kann. Dies ist nicht die beste Sicherheit.
Die zweite Möglichkeit besteht darin, Ihren Benutzer zu der Gruppe hinzuzufügen, der das Verzeichnis gehört, und dann die Berechtigungen für die Gruppe festzulegen, in das Verzeichnis zu schreiben.
Finden Sie heraus, wem das Verzeichnis gehört:
Sie sehen so etwas wie: drwxr-x --- 9 www-data www-data 4096 14. Juli 2009 www Das Wichtigste sind die beiden Namen root und root. In diesem Fall ist der Eigentümer des Verzeichnisses www-data und die Gruppe des Verzeichnisses ist www-data. Nun fügen Sie Ihren Benutzer zur Gruppe www-Daten hinzu.
Fügen Sie nun einfach die Schreibberechtigung zur Gruppe hinzu.
Jetzt
sollte zurückgeben: drwxrwx --- 9 www-data www-data 4096 14. Juli 2009 www
Auf diese Weise können Sie in das Verzeichnis schreiben, ohne die Schreibrechte für alle zu öffnen.
quelle
auf ec2 funktioniert das bei mir. Melden Sie sich über Putty mit dem Benutzer "ec2-user" bei box an und verwenden Sie die folgenden Befehle:
Hinweis: Dadurch wird allen Benutzern Schreibzugriff gewährt.
Sollte jetzt in der Lage sein, mit WinScp zu schreiben.
quelle
Das folgende Tutorial hat für mich funktioniert und bietet hilfreiche Screenshots. Um sich als normaler Benutzer mit sudo-Berechtigungen anzumelden, mussten lediglich einige WinSCP-Optionen angepasst werden: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html
Stellen Sie das Sitzungs- / Dateiprotokoll auf: SCP, geben Sie die IP-Adresse des Hosts / der Instanz, den Port - normalerweise 22 - und den regulären Benutzernamen ein. Geben Sie die Kennwortanmeldeinformationen ein, wenn die Anmeldung dies erfordert. Fügen Sie die entsprechende private Schlüsseldatei des Benutzers in Advanced / SSH / Authentication hinzu.
Durch Deaktivieren der erweiterten / SSH / Authentifizierung / Versuch "Tastaturinteraktive" Authentifizierung sollte Advanced / Environment / SCP Shell / Shell / Shell: sudo su - Sudo-Berechtigungen für den Zugriff auf Webserver-Verzeichnisse als Benutzer ohne Eigentümer bereitstellen.
Update: 08/03/2017
Die WinSCP-Protokollierung kann hilfreich sein, um Probleme zu beheben.
woncp.net/eng/docs/logging:
Abhängig von WinSCP-Verbindungsfehlern muss bei einigen Serverinstallationen möglicherweise eine Anweisung zur Datei (Ubunto, CentOS, anderer Linux-Server) / etc / sudoers hinzugefügt werden, damit für einen bestimmten Benutzer kein TTY erforderlich ist. Das Erstellen einer Datei in /etc/sudoers.d/ (mit einem Tool wie Amazon Command Line Interface oder PuTTY) ist möglicherweise eine bessere Option als das Bearbeiten von / etc / sudoers. Einige / etc / sudoers-Versionen empfehlen es:
Wenn Sie eine Sudoers-Datei (als Root) über die Befehlszeile bearbeiten, sollte der Befehl 'visudo' zum Öffnen der Datei verwendet werden, da die Datei auf Syntaxfehler analysiert wird. /etc/sudoers.d/ -Dateien gehören normalerweise root und werden mit minimalen Berechtigungen geändert. Auf die Standarddatei / etc / sudoers kann verwiesen werden, da sie bei der Installation automatisch die empfohlenen chmod-Berechtigungen haben sollte. zB: 0440 r - r -----.
superuser.com/a/869145:
Hilfreiche Links:
WinSCP-Forum: - winscp.net/forum/viewtopic.php?t=3046 - winscp.net/forum/viewtopic.php?t=2109
WinSCP Doc: https://winscp.net/eng/docs/faq_su
Anweisungen in Ubuntu Apache / etc / sudoers empfehlen, Anweisungen zu /etc/sudoers.d hinzuzufügen, anstatt / etc / sudoers direkt zu bearbeiten. Abhängig von der Installation kann das Hinzufügen einer Direktive zu /etc/sudoers.d/cloud-init ebenfalls funktionieren.
Es kann hilfreich sein, einen SSH-Testbenutzer mit Sudo-Berechtigungen zu erstellen, indem Sie die in der Instanzdokumentation angegebenen Schritte ausführen, um sicherzustellen, dass der Benutzer Instanzeinstellungen empfohlen hat und alle Aktualisierungen von Server-Sudoer-Dateien durchgeführt und entfernt werden können, ohne andere Benutzer zu beeinträchtigen.
quelle
Sie müssen dem Benutzer Schreibberechtigungen erteilen und sich die vorherigen Berechtigungen mit merken
stat /var/www
.Dann können Sie sie mit
sudo chmod 666 /var/www
ändern und später bei Bedarf wieder ändern.Consult
man chmod
undman sudo
neben anderen Dateiberechtigungen Handbücher im Internet für weitere Informationen ...quelle