首页 > 代码库 > linux ftp
linux ftp
检查安装vsftpd软件
rpm -qa |grep vsftpd
或者
which vsftpd
查看ftp 服务器状态
service vsftpd status
启动ftp服务器
service vsftpd start
重启ftp服务器
service vsftpd restart
查看服务有没有启动
netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,证明ftp服务已经开启。
通过yum来安装vsftpd
yum -y install vsftpd
设置为开机启动
chkconfig vsftpd on
我们去掉配置文件vsftpd.conf 里面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
忘记ftp密码修改方法:
登录服务器
cd /etc/vsftpd
vi vsftpd.conf
找到对应的ftp用户名 (如果用户名也忘记了 那么 cd /etc 然后cat passwd 查看用户和对应的管理目录)
passwd ftp用户名(回车)
service vsftpd restart
建用户,命令行状态下,在root用户下:
运行命令:
useradd -d /home/test test
//增加用户test,并制定test用户的主目录为/home/test
运行命令:
passwd test
//为test设置密码,运行后输入两次相同密码
更改用户相应的权限设置:
运行命令:
usermod -s /sbin/nologin test
//限定用户test不能telnet,只能ftp
运行命令:
usermod -s /sbin/bash test
//用户test恢复正常
运行命令:
usermod -d /test test
//更改用户test的主目录为/test
限制用户只能访问/home/test,不能访问其他路径
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
编辑上面的内容
第一行:chroot_list_enable=YES //限制访问自身目录
第三行:编辑vsftpd.chroot_list。根据第三行说指定的目录,找到chroot_list文件。(因主机不同,文件名也许略
有不同)
编辑vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行
如果需要允许用户修改密码,但是又没有telnet登录系统的权限:
运行命令:
usermod -s /usr/bin/passwd test
//用户telnet后将直接进入改密界面
设置上传权限
chmod 777 -R /home
要添加模块和开放21端口才能提供ftp访问。
1.添加ip_conntrack_ftp 模块
[root@localhost ~]# vi /etc/sysconfig/iptables-config
添加下面一行
IPTABLES_MODULES="ip_conntrack_ftp"
2.打开21端口
[root@localhost ~]# vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
3.重启iptables使新的规则生效
[root@localhost ~]# service iptables restart
到此,应该是可以了,若软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:可以用下面的命令检查
[root@localhost ~]#getsebool -a |grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off allow_tftp_anon_write --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_disable_trans --> off ftpd_is_daemon --> on httpd_enable_ftp_server --> off
这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。
[root@localhost ~]#setsebool -P ftp_home_dir 1 [root@localhost ~]#setsebool -P allow_ftpd_full_access 1
linux ftp