1.关闭防火墙和selinux
2.安装vsftpd
查看是否已经安装vsftpd
rpm -qa | grepvsftpd
如果没有,就安装,并设置开机启动
yum -y installvsftpd
chkconfig vsftpdon
安装时发现错误:
是因为缺少DNS,解决如下:到/etc目录下配置resolv.conf加入nameserver IP:
[root@localhost~]# vi /etc/resolv.conf
#下面地址是福建电信DNS
nameserver218.85.157.99
添加防火墙规则
首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链
为了能采用远程SSH登陆,我们要开启22端口.
[root@tp ~]#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@tp ~]#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT (注:这个规则,如果你把OUTPUT设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.
其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链:
[root@tp ~]#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT ,其他同理.)
如果做了WEB服务器,开启80端口.
[root@tp ~]#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果做了邮件服务器,开启25,110端口.
[root@tp ~]#iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
如果做了FTP服务器,开启21端口
[root@tp ~]#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@tp ~]#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
如果做了DNS服务器,开启53端口
[root@tp ~]#iptables -A INPUT -p tcp --dport 53 -j ACCEPT
如果你还做了其他的服务器,需要开启哪个端口,照写就行了.
上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP
允许icmp包通过,也就是允许ping,
[root@tp ~]#iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)
[root@tp ~]#iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话)
允许loopback!(不然会导致DNS无法正常关闭等问题)
IPTABLES -A INPUT-i lo -p all -j ACCEPT (如果是INPUT DROP)
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUTDROP)
然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里.
[root@tp~]# /etc/rc.d/init.d/iptables save
3.配置vsftpd服务器
1.默认的配置文件是/etc/vsftpd/vsftpd.conf
vim/etc/vsftpd/vsftpd.conf
在配置文件中第11行的“anonymous_enable=YES”改为“anonymous_enable=NO”,即将匿名登录禁用。
读取生效配置。
[root@VM_250_202_tlinux~]# cat /etc/vsftpd/vsftpd.conf |grep ^[^#]
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YESchk
添加ftp用户
增加用户yh1,指向目录/home/ceshi1,禁止登录SSH权限。
useradd -d /home/ceshi1-g ftp -s /sbin/nologin yh1
设置用户口令
passwd yh1
修改vsftpd的pam配置,使用户可以通过自己设置的FTP用户帐号和密码连接到云服务器。
(1)修改pam。
[root@VM_250_202_tlinux~]# vim /etc/pam.d/vsftpd
内容修改为:(根据我本地主机配置修改)
auth requiredpam_listfile.so item=user sense=deny file=/etc/fto onerr=succeed
auth required pam_unix.so shadownullok
auth required pam_shells.so
account required pam_unix.so
session required pam_unix.so
(2)确认修改后的文件是否正确。
[root@VM_250_202_tlinux~]# cat /etc/pam.d/vsftpd
#%PAM-1.0
auth required /lib64/security/pam_listfile.so item=user sense=denyfile=/etc/ftpusers onerr=succeed
auth required /lib64/security/pam_unix.so shadow nullok
auth required /lib64/security/pam_shells.so
account required /lib64/security/pam_unix.so
session required /lib64/security/pam_unix.so
(3)重启vsftpd服务,使修改生效。
[root@VM_250_202_tlinux~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
vi vsftpd.conf的配置参数
anonymous_enable=YES //启用匿名用户
local_enable=YES //允许本地用户访问vsftpd服务器
write_enable=YES //允许上传
download_enable=YES //允许下载
anon_upload_enable=YES //允许匿名用户上传
anon_mkdir_write_enable=YES //允许匿名用户创建目录和上传
anon_other_write_enable=NO //不允许匿名用户删除和改名
local_max_rate=20000 //本地用户的最大传输速率,单位是字节/秒
anon_max_rate=5000 //匿名用户的最大传输速率,单位是字节/秒
local_umask=022 //去掉写的权限
file_open_mode=0666 //上传文件的权限
xferlog_enable=YES //维护日志文件,详细记录上传和下载操作
xferlog_std_format=YES //传输日志文件将以标准的xferlog格式书写,日志文件默
认为/var/log/xferlog
hide_ids=YES //隐藏文件夹和目录属主
port_enable=YES //允许使用主动传输模式
pasv_min_port=(1024 pasv_max_port=(1024 connect_from_port_20=YES //定义FTP传输数据的端口,默认是20
ascii_download_enable=NO //设置不可使用ASCII模式下载
listen=YES //让FTP工作在独立模式下
pam_service_name=vsftpd//用户配置文件认证
userlist_enable=YES
tcp_wrappers=YES //将使用wrappers作为主机访问控制方式
idle_session_timeout=600 //表明空闲时间为600秒
data_connection_timeout=120 //表明数据连接超时时间为120秒
chroot_local_user=YES //用户登录后不能访问自己目录以外的文件或目录
listen_port=4444 //修改FTP服务器的端口号
更改用户相应的权限设置:
usermod -s/sbin/nologin hz//限定用户test不能telnet,只能ftp
usermod -s /sbin/bash hz //用户hz恢复正常
usermod -d /wq hz//更改用户hz的主目录为/hz
FTP帐号和目录
useradd -d /home/wq/ -s /sbin/nologin hz
passwd hz
chmod -R 755 /home/wq/
chown -R hz //home/wq/
限制用户只能访问/home/hz,不能访问其他路径
cd /etc/vsftpd/
vi vsftpd.conf
chroot_local_user=YES //用户登录后不能访问自己目录以外的文件或目录
更改SSH默认端口
vi/etc/ssh/sshd_config
#Port 22删除这个
Port 20000 添加新的端口
重启vsftpd服务
service vsftpdrestart
设置开机启动
chkconfig --level 35 vsftpd on