vstpd的简单相关配置

2017-08-11  本文已影响54人  尘曦的雨

简介ftp

配置

1更改命令端口

更改命令端口     listen_port=端口号如90 ;默认配置文件无此行,表示监听21 端口 添加此行并要监听得问端口;修改后关闭selinux策略;setenforce 0临时关闭
重启服务
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
listen_port=28
#更改ftp的命令端口为非标准28端口加listen_port=28 ;如果不加此行表示使用标准21端口
[root@localhost ~]# systemctl restart vsftpd.service 
客户端测试
[root@root ~]# ftp 192.168.175.130 28
Connected to 192.168.175.130 (192.168.175.130).
220 (vsFTPd 3.0.2)
Name (192.168.175.130:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,175,130,190,237).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0              16 Aug 10 21:24 pub
226 Directory send OK.
ftp> 
服务器端查看连接状态
[root@localhost pub]# ss -nt
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
ESTAB       0      52                 192.168.175.130:22                               192.168.175.1:13991              
ESTAB       0      0           ::ffff:192.168.175.130:28                      ::ffff:192.168.175.129:33670              
[root@localhost pub]# 

更改主动端口

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
connect_from_port_20=YES
ftp_data_port=39  更改主动模式端口为39
客户端测试
ftp> get 4.txt 注意要在服务器端给该文件授权
local: 4.txt remote: 4.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 4.txt (4294967296 bytes).
服务器端查看结果
[root@localhost pub]# ss -nt
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
ESTAB       0      0                  192.168.175.130:22                               192.168.175.1:12213              
ESTAB       0      0                  192.168.175.130:22                               192.168.175.1:13991              
ESTAB       0      3569320      ::ffff:192.168.175.130:39  主动端口                    ::ffff:192.168.175.129:59343              
ESTAB       0      0           ::ffff:192.168.175.130:28                      ::ffff:192.168.175.129:33692  

更改服务器端的被动端口

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
connect_from_port_20=YES
pasv_min_port=6000 
#数字指定随机端口的最小值为6000;如果是0表示系统随便分配
pasv_max_port=6010
#数字指定最大端口值为6010
重启服务
[root@localhost pub]# systemctl restart vsftpd.service 
客户端测试
ftp> get 4.txt
local: 4.txt remote: 4.txt
227 Entering Passive Mode (192,168,175,130,23,114).
150 Opening BINARY mode data connection for 4.txt (4294967296 bytes).
[root@localhost pub]# ss -nt
State       Recv-Q Send-Q               Local Address:Port                              Peer Address:Port              
ESTAB       0      52                 192.168.175.130:22                               192.168.175.1:13991              
ESTAB       0      0           ::ffff:192.168.175.130:28                      ::ffff:192.168.175.129:33694              
ESTAB       0      3276720      ::ffff:192.168.175.130:6002  端口范围之内的值                  ::ffff:192.168.175.129:55467   

默认权限设置

[root@localhost ftp]# ll -d /var/ftp/pub/
drwxr-xr-x. 2 root root 42 8月  11 06:32 /var/ftp/pub/
[root@localhost ftp]# ll -d /var/ftp/
drwxr-xr-x. 3 root root 17 8月  11 06:16 /var/ftp/
[root@localhost ftp]# 

更改为当地时间

客户端ls显示为UTC时间
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,117).
150 Here comes the directory listing.
-rwxrwxrwx    1 0        0          716042 Aug 10  2017 2.txt
-rwxrwxrwx    1 0        0        4294967296 Aug 10  2017 4.txt
-rwxrwxrwx    1 0        0               0 Aug 10  2017 kk
226 Directory send OK.
ftp> 
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
connect_from_port_20=YES
#use_localtime=YES 
#默认是no表示使用GMT
pasv_min_port=6000
#数字指定随机端口的最小值为6000;如果是0表示系统随便分配
pasv_max_port=6010
use_localtime=YES
#使用当地时间;默认是no表示使用GMT
重启服务
[root@localhost pub]# systemctl restart vsftpd.service 
服务器上的文件时间
[root@localhost ftp]# ll
总用量 0
drwxr-xr-x. 2 root root 42 8月  11 06:32 pub
[root@localhost ftp]# 
测试客户端
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,117).
150 Here comes the directory listing.
-rwxrwxrwx    1 0        0          716042 Aug 11 06:12 2.txt
-rwxrwxrwx    1 0        0        4294967296 Aug 11 06:34 4.txt
-rwxrwxrwx    1 0        0               0 Aug 11 05:24 kk
226 Directory send OK.
ftp> 

设置允许匿名用户上传文件

客户端默认匿名用户不允许
ftp> put 6.txt
local: 6.txt remote: 6.txt
227 Entering Passive Mode (192,168,175,130,23,114).
550 Permission denied.
ftp> 
服务器端设置
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
#启用这一项把注释去掉就支持匿名用户上传文件了
赋予共享目录下子文的写权限;必须是子文件ftp不许共享目录直接有写权限
[root@localhost ftp]# chmod o+w /var/ftp/pub/
重启服务
[root@localhost pub]# systemctl restart vsftpd.service 
客户端测试
ftp> put 6.txt
local: 6.txt remote: 6.txt
227 Entering Passive Mode (192,168,175,130,23,121).
150 Ok to send data.
226 Transfer complete.
8 bytes sent in 0.000209 secs (38.28 Kbytes/sec)
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,118).
150 Here comes the directory listing.
-rwxrwxrwx    1 0        0          716042 Aug 11 06:12 2.txt
-rwxrwxrwx    1 0        0        4294967296 Aug 11 06:34 4.txt
-rw-------    1 14       50              8 Aug 11 09:02 6.txt
-rwxrwxrwx    1 0        0               0 Aug 11 05:24 kk
226 Directory send OK.
ftp> 
客户端
[root@root ~]# ftp 192.168.175.130 28
Connected to 192.168.175.130 (192.168.175.130).
220 (vsFTPd 3.0.2)
Name (192.168.175.130:root): ftp用户
331 Please specify the password.
Password:密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
服务器
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
no_anon_password=YES
#设置匿名用户登录不检查口令;( 默认NO)  匿名用户略过口令 检查
重启ftp服务
[root@localhost ftp]# systemctl restart vsftpd.service 
客户端测试
[root@root ~]# ftp 192.168.175.130 28
Connected to 192.168.175.130 (192.168.175.130).
220 (vsFTPd 3.0.2)
Name (192.168.175.130:root): ftp用户
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES
#设置允许用户创建文件
重启服务;注意文件的权限
[root@localhost ftp]# systemctl restart vsftpd.service 
客户端测试
ftp> ?
Commands may be abbreviated.  Commands are:

!       debug       mdir        sendport    site
$       dir     mget        put     size
account     disconnect  mkdir       pwd     status
append      exit        mls     quit        struct
ascii       form        mode        quote       system
bell        get     modtime     recv        sunique
binary      glob        mput        reget       tenex
bye     hash        newer       rstatus     tick
case        help        nmap        rhelp       trace
cd      idle        nlist       rename      type
cdup        image       ntrans      reset       user
chmod       lcd     open        restart     umask
close       ls      prompt      rmdir       verbose
cr      macdef      passive     runique     ?
delete      mdelete     proxy       send
ftp> mkdir hh   创一个文件夹hh
257 "/pub/hh" created
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,114).
150 Here comes the directory listing.
-rwxrwxrwx    1 0        0          716042 Aug 11 06:12 2.txt
-rwxrwxrwx    1 0        0        4294967296 Aug 11 06:34 4.txt
-rw-------    1 14       50              8 Aug 11 09:02 6.txt
drwx------    2 14       50              6 Aug 11 09:17 hh
-rwxrwxrwx    1 0        0               0 Aug 11 05:24 kk
226 Directory send OK.
ftp> 
服务器
vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES
#可删除和修改上传的文件
[root@localhost ftp]# systemctl restart vsftpd.service 
客户测试
ftp> delete kk删除文件
250 Delete operation successful.
ftp> mdelete ll 删除目录或多个文件

更改匿名账户上传文件的目录
更改运行vstpd家目录就可以了

设置用户上传文件的权限

anon_umask=077 
#指定匿名上传umask
指定上传文件的默认的所有者和权限
chown_uploads=YES
#启用上传文件默认所有者
chown_username=chenxi
#指定所有者
chown_upload_mode=0644
#设置权限

将所有系统账户映射成指定账户

系统账户
[root@localhost pub]# getent passwd chenxi1
chenxi1:x:1000:1000::/home/chenxi1:/bin/bash

客户端用系统账户测试
[root@root ~]# ftp 192.168.175.130 28
Connected to 192.168.175.130 (192.168.175.130).
220 (vsFTPd 3.0.2)
Name (192.168.175.130:root): chenxi1 系统
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/chenxi1"
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,120).
150 Here comes the directory listing.
226 Directory send OK.
ftp> cd /etc/ 将会特别危险
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,122).
150 Here comes the directory listing.
-rw-r--r--    1 0        0            5090 Nov 05  2016 DIR_COLORS
-rw-r--r--    1 0        0            5725 Nov 05  2016 DIR_COLORS.256color
服务器端
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
#所有系统用户都映射成guest 用户
guest_username=ftp
#配合上面选项才生效,指定guest 用户guest_enable=YES  所有系统用户都映射成guest 用户而guest用户映射成ftq
重启
[root@localhost pub]# systemctl restart vsftpd.service 
客户端测试
[root@root ~]# ftp 192.168.175.130 28
Connected to 192.168.175.130 (192.168.175.130).
220 (vsFTPd 3.0.2)
Name (192.168.175.130:root): chenxi1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,175,130,23,119).
150 Here comes the directory listing.
drwxr-xrwx    4 0        0              65 Aug 11 09:32 pub
226 Directory send OK.
ftp> pwd
257 "/"
ftp> 
服务器
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES
#设置是否允许系统账户登录YSE允许NO是不允许
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#设置是否允许系统用户上传文件YES允许NO拒绝
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#设置系统用户上文件的umask权限
chroot_local_user=YES 
#(默认NO ,不禁锢)禁锢系统 用户
hroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
当chroot_local_user=YES 时,则chroot_list 中用户不禁锢
当chroot_local_user=NO 时,则chroot_list中 用户禁锢
更改记得重启
注意重启是吧配置文件没有错的前提下;应该是选项位置不对
日志相关配置
xferlog_enable=YES  
#(默认) 启用 记录上传下载日志
xferlog_std_format=YES  
#(默认 )使用wu-ftp 日志格式
xferlog_file=/var/log/xferlog 
#/var/log/xferlog (默认)可自动生成
目录访问提示信息
dirmessage_enable=YES ( 默认)
message_file=.message( 默认) 信息 存放在 指定目录下.message
echo chenxi>/var/ftp/pub/.message 用户切到该目录下就会提示chenxi字样
使用pam(Pluggable Authentication Modules)
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd
#默认指明验证用户调用pam模块
pam 配置文件:/etc/pam.d/vsftpd #pam  模块关于vsftpd的配置文件
pam模块对用户的登录设置
[root@localhost pub]# vim /etc/pam.d/vsftpd

#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

#auth       required     pam_listfile.so item=user sense=deny(拒绝)后面文件里用户登录 file=/etc/vsftpd/ftpusers onerr=succeed
sense=allow(允许)只允许后面文件里用户登录 file=/etc/vsftpd/ftpusers onerr=succeed
/etc/vsftpd/ftpusers  默认文件中用户拒绝登录
vsftp配置对用户登录限制的相关设置
是否启用控制用户登录的列表文件
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES 
# 默认有此设置
userlist_deny=YES
#( 默认值 值) 黑名单, 不提示口令,NO 为 白名单
userlist_file=/etc/vsftpd/users_list 
#此文件的用户
  连接 限制
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf
max_clients=0  
#最大并发连接数
max_per_ip=0  
#每个IP 同时发起的最大连接 数
nopriv_user=nobody    
#vsftpd 服务指定用户身份运行
 传输速率: 字节/秒 秒
anon_max_rate=0  匿名用户的最大传输速率
local_max_rate=0 本地用户的最大传输速率
  连接时间:秒为单位
connect_timeout=60  主动模式 数据 连接超时时长
accept_timeout=60 被动模式 数据 连接超时时长
data_connection_timeout=300  数据连接无数据输超时时长
idle_session_timeout=60 无命令操作超时时长
  优先以 文本方式传输
ascii_upload_enable=YES
ascii_download_enable=YES

重启后生效
客户端
ftp> binary 表示以二进制格式传输
200 Switching to Binary mode
ftp> ascii  表示以文本格式传输
200 Switching to ASCII mode.
安装xinetd.d服务,由于telnet-server依赖于xinetd.d该服务所以安装telnet-server就自动把xinetd.d服务装上
yum -y install telnet-server
vim /etc/vsftpd/vsftpd.conf 
# with the listen_ipv6 directive.
listen=NO
#默认是YES表示独立服务;改成NO就是非独立服务
退出后直接把ftp服务关闭
service vsftpd stop
让ftp受xinetd服务管理
vim /etc/xinetd.d/vsftpd
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
log_on_failure += USERID
disable = no
}
[root@root xinetd.d]# chkconfig --list
auditd          0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
blk-availability    0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
crond           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
ip6tables       0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
iptables        0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
kdump           0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
lvm2-monitor    0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
mdmonitor       0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
messagebus      0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
netconsole      0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
netfs           0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭
network         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
nfs-rdma        0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
ntpdate         0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
postfix         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
rdisc           0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
rdma            0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
restorecond     0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
rsyslog         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
saslauthd       0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
sshd            0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
svnserve        0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
udev-post       0:关闭    1:启用    2:启用    3:启用    4:启用    5:启用    6:关闭
vsftpd          0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭
xinetd          0:关闭    1:关闭    2:关闭    3:启用    4:启用    5:启用    6:关闭

基于 xinetd 的服务:
    chargen-dgram:  关闭
    chargen-stream: 关闭
    daytime-dgram:  关闭
    daytime-stream: 关闭
    discard-dgram:  关闭
    discard-stream: 关闭
    echo-dgram:     关闭
    echo-stream:    关闭
    rsync:          关闭
    tcpmux-server:  关闭
    telnet:         关闭
    time-dgram:     关闭
    time-stream:    关闭
    vsftpd:         启用   #表示ftp受xinetd服务管理
直接启动xinetd服务
service xinetd start 
端口查看
[root@root xinetd.d]# ss -nlt
State       Recv-Q Send-Q                            Local Address:Port                              Peer Address:Port 
LISTEN      0      64                                           :::21       ftp端口已经启动                                   :::*     
LISTEN      0      128                                          :::22                                          :::*     
LISTEN      0      128                                           *:22                                           *:*     
LISTEN      0      100                                         ::1:25                                          :::*     
LISTEN      0      100                                   127.0.0.1:25                                           *:*     
LISTEN      0      128                                   127.0.0.1:6011                                         *:*     
LISTEN      0      128                                         ::1:6011                                        :::*     
LISTEN      0      128                                   127.0.0.1:6012                                         *:*     
LISTEN      0      128                                         ::1:6012                                        :::*     
[root@root xinetd.d]# 
上一篇下一篇

猜你喜欢

热点阅读