标签: vsftpd

vsftpd - local_root=/var/www/sites/$USER 没有得到解释?

当我尝试连接到 FTP 服务器时,我得到: “500 OOPS:无法更改目录:/home/$USER/public_html”

  • 当我 echo $USER - 我得到正确的用户名
  • 似乎在我的 /etc/vsftpd.conf 中没有解释 $USER
  • 当我删除“local_root=/var/www/sites/$USER”时,我一切正常。

我正在运行 vsftpd 2.2.2 和 Ubuntu 10.04.1 LTS 版本:10.04 代号:lucid

linux ftp settings vsftpd

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

vsftpd - PAM - MySQL 和 pam_mkhomedir 创建目录

我已经成功地将 vsftpd 与通过 PAM 连接到我的 mysql 数据库的虚拟用户一起使用。现在我想通过成功的 vsftpd 连接自动创建用户目录。

这是 /etc/pam.d/vsftpd 配置:

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3
account required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3
session required pam_mkhomedir.so skel=/home/skel/ umask=0022 debug
Run Code Online (Sandbox Code Playgroud)

现在添加 pam_mkhomedir 只是表明它无法创建目录,任何日志中都没有其他消息。所以它显然不适用。还有什么我需要的吗?

我的/etc/vsftpd/vsftpd.conf:

# No ANONYMOUS users allowed
anonymous_enable=NO
# Allow 'local' users with WRITE permissions (0755)
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=YES

# define a unique user on your system …
Run Code Online (Sandbox Code Playgroud)

mysql permissions ftp pam vsftpd

11
推荐指数
1
解决办法
2612
查看次数

如何为 vsftpd 用户的上传设置默认组?(Ubuntu 10.04)

如何为 vsftpd 用户的上传设置默认组?

当我上传文件时,文件组设置为用户名...如何让它自动设置为特定组?

ubuntu permissions ftp groups vsftpd

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

vsftpd 不接受用 MD5 加密的密码

我正在使用 vsftpd 设置服务器以让虚拟用户访问他们的空间。现在它可以正常工作,但只能使用 CRYPT 密码。所以

sudo htpasswd -c /etc/vsftpd/ftpd.passwd phpmyadmin
Run Code Online (Sandbox Code Playgroud)

不允许我登录,但是

sudo htpasswd -c -d /etc/vsftpd/ftpd.passwd phpmyadmin
Run Code Online (Sandbox Code Playgroud)

将要。

/etc/vsftpd.conf

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/vhosts/$USER.universe.local
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/vsftpd

auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd crypt=2
account required pam_permit.so crypt=2
Run Code Online (Sandbox Code Playgroud)

我从源代码和 PHP 安装了 apache2.4.3。

我尝试过的事情:

  • 谷歌很多
  • 设置 crypt=2
  • 问朋友们
  • 使用 SHA(也不起作用)
  • 更新 htpasswd 和 vsftpd

我已经为此苦苦挣扎了一个星期,我希望你们能进一步帮助我

ftp pam md5 vsftpd

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

允许匿名上传 Vsftpd?

我需要 Linux (CentOS 5.5) 上的基本 FTP 服务器,没有任何安全措施,因为服务器和客户端位于测试 LAN 上,未连接到网络的其余部分,该网络本身在 NAT 防火墙后面使用不可路由的 IP没有对 FTP 的传入访问。

有些人推荐Vsftpd 而不是PureFTPdProFTPd。无论我尝试什么,我都无法允许匿名用户(即以“ftp”或“匿名”身份登录并输入任何字符串作为密码)上传文件:

# yum install vsftpd

# mkdir /var/ftp/pub/upload

# cat vsftpd.conf
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
xferlog_file=YES

#anonymous users are restricted (chrooted) to anon_root
#directory was created by root, hence owned by root.root
anon_root=/var/ftp/pub/incoming
anon_upload_enable=YES
anon_mkdir_write_enable=YES

#chroot_local_user=NO
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
chown_uploads=YES
Run Code Online (Sandbox Code Playgroud)

当我从客户端登录时,这是我得到的:

500 OOPS:无法更改目录:/var/ftp/pub/incoming

我也试过“#chmod 777 /var/ftp/incoming/”,但得到同样的错误。

有人知道如何以最低安全性配置 Vsftpd 吗?

谢谢你。


编辑:SELinux 被禁用,这里是文件权限:

# cat /etc/sysconfig/selinux
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0

# sestatus …
Run Code Online (Sandbox Code Playgroud)

linux ftp upload anonymous vsftpd

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

VSFTPD 不允许使用虚拟用户上传

我正在尝试在运行 Ubuntu 12.04 的服务器上使用虚拟用户设置 VSFTPD。我已将服务器配置为允许虚拟用户登录,但无法让它允许上传。我的 vsftpd.conf 如下:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

chroot_local_user=YES
virtual_use_local_privs=YES
guest_enable=YES
guest_username=virtual
user_sub_token=$USER
local_root=/var/www/$USER
hide_ids=YES

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/vsftpd 包含:

auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd crypt=hash
account required pam_permit.so crypt=hash
Run Code Online (Sandbox Code Playgroud)

我设置了两个虚拟用户,其中一个与本地用户同名。他们每个人在 /var/www/ 中都有一个由“虚拟”拥有的目录。据我了解,当虚拟用户以这种方式登录时,他们将在系统中显示为虚拟用户。使用此配置用户可以登录,但不能上传文件。中给出的错误/var/log/vsftpd.log是:

Tue Nov 20 19:49:00 2012 [pid 2] CONNECT: Client "96.233.116.53"
Tue Nov 20 19:49:07 2012 [pid 1] [zac] OK LOGIN: Client "96.233.116.53"
Tue Nov 20 19:49:11 2012 [pid 2] CONNECT: Client "96.233.116.53"
Tue Nov 20 19:49:11 …
Run Code Online (Sandbox Code Playgroud)

virtualization ubuntu ftp vsftpd

8
推荐指数
1
解决办法
3756
查看次数

vsftpd:限制连接到一组 IP 地址

是否可以将 vsftpd 设置为仅接受来自特定 IP 地址集的连接?

我已经查看了 /etc/vsftpd.conf 的选项,但没有任何提示。说明书也没有。

我的服务器操作系统:红帽企业 Linux 服务器 6.5 版(圣地亚哥)

ftp vsftpd

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

“500 OOPS:vsftpd:拒绝在 chroot() 内使用可写根运行” - 在 Debian 上登录失败

我安装了 vsFTPd 以在Debian 7.3 (Wheezy)上运行 FTP 服务器。我检查了 vsFTPd 版本是2.3.5,我像这样配置它:

listen=YES
local_enable=YES
write_enable=YES
chroot_local_user=YES
pasv_min_port=15000
pasv_max_port=15200
allow_writeable_chroot=YES
Run Code Online (Sandbox Code Playgroud)

我按照这些文章来解决这个问题:

和谷歌和论坛上的许多其他人一样,但我的问题没有解决。

注意:我已经在Ubuntu 12.04(精确穿山甲)上解决了这个问题,但该解决方案在 Debian 7.3 上不起作用。

我真的搞混了?!

linux ftp chroot debian-wheezy vsftpd

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

CentOS 7 - 通过 VSFTPD 创建的目录不继承 SELinux 上下文

我们公司有一个装有 CentOS 7 的网络服务器,我们的客户通过 FTP (vsftpd) 管理他们的网站。SELinux 处于强制模式。

问题是通过 VSFTPD 创建/上传的数据没有继承适当的 SELinux 上下文。让我解释。

例如,对于 WordPress 站点,服务器开箱即用,已经有几个可以使用 看到的规则semanage fcontext -l |grep '/var/www',它们是:

/var/www/html(/.*)?/uploads(/.*)?                  all files          system_u:object_r:httpd_sys_rw_content_t:s0
/var/www/html(/.*)?/wp-content(/.*)?               all files          system_u:object_r:httpd_sys_rw_content_t:s0
Run Code Online (Sandbox Code Playgroud)

因此,当我/var/www/html/通过 SSH从另一台服务器复制一个 WordPress 站点时,文件夹wp-content/wp-content/uploads/具有适当的httpd_sys_rw_content_t安全上下文。但是,当通过 FTP 创建这些文件夹时,它们获得的上下文是httpd_sys_content_t(no rw )。这意味着即使我们的客户向 apache 用户/组授予写权限,我们的客户上传到服务器的站点也无法写入这些目录,因此 WordPress 管理员不起作用。因此,当他们上传网站时,他们必须请求我们的支持来解决这个问题,这对所有相关人员来说都是浪费时间。

假设客户将他们的网站上传到httpdocs,如果我通过 SSHmv httpdocs/ httpdocs.2/ && cp -pr httpdocs.2/ httpdocs/ && rm httpdocs.2/ -fr来解决问题,那么数据没有任何问题。

我也可以restorecon -Rv httpdocs/解决问题。

所以,问题是:如何让通过 VSFTPD 创建/上传的目录继承正确的 SELinux 上下文,就像通过 …

linux selinux centos vsftpd

8
推荐指数
1
解决办法
714
查看次数

设置 vsftpd,挂在 list 命令上

我安装了 vsftpd 并配置了它。当我尝试使用 Transmit 连接到 ftp 服务器时,它设法连接但挂在列表“/”上

然后,我收到一条消息:无法检索“/”的文件列表。控制连接超时。

跟我的iptables有关系吗?我的规则如下所列:

*filter


#  Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT


#  Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


#  Allows all outbound traffic
#  You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT


# Allows HTTP and HTTPS connections …
Run Code Online (Sandbox Code Playgroud)

ftp ubuntu-10.04 vsftpd

7
推荐指数
2
解决办法
7842
查看次数