vsftpd的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftpd的问题相关的知识,希望对你有一定的参考价值。
CentOS
安装后,配置anonymous_enable=NO
系统内置用户(比如root等)禁止访问。
然后新建用户(test),测试可以连上。
问题如下:
1、目录不可写。我的vsftpd.conf已经写了write_enable=YES,/var/ftp目录也已经chmod 777过了
登录后,可以ls到pub目录。但是put的时候就提示vsftpd 550 Permission denied
2、在chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list,并把test加到chroot_list里后,再登录提示
“500 OOPS: cannot change directory:/var/ftp
500 OOPS: child died
远程主机关闭连接。”
3、在未配置chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list之前。
如果打开防火墙。。就连不上,ftp x.x.x.x 毫无反应,我开的是被动链接,防火墙加上
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 65000:65100 -j ACCEPT
已解决:
一句setsebool -P ftp_home_dir 1就搞定了 ^_^
SELinux真是害人不浅
感谢snxk5757 的大力帮助。。虽然也没找到原因。。。。
1
首先vsftpd用service启动,如果手动启动记得用root。
2
vi /etc/vsftpd/vsftpd.conf;
修改如下内容:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
local_enable=YES
vi /etc/vsftpd/chroot_list;
添加你要的用户名例如:
test
这时你
useradd test -d /var/ftp。
passwd test
设置密码后重启vsftpd就可以用了
3
防火墙我一般都直接关掉了,还真没有在字符界面下配置过。
图形界面下就直接给21端口(如果你改了ftp端口这里也跟着改)设置一个例外就好。 参考技术B 用户没有权限 ,不在同一个组里面,要把test 这个用户属性和组都改一下追问
这个目录已经777了,哪个组还能没有权限呢?改成哪个组呢?
参考技术C anon_upload_enable=YESanon_mkdir_write_enable=YES
anon_other_write_enable=YES
添加以上3行代码,
1.允许匿名上传文件也就是写文件
2.允许匿名用户创建文件夹
3.允许匿名用户的其他权限追问
为啥要允许匿名上传啊。。我就是要指定用户使用的
追答那你把test加入到vsftp组里,就可以了
本回答被提问者采纳vsftpd的配置与使用
参考网站:
https://zhidao.baidu.com/question/175795731.html (问题553)
http://yuanbin.blog.51cto.com/363003/108262/ (配置文件)
vsftpd的配置与使用
- ftp服务端配置
- 安装
- sudo yum install vsftpd
- vsftpd配置文件
- sudo vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
- 文件夹权限
- $sudo mkdir /var/ftp/upload
- $sudo chmod -R 777 /var/ftp/upload
出现问题553 could not create file,不要修改文件的所有者和分组
- #sudo chown haoyou upload
- #sudo chgro root upload
- 全局系统配置
1.设置selinux
- vi /etc/sysconfig/selinux
将其中的SELINUX=enforcing改为SELINUX=disabled
2. 查看ftpd_disable_trans ftp_home_dir allow_ftpd_full_access 是否为on。
- getsebool -a|grep 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
tftp_anon_write --> off
3. 如果不是则使用
- setsebool allow_sftpd_full_access on
- #setsebool ftpd_disable_trans on
- setsebool ftp_home_dir on
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
- 问题:匿名用户ftp和anonymous上传下载问题
anonymous用户上传的文件,ftp用户不能下载
文件上传掩码的问题。
默认为anon_umask=077,上传后文件权限为-rwx------,同组其他用户没有权限。
-rwxrwxrwx 1 14 50 7931279360 Dec 19 08:53 R2016a_glnxa64.iso
drwx------ 2 14 50 4096 Dec 19 10:11 crack
-rwxrwxrwx 1 14 50 66910156 Dec 19 03:06 cudnn-7.0-linux-x64-v3.0.8-prod.solitairetheme8
-rw------- 1 14 50 36 Dec 19 09:52 testftp.txt
-rwxrwxrwx 1 14 50 36 Dec 19 09:48 testftp2.txt
-rw------- 1 14 50 36 Dec 19 09:53 testftp3.txt
修改配置文件中anon_umask=000,则上传文件后权限为-rwxrwxrwx,同组ftp用户也有权限。
- Sudo vi /etc/vsftpd/vsftpd.conf
- anon_umask=000
- ftp客户端使用
- 连接
- OR ftp>open 10.67.0.81
- User (10.67.0.81:(none)): ftp
- Password:空
- 目录查看
- ls
- dir
- !ls
- !dir
- cd mkdir rename …
- lcd
- 上传下载
- put ***
- mput *.txt
- get ***
- mget *.txt
以上是关于vsftpd的问题的主要内容,如果未能解决你的问题,请参考以下文章