我有一个两部分的问题。
systemctl 脚本中@ 符号的意义是什么?
如何在 Fedora 16 中启动 vsftpd(在某些教程中,它的名称中似乎包含一个 @)?我已经完成了教程所说的一切,但它仍然给我一个错误。 http://blog.tuxforge.com/fedora-16-vsftpd/
我所做的
systemctl enable vsftpd@.service
Run Code Online (Sandbox Code Playgroud)
我所看到的
Failed to issue method call: No such file or directory
Run Code Online (Sandbox Code Playgroud)
(我也用绝对路径试过,我检查后没有这样的文件。真正的文件不包含@符号,位于/lib/systemd/system/目录下。我也试过使用和不使用@ 符号启动和启用,启用有效,但启动没有。我意识到这篇文章现在已经过时,但我似乎仍然无法启动服务。当我尝试连接时,它不允许我)
编辑:我让服务以某种方式启动,但我仍然想知道 @ 符号在某些服务名称中的含义。此外,我仍然收到登录错误编号 #500 无法更改目录 [...],这是什么意思?
要开始它,我只是输入
sudo systemctl enable vsftpd.service
sudo systemctl start vsftpd.service (the problem was I was using an absolute path for this I think)
Run Code Online (Sandbox Code Playgroud) 当本地用户通过 vsftp 将他们的文件上传到服务器时,我在文件权限方面遇到了一些问题。
我希望文件具有所有 766 权限。经过大量的反复试验,我发现我必须设置如下设置:
local_umask=011
file_open_mode=0777
Run Code Online (Sandbox Code Playgroud)
但我不知道为什么这会导致 766 权限。谁能解释一下?
我有一个问题vsftpd。当我通过 FileZilla 连接到我的 FTP 服务器时,出现错误:
500 OOPS:prctl PR_SET_SECCOMP 失败
错误:严重错误
错误:无法连接到服务器
我也尝试通过我的文件管理器进行连接,但它似乎不起作用。我可以毫无问题地连接到所有其他服务器,因此我确定这是与服务器相关的问题。
我在 VPSDime VPS 上运行 Ubuntu 14.04。vsftpd版本3.0.2。更新或更改配置后没有发生错误,但是当我在网站上工作时开始发生错误;在我收到错误之前它工作正常。
我已经重新启动,重新启动vsftpd并更新了我的系统。有任何想法吗?
我想将 vsftpd 与虚拟用户和 pam_pwdfile.so 一起使用。我安装了 vsftpd 并通过 htpasswd 添加了两个用户(ramon 和 Dragon)到我的文件 /etc/vsftpd.passwd。/etc/pam.d/vsftpd 配置为使用此文件。
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_pwdfile.so pwdfile /etc/vsftpd.passwd
account required pam_permit.so
@include common-account
@include common-session
Run Code Online (Sandbox Code Playgroud)
用户“ramon”也可以在/etc/passwd. 使用用户“ramon”登录到 ftp 可以正常工作。但是使用“dragon”登录不会:/结果总是
Login failed: 530 Login incorrect.
Run Code Online (Sandbox Code Playgroud)
由于我可能犯了一个错误,因此我尝试了/usr/share/doc/vsftpd/examples/VIRTUAL_USERS/README. 仍然没有运气。我可以使用用户“ramon”登录,但不能使用用户“dragon”登录。
有任何想法吗?
我正在运行 CentOS 6.7,并且正在尝试使用 vsftpd 成功建立 FTP 连接。请指出我正确的方向!
Status: Connection established, waiting for welcome message...
Response: 220 (vsFTPd 2.2.2)
Command: AUTH TLS
Response: 234 Proceed with negotiation.
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Command: USER testuser
Response: 530 Permission denied.
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)
我尝试检查/var/logs/messages,/var/logs/xferlog但日志是空的。我还检查了home本地用户的目录权限,并确保该用户列在用户列表中而不是在拒绝列表中
配置:
local_enable=YES
pasv_address=108.41.178.133
pasv_min_port=40000
pasv_max_port=40010
pasv_promiscuous=YES
pasv_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES …Run Code Online (Sandbox Code Playgroud) 我已经用 vsftpd 安装了 ubuntu 12.04。我需要创建只能访问像 /var/www/nameDirectory 这样的目录的 FTP 用户。我认为这是一个非常基本的功能,但似乎不是我尝试使用的,在 vsftpd.conf 中
chroot_local_user=YES
Run Code Online (Sandbox Code Playgroud)
但是(使用 adduser 创建用户 'test')'test' 仍然能够浏览文件系统。我设法将“test”(使用 usermod)的根目录更改为 /var/www/nameDirectory 但他仍然能够返回到 /var 或 /。
然后我试过了
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Run Code Online (Sandbox Code Playgroud)
创建列表文件并将“测试”放入其中。也没有财运。
最后我什至试图遵循这个https://askubuntu.com/questions/575523/how-to-setup-virtual-users-for-vsftpd-with-access-to-a-specific-sub-directory 但没有不行。
我错过了一些东西。
问题是在 FileZilla 中,我可以使用用户“test”访问,该用户位于正确的目录中,但有权浏览所有内容。
这是我的 vsftpd.conf
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/private/vsftpd.pem
Run Code Online (Sandbox Code Playgroud)
编辑:只是为了玩,我试图在 /etc/vsftpd.conf 中将 local_enable 设置为 NO 或 write_enable 为 NO 但没有效果(仍然可以通过 FTP 访问,仍然可以使用用户“test”写入)。也许这是错误的conf文件?或者其他一些软件正在为我提供 FTP 服务?我怎么知道发生了什么?
编辑 2:停止 vsftpd(服务 vsftpd 停止)并且仍然能够连接到 FTP。我怎么知道是什么给了我 FTP 访问权限?
在 VSFTPD 中,pasv_promiscuous 的默认值为“NO”,手册页指出:
仅当您知道自己在做什么时才启用!唯一合法的用途是在某种形式的安全隧道方案中,或者可能是为了促进 FXP 支持。
虽然我们从来没有遇到过这个问题,但我们现在有一个客户显然需要将此设置为“是”,以便他们可以通过他们的代理进行连接。我在网上看到许多建议将其设置为 YES 以解决我们遇到的问题,但我找不到有关此设置的真正风险的任何详细信息。
我一直在试图弄清楚这是在防止什么,我能想到的最好的方法是它可以防止有人在登录后和打开数据连接之前试图劫持连接。似乎(虽然我不确定)攻击者必须知道用于被动连接的端口并反复尝试访问这些端口,以期在适当的时候抓住一个打开的端口,但也许比这更容易?假设这样的攻击成功了,那会给攻击者带来什么?我假设被劫持的用户会话具有任何访问权限。
有没有人对 pasv_promiscuous=YES 的现实安全风险有一个很好的解释?
我正在尝试过滤 FTP 目录的内容,以查看是否有任何文件包含我想要查找的某个短语。
我一直在寻找几个小时是否有任何方法可以做到这一点,但根本没有运气!
我怎样才能做到这一点?
正如标题中所说,我无法将我的 Windows 10 主机连接到 VirtualBox 来宾端(Ubuntu 18.04)上的 FTP 服务器。在来宾端,vsftpd 服务器工作正常,我可以毫无问题地连接。
所以我尝试将关联的端口转发到主机(NAT)并尝试通过 FileZilla 连接到服务器。它确实登录了,但总是无法检索目录列表。我尝试停用防火墙,授予对该文件夹的所有访问权限,但它没有改变任何内容。
我读到这可能是被动模式的问题:
Problems with FTP file access to VirtualBox guest running Windows 2008 Server R2 x64
所以我添加了以下几行到我的vsftpd.conf:
pasv_enable=YES
pasv_min_port=8020
pasv_max_port=8020
port_enable=YES
pasv_address=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
我转发了端口 8020,但现在在 FileZilla 上出现以下错误:
无法建立数据连接:WSAEADDRNOTAVAIL - 无法分配请求的地址
完整的 FileZilla 响应:
Status: Connecting to 127.0.0.1:2100...
Status: Connection established, waiting for welcome message...
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/home/cakephp" is the current …Run Code Online (Sandbox Code Playgroud) vsftpd ×9
ftp ×6
ubuntu ×2
centos-6.7 ×1
chroot ×1
pam ×1
permissions ×1
security ×1
systemd ×1
umask ×1
virtualbox ×1