搭建一个ftp服务器,我使用ubuntu 10.04操作系统,下载vsftpdy源代码,

进行了编译,安装,然后按照INSTALL文件,创建了用户等操作。

因为时间比较紧,我采用匿名用户,进行文件的上传测试。修改了/etc/vsftpd.conf文件,

将默认注释不让匿名用户上传文件的注释去掉,然后保存,然后杀死vsftpd进程,然后重新运行

$ sudo vsftpd &

进行ftp服务器的启动。

使用一个客户端,可以正常的连接,但是当上传文件时,总是报553 Could not create file错误信息。

我也是按照网上的做法,对/var/ftp目录进行权限设置,如果设置为chmod -R 777 /var/ftp

还会导致ftp服务器不能启动,经过摸索,终于找到了解决的方法。

首先在ftp的目录中创建一个目录,然后设置权限为777

$ sudo mkdir /var/ftp/write

$sudo chmod -R 777 /var/ftp/write

然后修改vsftp的配置文件/etc/vsftpd.conf文件

在最后添加上

local_root=/var/ftp

保存,然后杀死vsftpd进程,然后重启vsftpd服务器程序。

试试看,将文件上传到write目录,这个时候可以正常的上传文件了。

加下来我们再来看一篇其他网友的解决方法:

首先,要看你是用什么用户上传了,如果是普通用户的话:

1.要确定目标文件夹有没有读写的权限,(当然也要有执行的权限,不然不能打开文件夹)

2如果都有了,那就是selinux限制了,把selinux关掉就可以了。(setenforce 0)

如果是anonymous用户的话:

和上面一样,关掉selinux,再给予相应的权限就可以解决

我这里要说一种不关掉selinux的解决方法

先运行getsebool -a | grep ftp (查看selinux里有哪些关于ftp的)

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

httpd_enable_ftp_server --> off

sftpd_anon_write --> off

sftpd_enable_homedirs --> off

sftpd_full_access --> off

sftpd_write_ssh_home --> off

tftp_anon_write --> off

接下来我们allow_ftpd_anon_write allow_ftpd_full_access 这两个ON掉

setsebool -P allow_ftpd_anon_write on

setsebool -P allow_ftpd_full_access on

这样子就OK了,如果出现

500 OOPS: vsftpd: refusing to run with writable anonymous root

500 OOPS: priv_sock_get_cmd

就是你把VSFTPD的根目录给了777的权限了,把它改成755,然后再在这个目录里建文件夹,可以给777的权限!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。