Làm cách nào để sao chép tệp vào `/ var / www` bằng WinSCP?


11

Khi tôi cố gắng đặt các tệp web của mình vào trạng thái /var/wwwapache trên phiên bản Ubuntu ec2 của mình, nó sẽ báo lỗi rằng tôi không có quyền.

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

Làm cách nào để tôi cho phép bản thân thực hiện việc này hoặc cách tốt nhất để sao chép tệp vào /var/wwwWinSCP là gì?

Câu trả lời:


15

Tôi đã nhận được cùng một lỗi trong WinSCP. Một giải pháp là thay đổi quyền sở hữu thư mục '/ www /' bằng cách sử dụng chown. Bằng cách đó, bạn có thể khiến người dùng mà bạn đăng nhập vào chủ sở hữu thay vì 'root' là chủ sở hữu. Tôi đang sử dụng một phiên bản của Amazon Linux chứ không phải Ubuntu, nhưng lệnh này hoạt động với tôi:

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

Người dùng 'ec2-user' là người dùng tôi đăng nhập.

Liên kết hữu ích tiềm năng

  • alests.com : Sử dụng sudo, ssh, rsync trên Hình ảnh Ubuntu chính thức cho EC2
  • apache.com : Danh sách lệnh

Yêu cầu trợ giúp của bạn như là một phần của câu trả lời cho câu hỏi của người khác có thể sẽ không nhận được bất kỳ phản hồi hoặc phản hồi hữu ích nào. Để có được điều đó, có lẽ bạn nên đặt câu hỏi của riêng mình với các chi tiết chính xác mà bạn cần.
sát thủ

9

Cho phép ghi quyền cho người dùng đăng nhập thông qua WinSCP. Có hai cách để làm điều này.

Cách đầu tiên là thay đổi các quyền trên thư mục để cho phép bất cứ ai viết vào nó. Đây không phải là bảo mật tốt nhất.

chmod 777 /var/www


Cách thứ hai là thêm người dùng của bạn vào nhóm sở hữu thư mục, sau đó đặt quyền cho nhóm ghi vào thư mục.

Tìm ra ai sở hữu thư mục:

ls -l /var | grep www

Bạn sẽ thấy một cái gì đó như: drwxr-x --- 9 www-data www-data 4096 Ngày 14 tháng 7 năm 2009 www Điều quan trọng cần lưu ý là hai tên gốc và gốc. Trong trường hợp này, chủ sở hữu của thư mục là www-data và nhóm của thư mục là www-data. Vì vậy, bây giờ bạn sẽ thêm người dùng của mình vào nhóm dữ liệu www.

usermod -G www-data user

Bây giờ chỉ cần thêm quyền viết cho nhóm.

chmod 770 /var/www

Hiện nay

ls -l /var | grep www

nên trả về: drwxrwx --- 9 www-data www-data 4096 Ngày 14 tháng 7 năm 2009 www

Với điều này, bạn sẽ có thể ghi vào thư mục, trong khi không mở đặc quyền ghi cho mọi người.


1
điều chỉnh nhẹ cho chính xác - sudo chmod 777 / var / www - sudo usermod -G www-data (tên người dùng) - sudo chmod 770 / var / www - Nó có thể hoạt động tùy thuộc vào bạn là ai trong ví dụ của bạn, nhưng 'sudo' sẽ hoạt động bất kể bạn là ai (giả sử đăng nhập của bạn là trong / etc / sudoers cho root / admin).
bshea

1

trên ec2 điều này làm việc cho tôi. đăng nhập vào hộp thông qua putty với người dùng "ec2-user" và sử dụng các lệnh:

sudo root
chmod 777 <NAME_OF_FOLDER>

Lưu ý: điều này cấp quyền truy cập ghi cho tất cả người dùng.

Bây giờ có thể viết bằng WinScp.


1

Các hướng dẫn sau đây làm việc cho tôi và cung cấp ảnh chụp màn hình hữu ích. Đăng nhập như một người dùng thông thường với quyền sudo chỉ cần yêu cầu điều chỉnh một vài tùy chọn WinSCP: http://cvlive.blogspot.de/2014/03/how-to-login-in-as-ssh-root-user-from.html

Đặt giao thức Phiên / Tệp thành: SCP, nhập ip máy chủ / thể hiện, cổng - thường là 22 và tên người dùng thông thường. Nhập thông tin đăng nhập mật khẩu nếu đăng nhập yêu cầu. Thêm tệp khóa riêng tương ứng của người dùng trong Nâng cao / SSH / Xác thực.

Bỏ chọn Xác thực nâng cao / SSH / Xác thực / thử "tương tác bàn phím" sẽ cho phép Nâng cao / Môi trường / SCP Shell / Shell / Shell: sudo su - để cung cấp quyền sudo để truy cập các thư mục máy chủ web với tư cách là người dùng không phải là chủ sở hữu.


Cập nhật: 08/03/2017

Ghi nhật ký WinSCP có thể hữu ích để khắc phục sự cố.

woncp.net/eng/docs/logging:

[WinSCP] Ghi nhật ký có thể được bật từ trang Ghi nhật ký của hộp thoại Tùy chọn. Ghi nhật ký cũng có thể được kích hoạt từ các dòng lệnh bằng cách sử dụng các tham số / log và / xmllog tương ứng, điều đặc biệt hữu ích với kịch bản lệnh. Trong lắp ráp .NET, ghi nhật ký phiên được kích hoạt bằng Phiên.SessionLogPath1).

Tùy thuộc vào lỗi kết nối WinSCP, một số cài đặt máy chủ có thể cần một lệnh được thêm vào tệp (Ubunto, CentOS, other-Linux-Server) / etc / sudoers để không yêu cầu TTY cho người dùng được chỉ định. Tạo một tệp trong /etc/sudoers.d/ (sử dụng một công cụ như Amazon Command Line Interface hoặc PuTTY) có thể là một lựa chọn tốt hơn so với chỉnh sửa / etc / sudoers. Một số phiên bản / etc / sudoers khuyên dùng nó:

Tập tin này PHẢI được chỉnh sửa bằng lệnh 'visudo' với quyền root. Vui lòng xem xét thêm nội dung cục bộ trong /etc/sudoers.d/ thay vì trực tiếp sửa đổi tệp này. Xem trang hướng dẫn để biết chi tiết về cách viết tệp sudoers.

Khi chỉnh sửa tệp sudoers (dưới dạng root) thông qua dòng lệnh, nên sử dụng lệnh 'visudo' để mở tệp vì nó sẽ phân tích tệp cho các lỗi cú pháp. Các tập tin /etc/sudoers.d/ thường được sở hữu bởi root và được mã hóa với các quyền tối thiểu. Tệp mặc định / etc / sudoers có thể được tham chiếu vì nó sẽ tự động có các quyền chmod được đề xuất khi cài đặt. ví dụ: 0440 r - r -----.

siêu người dùng.com / a / 869145:

visudo -f /etc/sudoers.d/somefilename

Defaults:username !requiretty 

Liên kết hữu ích:

  • 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-ub Ubuntu-and-centos

Diễn đàn WinSCP: - woncp.net/forum/viewtopic.php?t=3046 - woncp.net/forum/viewtopic.php?t=2109

Tài liệu WinSCP: https://winscp.net/eng/docs/faq_su

Với giao thức SCP, bạn có thể chỉ định lệnh sau dưới dạng shell tùy chỉnh trên trang SCP / Shell của hộp thoại Cài đặt trang nâng cao:

sudo -s

[...]

Lưu ý rằng vì WinSCP không thể thực hiện mô phỏng thiết bị đầu cuối, bạn cần phải tắt tùy chọn sudoers.

Các hướng dẫn trong Ubuntu Apache / etc / sudoers khuyên bạn nên thêm các lệnh vào /etc/sudoers.d thay vì trực tiếp chỉnh sửa / etc / sudoers. Tùy thuộc vào cài đặt, thêm chỉ thị vào /etc/sudoers.d/cloud-init cũng có thể hoạt động.

Có thể hữu ích khi tạo người dùng thử nghiệm SSH với quyền sudo bằng cách làm theo các bước được cung cấp trong tài liệu cá thể để đảm bảo rằng người dùng đã đề xuất cài đặt cá thể và mọi cập nhật cho tệp sudoer của máy chủ có thể được thực hiện và xóa mà không ảnh hưởng đến người dùng khác.


0

Bạn cần cung cấp cho người dùng quyền ghi, ghi nhớ các quyền trước đó bằng cách sử dụng stat /var/www.

Sau đó, bạn có thể thay đổi chúng sudo chmod 666 /var/wwwvà thay đổi chúng sau này khi cần.

Tham khảo man chmodman sudobên cạnh các hướng dẫn cấp phép tập tin khác trên internet để biết thêm ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.