标签: ftp

ftp上传/如何“自动”更改权限/所有权?

我有一个正在运行的 vsftp 服务器。这就是我想做的:

2 名开发人员可以通过 ftp 客户端访问 Web 目录。他们编写他们想要的文件。然后他们刷新页面 (F5),网络服务器为他们提供新页面。

这就是我所做的:

  1. 创建一个组(将其命名为
    所有访问组
    )。
  2. 创造
    用户1
    属于该组并且
    用户2
    也属于这个组
  3. 创建一个目录
    /var/www/新闻网站
  4. chgrp allaccessgroup /var/www/newsite
  5. chown apache /var/www/newsite
  6. chmod 570 /var/www/newsite

这样:apache可以读取,并且读取php文件,并且所有user1和user2都被授予执行他们想做的操作的权限。

问题是我希望 user1 和 user2 上传他们的文件。上传文件时,文件权限为 allaccessgroup / user1 或 allaccessgroup / user2,我想要权限 allaccessgroup / apache。

我正在寻找一种在文件上传后自动更改所有权的方法。我读过一些这样的东西:创建一个 php 文件,然后在上传完成后调用:

$complete = $complete.exec("ssh root@host -i /path/to/pulic/key chmod 0700 /Users/".$shortname."/Private/\n");

我不喜欢调用“exec”,这意味着授予“exec”对 php 的访问权限...欢迎任何其他想法!

顺便一提 :

我一直在寻找 vsftp 配置文件:

chown_uploads=YES chown_username=apache

但这适用于上传的匿名文件由不同用户拥有,而不是特定用户

任何其他想法欢迎!

谢谢 !

permissions ftp vsftpd

5
推荐指数
1
解决办法
3万
查看次数

我如何告诉 SELinux 授予 vsftpd 对特定目录的写访问权限?

我已经在 Fedora 12 服务器上设置了 vsftpd,并且希望进行以下配置。每个用户都应该有权访问:

  • 他的主目录(/home/USER);
  • 我为他创建的 Web 目录 (/web/USER)。

为了实现这一点,我首先将 vsftpd 配置为将每个用户 chroot 到他的主目录。然后,我使用/web/USER正确的权限创建并使用,mount --bind /web/USER /home/USER/Web以便用户可以/web/USER通过/home/USER/Web.

我还打开了 SELinux 布尔值ftp_home_dir,以便允许 vsftpd 在用户的主目录中写入。

这工作得很好,除了当用户尝试上传或重命名 中的文件时/home/USER/Web,SELinux 会禁止它,因为更改也必须对 进行/web/USER,并且 SELinux 不授予 vsftpd 向该目录写入任何内容的权限。

allow_ftpd_full_access我知道我可以通过打开 SELinux 布尔值或来解决问题ftpd_disable_trans。我还尝试使用audit2allow来生成策略,但它的作用是生成一个策略,为ftpd提供对类型目录的写访问权限public_content_t;如果我理解正确的话,这相当于打开allow_ftpd_full_access

我想知道是否可以配置 SELinux 以允许对特定目录/web/USER及其内容进行 FTP 写访问,而不是完全禁用 SELinux 的 FTP 控制。

permissions selinux ftp vsftpd

5
推荐指数
1
解决办法
2万
查看次数

Filezilla 客户端无法从 Filezilla 服务器获取目录列表 (Windows)

我已在 FileZilla 服务器中设置了自签名证书,并启用了基于 SSL/TPS 的 FTP。当我从客户端 FileZilla 连接时,我能够进行身份验证,但无法获取目录列表:

Status: Connecting to MY_SERVER_IP:21...
Status: Connection established, waiting for welcome message...
Response:   220-FileZilla Server version 0.9.39 beta
Response:   220-written by Tim Kosse (Tim.Kosse@gmx.de)
Response:   220 Please visit http://sourceforge.net/projects/filezilla/
Command:    AUTH TLS
Response:   234 Using authentication type TLS
Status: Initializing TLS...
Status: Verifying certificate...
Command:    USER MYUSER
Status: TLS/SSL connection established.
Response:   331 Password required for MYUSER
Command:    PASS ********
Response:   230 Logged on
Command:    PBSZ 0
Response:   200 PBSZ=0
Command:    PROT P …
Run Code Online (Sandbox Code Playgroud)

windows firewall ftp ftps

5
推荐指数
1
解决办法
3万
查看次数

新 Sudo Root 用户的 SFTP 访问受到限制

因此,为了稍微保护我的服务器,我创建了一个具有 su - root 访问权限的新用户并拒绝 root 登录。现在我无法使用该用户通过 Filezilla 对我的服务器上的任何文件进行 SFTP。这些是我采取的步骤:

  1. 创建新用户,新通行证,通过 SSH 连接到服务器,检查它,检查我是否可以将用户切换到 root(一切顺利)
  2. /etc/ssh/sshd_config使用Filezilla SFTPPermitRootLogin yes进行编辑PermitRootLogin no
  3. 重新启动 SSHD 服务。
  4. 再次仔细检查以确保新用户具有通过 SSH 的 root 访问权限。一切都很好。

现在,不幸的是,当使用新用户/密码通过 Filezilla 进行 SFTP 时,我可以访问和查看服务器中的所有目录/文件,但无法打开/读取/编辑它们。

我是否需要以 root 用户身份更改权限设置,以便新用户能够执行此操作?我有没有搬起石头砸自己的脚?

编辑:好的,root 被 chmod 了文件 777,这允许我以新用户身份查看/编辑,但是有没有办法简单地向用户授予 SFTP 的所有这些权限,而不是公众/任何人别的?

ssh root ftp

5
推荐指数
1
解决办法
6491
查看次数

通过 HAProxy 进行 FTP

我有一台机器,它是主机,并且安装了 HAProxy 并且可以工作。然后我有一个来宾 KVM 虚拟机在具有 IP 的主机内运行192.168.122.152。我使用 VSFTPD 在来宾计算机上安装了 FTP 服务器。

从主机上,如果我尝试该命令$ ftp -p 192.168.122.152,工作正常,并且我可以连接到来宾 FTP。我需要指出的是,此 FTP 配置为被动,但被动和主动连接都可以从主机进行工作。

/etc/vsftpd.conf这是来宾中的部分摘录:

# Passive mode
connect_from_port_20=NO
tcp_wrappers=YES
listen_address=192.168.122.152
pasv_enable=YES
pasv_promiscuous=NO
port_enable=YES
port_promiscuous=NO
pasv_max_port=10000
pasv_min_port=10250
Run Code Online (Sandbox Code Playgroud)

现在是时候让它可以从外部访问了,所以我/etc/haproxy/haproxy.cfg这样配置:

listen FTP_Default *:21
  server ftp01 192.168.122.152 check port 21 inter 10s rise 1 fall 2

listen FTP_Range *:10000-10250
  server ftp01 192.168.122.152 check port 21 inter 10s rise 1 fall 2
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试从互联网上的其他计算机进行连接$ ftp -p $PUBLICIP,它只会响应:Connected to <PUBLICIP>,但不会要求输入登录名和密码。

HAProxy …

ftp haproxy

5
推荐指数
1
解决办法
3万
查看次数

可以使用winscp连接到服务器,但无法使用filezilla连接

我无法使用 filezilla 连接到服务器,但使用 winscp 可以连接。filezilla和winscp都使用端口22进行连接。为什么filezilla无法连接到服务器?

ftp winscp

5
推荐指数
1
解决办法
6457
查看次数

我如何使用 busybox 和 ftpd 来访问我的嵌入式系统

我有一个支持busybox 的嵌入式系统。我正在尝试运行 FTP 服务器,以便我可以编辑文件并将数据上传到我的嵌入式系统。但是当我跑

busybox ftpd -w / 
Run Code Online (Sandbox Code Playgroud)

它告诉我我需要使用 inetd 并将其放入 conf。但出于多种原因,我不想这样做。当我尝试在 busybox 链接页面中给出的 tcpvd 时,我得到了未定义的命令。有什么建议?

linux ftp busybox

5
推荐指数
1
解决办法
2万
查看次数

为什么 vsftpd(防火墙后面)返回 pasv 地址的内部 IP 地址?

我在另一个 Debian 防火墙后面的 Debian 服务器上使用 vsftpd。natting 是正确的,我可以从外部连接到 ftp 服务器。但是,当客户端发出PASV命令时,ftp 服务器会返回其内部 IP (192.168.0.19)。

我没有pasv_address在conf文件中设置指令,因此“地址是从传入的连接套接字中获取的”(从手册中复制)。在我看来,当外部客户端发出时PASV,应该返回防火墙的外部IP地址,而当内部客户端连接时,应该返回内部FTP服务器的IP。

当我将pasv_address指令设置为防火墙的外部 IP 时,一切都在外部正常工作,但随后在内部中断。当我将其设置为内部 IP 地址或注释掉 时pasv_address,内部客户端可以工作,但外部客户端则不能。

有人有任何见解吗?

编辑1:这是服务器端日志文件:

Thu Sep  7 10:36:15 2017 [pid 9093] FTP command: Client "x.x.x.x", "USER yyy"
Thu Sep  7 10:36:15 2017 [pid 9093] [yyy] FTP response: Client "x.x.x.x", "331 Please specify the password."
Thu Sep  7 10:36:15 2017 [pid 9093] [yyy] FTP command: Client "x.x.x.x", "PASS <password>"
Thu Sep …
Run Code Online (Sandbox Code Playgroud)

nat ip ftp vsftpd

5
推荐指数
1
解决办法
1万
查看次数

530 为多个站点设置 IIS 10 时需要有效的主机名

我已使用此处找到的说明将 IIS 配置为具有多个 FTP 站点:https : //docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/using-ftp-virtual-host -names-in-iis-7

请参阅我在下面结束的配置。

在 IIS 中,我已经配置了基本身份验证并使用用户 mysite_ftp 进行“连接为”,在测试设置时,我在身份验证和授权上都得到绿色复选标记。

IIS 设置: 在此处输入图片说明

当我使用 Filezilla 尝试连接时,我得到以下日志:

尝试使用 VPS 主机名:h2746286.stratoserver.net

Status: Resolving address of h2746286.stratoserver.net
Status: Connecting to 85.214.200.30:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Command:    USER tv_ftp
Response:   331 Valid hostname is expected.
Command:    PASS ***********
Response:   503 Login with USER first.
Error:  Critical error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)

尝试使用主机名:www.telefonievergelijken.nl

Status: Resolving address of …
Run Code Online (Sandbox Code Playgroud)

iis ftp windows-server-2016

5
推荐指数
2
解决办法
2万
查看次数

通过 SSH 的 Windows FTP

我们有相当多的脚本用于使用提供的 Windows 在 Internet 上与供应商上传和下载文件ftp.exe。这是通过 SideWinder 代理的,并通过 FTP 发送给供应商,但他们支持 SFTP。

我们利用ftp -s:filenamewhich指定一个包含 FTP 命令的文本文件;命令将在 FTP 启动后自动运行。

ftp -n -s:dir\filename.ftp proxy.example.com
Run Code Online (Sandbox Code Playgroud)

我们想要做的是在提供的 Windows 上建立隧道,ssh.exe以便我们可以消除 SideWinder 代理并继续使用现有filename文件进行 FTP 命令。

这是否可以使用提供的 Windowsssh.exe以及ftp.exe配置是什么?

我知道有免费的 SFTP 程序。我们正在尝试通过对现有系统进行最少的更改来实现这一目标。希望它像 FTP 连接和操作之前脚本中的 SSH 连接一样简单。

windows ssh ftp sftp

5
推荐指数
2
解决办法
878
查看次数

标签 统计

ftp ×10

vsftpd ×3

permissions ×2

ssh ×2

windows ×2

busybox ×1

firewall ×1

ftps ×1

haproxy ×1

iis ×1

ip ×1

linux ×1

nat ×1

root ×1

selinux ×1

sftp ×1

windows-server-2016 ×1

winscp ×1