我必须在我的机器上设置一个 FTP 服务器。我已经使用以下命令安装了 vsftpd:
sudo apt-get install vsftpd
Run Code Online (Sandbox Code Playgroud)
然后我编辑vsftpd.conf了位置中的配置文件/etc。该文件包含:
#Set the server to run in standalone mode
listen=YES
#Enable anonymous access
local_enable=NO
anonymous_enable=YES
#Disable write access
write_enable=NO
#Set root directory for anon connections
anon_root=/var/ftp
#Limit retrieval rate
anon_max_rate=2048000
#Enable logging user login and file transfers. /var/log/vsftpd.log
xferlog_enable=YES
#Set interface and port
listen_address=192.120.43.250
listen_port=21
Run Code Online (Sandbox Code Playgroud)
IP 地址 192.120.43.250 是我服务器的 eth0。当我运行命令时
sudo vsftpd /etc/vsftpd.conf
Run Code Online (Sandbox Code Playgroud)
我收到错误:
500 OOPS: could not bind listening IPv4 socket
Run Code Online (Sandbox Code Playgroud)
要检查端口 21 上正在运行的内容,我运行了以下命令:
sudo netstat -tulpn …Run Code Online (Sandbox Code Playgroud) 我同时设置了两个新的 CentOS 7 机器,所以配置应该是相同的,只是 IP 地址和主机名不同。
我安装了 VSFTPD 并配置了被动端口。一个盒子连接正常,没有问题,但是第二个盒子不断向我抛出这个错误:
GnuTLS error -15: An unexpected TLS packet was received.
Run Code Online (Sandbox Code Playgroud)
这是调试 FileZilla 跟踪:
Status: Connecting to 192.168.20.68:21...
Status: Connection established, waiting for welcome message...
Trace: CFtpControlSocket::OnReceive()
Response: 220 (vsFTPd 3.0.2)
Trace: CFtpControlSocket::SendNextCommand()
Command: AUTH TLS
Trace: CFtpControlSocket::OnReceive()
Response: 234 Proceed with negotiation.
Status: Initializing TLS...
Trace: CTlsSocket::Handshake()
Trace: CTlsSocket::ContinueHandshake()
Trace: CTlsSocket::OnSend()
Trace: CTlsSocket::OnRead()
Trace: CTlsSocket::ContinueHandshake()
Trace: CTlsSocket::OnRead()
Trace: CTlsSocket::ContinueHandshake()
Trace: CTlsSocket::OnRead()
Trace: CTlsSocket::ContinueHandshake()
Trace: TLS Handshake successful
Trace: Protocol: TLS1.2, Key exchange: …Run Code Online (Sandbox Code Playgroud) 我在 ubuntu 14.04 上安装了 vsftpd,当我想停止或重新启动 vsftpd 服务时显示此消息,但服务状态没有任何反应!
root@ali-lap:/home/ali# service vsftpd restart
stop: Unknown job: vsftpd
start: Unknown job: vsftpd
Run Code Online (Sandbox Code Playgroud)
我根据这篇文章清除了 vsftpd 并重新安装了它,但没有任何改变。
安装和删除日志:
root@ali-lap:/home/ali# apt-get purge --remove vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
vsftpd*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 370 kB disk space will be freed.
Do you want to continue? [Y/n]
(Reading database ... 216263 …Run Code Online (Sandbox Code Playgroud) 初学者
你好,
所以对于一个学校作业,我必须在 OpenSUSE 上设置一个 FTP 服务器(vsftp)。老师告诉我们使用 chroot 列表,但是每当我使用 chroot 列表时,所有用户都可以完全控制整个文件系统。我究竟做错了什么?
情况 包含数据的目录。该目录内有 2 个其他目录。其中一件属于赫尔曼,另一件属于弗朗茨。Franz 和 Herman 应该能够在他们自己的目录中工作,所以我将他们的主目录指向了各自的目录(/data/Franz 和 /data/Herman)。Herman 不应该在 Franz 的目录中读写,反之亦然。最后,我将目录的权利和所有权更改为如下所示:
drwxrwxr-x 15 Herman FTP 4096 May 13 15:23 Herman
drwxrwxr-x 18 Franz FTP 4096 May 13 14:48 Franz
Run Code Online (Sandbox Code Playgroud)
以下是我在vsftpd.conf文件中更改的内容。除此之外,一切都没有受到影响和默认。
write_enable = YES
local_enable = YES
chroot_local_user = YES
allow_writeable_chroot = YES
anonymous_enable = NO
listen = YES
listen_ipv6 = NO (we may do not use IPv6)
Run Code Online (Sandbox Code Playgroud)
我已经尝试chroot_list_enable=YES在 chroot_list 中取消注释并创建包含我想要的所有用户的文件。这似乎打破了事情。每当我取消对chroot_lists 的所有注释时,它都会按预期工作,但根据我的老师的说法,这是“错误的”。他并没有真正解释清楚,所以这就是我在这里问的原因!
谁能把我推向正确的方向?谢谢 …
我已经使用vsftpd并启用了匿名上传和下载设置了 FTP 服务器。我遇到的问题是,当我上传目录时,它会上传成功(我可以在服务器中看到它),但是下次我想检查该目录时,FTP客户端显示一个空目录!!
没有错误登录/var/log/vsftpd.log。该pub文件夹(匿名 ftp 用户的主文件夹)也有写权限。我测试了各种配置选项,但没有一个帮助!
我设置的最新配置选项如下:
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirlist_enable=YES
Run Code Online (Sandbox Code Playgroud)
我什至关闭了一次防火墙进行测试,但它没有改变任何东西!
用户可以通过vsftp服务器上传/删除/重命名文件,一切正常,除了他们还可以跨目录移动文件。
是否可以允许重命名文件但不允许移动它们?
例子,
/ftp/work/xls/list.xls # can be deleted/renamed but should not moved to ie. 'doc'
/ftp/work/doc/list.doc # same thing, should not be moved elsewhere
Run Code Online (Sandbox Code Playgroud) 我已经安装vsftpd在我的本地系统上。尝试使用 filezilla 连接到它时,出现以下错误:
Status: Connection established, waiting for welcome message...
Response: 500 OOPS: priv_sock_get_cmd
Error: Critical error
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud) 我在/var/ftp. 此目录的所有者和组为“ftp”,权限设置为 777。
我的vsftpd.conf文件内容:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
nopriv_user=ftpsecure
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
Run Code Online (Sandbox Code Playgroud)
SELINUX 权限是:
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
Run Code Online (Sandbox Code Playgroud)
我可以上传文件到目录,但不能通过FTP删除文件。
谁能建议我该怎么做?
我试图将用户限制到gclegal使用 chroot jail调用的特定目录。我已取消注释/etc/vsftpd.conf文件中的行
chroot_local_user=YES
Run Code Online (Sandbox Code Playgroud)
创建了一个名为 的新用户kg:
$ sudo groupadd xenomai
$ sudo useradd -d /var/www/html/gclegal -g xenomai kg
$ sudo passwd kg
Run Code Online (Sandbox Code Playgroud)
使用此配置,我可以使用kg用户通过 vsftpd 登录,但我也可以浏览回父目录并修改它们,直到/var/www/html.
如何禁用用户 ( /var/www/html/gclegal)家以外的所有操作?
我正在尝试为 vsftpd 启用日志记录,以便我可以查看上传、下载,更具体地说,是删除文件;但是,我什至无法使用全新安装的 centos 6 进行正常的日志记录。
设置:
[root@sftp01 vsftpd]# cat /etc/centos-release
CentOS release 6.9 (Final)
[root@sftp01 vsftpd]# netstat -naplt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 367/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 507/sshd
tcp 0 0 :::22 :::* LISTEN 507/sshd
[root@sftp01 ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/metalink | 12 kB 00:00
* base: mirrors.usc.edu
* epel: mirror.math.princeton.edu
* extras: repos.lax.quadranet.com …Run Code Online (Sandbox Code Playgroud)