标签: 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万
查看次数

有什么好工具可以扫描 FTP 目录并直观地显示磁盘使用情况(如 KDirStat/WinDirStat)?

有没有一种工具可以扫描 FTP 目录并构建磁盘使用情况的可视化表示?我在 Windows 上运行,因此我更喜欢该工具,但 *NIX 工具也很有用。我正在沿着 WinDirStat、KDirStat 和 TreeSize 的思路思考。起初我以为 WinDirStat 可能能够扫描 FTP 目录,但事实并非如此。自由和开源软件是一个优点,但不是一个要求(我不反对为好的软件付费)。

我还想获得一份关于存在多少种类型的文件、最大的文件等的简单报告。与 *DirStat 中的简单文件类型报告非常相似。

ftp

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

如何将 ftp 用户“监禁”在其主目录(proftpd)内?

我有一个名为“ftp3”的用户,属于“ftpusers-temp”组。

该用户的主页是 home/FTP-shared/temp

在 proftpd.conf 中我有以下 2 个指令:

DefaultRoot /home/FTP-shared
DefaultRoot ~ ftpusers-temp
Run Code Online (Sandbox Code Playgroud)

我期望用户 ftp3 只能看到“temp”目录;但发生的情况是,登录时默认选择“temp”目录,但用户可以返回并访问 ftp 服务器的根目录。

用户“ftp3”不应该被囚禁在“/home/FTP-shared/temp”中,并且无法访问“/home/FTP-shared”吗?

security linux ftp users proftpd

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

lftp,设置忽略时间戳?

我使用lftp 将服务器上的文件镜像到PC。对我来说,问题是当我将一批与服务器上的文件完全相同的文件放在PC上时,所有文件的镜像都会开始。可能是由于时间戳不同?这是一个问题,因为镜像仅旨在更改我可能更改的一些文件,而不是全部(大量文件)。

我想要的是 lftp: 1. 使用服务器上的新文件更新 PC 2. 删除 PC 上不再位于服务器上的任何文件 3. (问题就在这里)存在于服务器上的文件PC 和服务器,仅当文件大小存在差异时才应在 PC 上更新(忽略任何潜在的时间戳差异)命令现在如下所示:

LCD="/home/administrator/files"
RCD=""
lftp -c "ser ftp:list-options -a;
open ftp://$username:$pw@$host;
lcd $LCD;
cd $RCD;
mirror --delete"
Run Code Online (Sandbox Code Playgroud)

我应该添加/更改什么?提前致谢。/托比

linux ubuntu ftp mirroring

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

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
查看次数

为什么 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万
查看次数

标签 统计

ftp ×10

vsftpd ×3

linux ×2

permissions ×2

firewall ×1

ftps ×1

haproxy ×1

ip ×1

mirroring ×1

nat ×1

proftpd ×1

root ×1

security ×1

selinux ×1

ssh ×1

ubuntu ×1

users ×1

windows ×1

winscp ×1