红联Linux门户
Linux帮助

ftp的配置与管理中怎么设置组访问ftp服务器

发布时间:2009-12-24 13:50:16来源:红联作者:chen163
linux中创建一个test组,用三个用户分别是test1,test2,test3要求用户test1对目录/home/test,具有读,写和执行权限(即浏览,下载,上传和建立目录和文件的权限 ),用户test2和test3对目录/home/test只具有读和执行权即(浏览和下载权限)
我试了,不成功。请问怎么做??
文章评论

共有 1 条评论

  1. chen163 于 2010-01-02 22:10:03发表:

    FTP服务器
    概述
    FTP服务器,则是互联网上提供存储空间的计算机,它们依照FTP协议提供服务。FTP全称是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。
    Linux下实现FTP服务的软件很多,最常见 又VSFTPD,WU-FTP和Proftp等。Red Hat Linux中默认安装的是vsftpd.
    通常,访问FTP服务器需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文本,VSFTPD提供3中登陆形式:
    [root@localhost root]#rpm -qa|grep vsftpd
    //查看vsftpd是否安装,如果没有安装,在“主菜单”--“系统设置”--“添加/删除应用程序”--找到“FTP服务器”在前面打勾--“更新”根据系统的提示点击“CD-ROM进行切换linux的镜像”
    Vsftpd-1.1.3-8
    [root @localhost root]#service vsftpd start
    //在系统终端启动vsftpd服务,也可以用
    [root@localhost root]#/etc/rc.d/init.d/vsftpd start
    配置vsftpd
    在Red hat linux 9.0中,关于vsftpd服务的配置的文件有三个:
    /etc/vsftpd/vsftpd.conf
    /etc/vsftpd.ftpusers
    /etc/vsftpd.user_list
    其中vsftpd.conf是主配置文件,vsftpd.ftpusers指定了有那些用户不能访问FTP服务器。 Vsftpd.user_list指定了可能访问FTP服务器的用户,其中的用户在默认情况下不能访问FTP服务器,仅当在vsftpd.conf中设定userlist_enable=No是才能访问。
    下面关于vsftpd服务器的配置文件vsftpd.conf的部分内容及其解释(忽略了以#号开头的内容)。用户可以用cat显示内容,用vi文本编辑工具编辑它。
    [root @localhost root]#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    //在配置前可以先备份,以便错了可以恢复原始配置
    [root @localhost root]# vi /etc/vsftpd/vsftpd.conf
    //#号开头的省略,进入vsftpd.conf的配置文件,
    Anonymous_enable=YES //允许匿名用户登陆
    No_anon_password=YES //匿名用户登陆不用密码
    Local_enable=YES //允许本地用户登陆
    Wirte_enable=YES //开放本地用户写的权限
    Local_umask=022 //将本地用户的上传文件的掩码(umask)设为022
    Dirmessage_enable=YES //允许为目录显示信息,显示每个目录下面message_file文件的内容
    Xferlog_enable=YES //启用记录上传/下载活动日志功能
    Connect_from_prot_20=YES //设置启用FTP服务器数据端口的连接请求
    Xferlog_std_fromat=YES //设置使用标准的xferlog日志格式
    Pam_service_name=vsftpd //设置PAM认证服务的配置文件名,存放在/etc/pam.d目录下。
    Userlist_enable=YES //设定在vsftpd.user_list文件中的列出的用户不能访问这个FTP服务器
    Listen=YES //设置服务器采用独立启动方式
    Tcp_wrappers=YES //设置使用tcp_wrappers作为主机访问控制方式
    //在没有设置前系统是默认匿名用户是没有上传,创建文件的权限,接下来是一下。
    按ESC键
    :q!
    不保存退出
    Vsftpd.ftpuser文件的说明
    vsftpd.ftpusers指定了下列用户不能访问FTP服务器,root用户默认是不允许登陆FTP服务器,但允许添加不允许登陆的用户到vsftpd.ftpusers里面来,每个用户一行。
    # Users that are not allowed to login via ftp
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    ~
    Vsftpd.user_list文件的说明
    Vsftpd.user_list指定了可能访问FTP服务器的用户,其中的用户在默认情况下不能访问FTP服务器,仅当在vsftpd.conf中设定userlist_enable=No是才能访问
    # vsftpd userlist
    # If userlist_deny=NO, only allow users in this file
    # If userlist_deny=YES (default), never allow users in this file, and
    # do not even prompt for a password.
    # Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
    # for users that are denied.
    root
    bin
    daemon
    adm
    lp
    sync
    shutdown
    halt
    mail
    news
    uucp
    operator
    games
    nobody
    [root@localhost root]#cd /var/ftp/pub
    //默认下载的文件目录在/var/ftp/pub目录,切换到pub目录,创建一个文本,提供下载。
    [root @localhost pub]#vi test.txt
    //创建test.txt文件,并输入helloworld,按ESC,
    :wq //保存退出
    [root @localhost root]# cd
    //切换到root目录下
    [root @localhsot root]#ftp localhost
    //ftp 后面跟的是主机IP或主机名
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root):anonymous //匿名用户anonymous
    331 Please specify the password.
    Password: //匿名用户登陆不需要密码,直接回车,
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls //显示文件,看到默认上传下载目录。
    227 Entering Passive Mode (127,0,0,1,79,16)
    150 Here comes the directory listing.
    drwxr-xr-x 2 0 0 4096 Feb 28 2003 pub
    226 Directory send OK.
    ftp> cd pub //进入pub目录
    250 Directory successfully changed.
    ftp> ls //显示文件,可以看到刚才创建的test.txt
    227 Entering Passive Mode (127,0,0,1,212,160)
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
    226 Directory send OK.
    ftp> mget test.txt
    mget test.txt? //直接回车
    227 Entering Passive Mode (127,0,0,1,65,220)
    150 Opening BINARY mode data connection for test.txt (10 bytes).
    226 File send OK.
    10 bytes received in 4.9e-05 secs (2e+02 Kbytes/sec)
    ftp> !ls //显示test.txt下载到当前root目录下
    anaconda-ks.cfg install.log install.log.syslog test.txt
    ftp> mkdir test //没有给匿名用户创建目录权限,是不能创目录的
    550 Permission denied.
    ftp> put install.log //没有给匿名用户上传权限,也不能上传
    local: install.log remote: install.log
    227 Entering Passive Mode (127,0,0,1,29,70)
    550 Permission denied.
    ftp> bye
    221 Goodbye.
    [root@localhost root]#vi /etc/vsftpd/vsftpd.conf
    //下面修改匿名用户的,找到
    #anon_upload_enable=YES //允许匿名用户上传文件
    #anon_mkdir_write_enable=YES //开放匿名用户的创建目录和写权限
    //按ESC,保存退出
    [root @localhost root]#service vsftpd restart
    //重启vsftpd服务
    当配置文件修改后,还是不能在pub目录下创建目录,但可以上传,默认情况下,pub的权限是目录所属的用户有执行、读写权限,组用户和其他用户,只有执行、读的权限
    [root@localhost root]#cd /var/ftp
    //切换到ftp目录下,查看赋给pub目录的属性
    [root @localhost ftp]# ls -l
    总用量 4
    drwxr-xr-x 2 root root 4096 1月 2 15:02 pub
    [root @localhost ftp]#chmod o+w pub
    //给其他用户加上读的权限,组用户可以添加权限,可以实现anonymous用户的上传目的。因为anonymous用户属于其他用户。
    [root@localhost ftp]# chmod o+w pub
    [root@localhost ftp]# ls -l
    总用量 4
    drwxr-xrwx 2 root root 4096 1月 2 15:02 pub
    [root @localhost ftp]#cd
    //回到root目录下
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,209,189)
    150 Here comes the directory listing.
    drwxr-xrwx 2 0 0 4096 Jan 02 07:02 pub
    226 Directory send OK.
    ftp> cd pub
    250 Directory successfully changed.
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,79,120)
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
    226 Directory send OK.
    ftp> mkdir test
    257 "/pub/test" created //在pub目录下创建test目录
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,87,79)
    150 Here comes the directory listing.
    drwx------ 2 14 50 4096 Jan 02 07:04 test //说明创建成功
    -rw-r--r-- 1 0 0 10 Jan 02 06:35 test.txt
    226 Directory send OK.t
    ftp>bye
    221 Goodbye.
    [root@localhost root]#mkdir /var/ftp/income
    //创建一个负责装上传文件的目录income
    [root @localhost root]#chmod a+wrx /var/ftp/income
    //给所以用户给income目录执行、读、写权限
    [root @localhost root]#chown ftp:ftp /var/ftp/income
    //把income目录赋给ftp组和用户
    [root @localhost root]#cd /var/ftp
    //切换到/var/ftp目录下
    [root@localhost ftp]# ll
    //显示所以可见文件
    总用量 8
    drwxrwxrwx 2 ftp ftp 4096 1月 2 15:17 income
    drwxr-xrwx 2 root root 4096 1月 2 15:04 pub
    [root @localhost ftp]#cd
    //切换到root目录测试一下
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,85,23)
    150 Here comes the directory listing.
    drwxrwxrwx 2 14 50 4096 Jan 02 07:17 income
    drwxr-xrwx 2 0 0 4096 Jan 02 07:04 pub
    //显示目录相关信息

    226 Directory send OK.
    ftp> cd income //切换到income目录
    250 Directory successfully changed.
    ftp> ls //显示income目录为空
    227 Entering Passive Mode (127,0,0,1,109,195)
    150 Here comes the directory listing.
    226 Directory send OK.
    ftp> !ls //查看文件
    anaconda-ks.cfg install.log install.log.syslog test.txt
    ftp> put install.log //上传install.log文件
    local: install.log remote: install.log
    227 Entering Passive Mode (127,0,0,1,152,59)
    150 Ok to send data.
    226 File receive OK.
    29187 bytes sent in 0.000236 secs (1.2e+05 Kbytes/sec)
    ftp> ls
    227 Entering Passive Mode (127,0,0,1,184,110)
    150 Here comes the directory listing.
    -rw------- 1 14 50 29187 Jan 02 07:29 install.log
    226 Directory send OK.
    ftp> bye
    221 Goodbye.
    [root@localhost root]#vi /etc/vsftpd/vsftpd.conf
    设置连接服务器的最在并发连接数和用户的最在线程数
    作为FTP服务器,必然要为多用户担任服务,如果在同一段登陆FTP服务器的用户过多或下载的数据过量,则会影响服务器的性能。因此,在建立FTP服务器时,一定要设置连接服务器的最大并发用户数和每一用户并发下载文件的最在线程数。修改配置文件/etc/vsftpd/vsftpd.conf添加
    [root @localhost root]#vi /etc/vsftpd/vsftpd.conf
    Max_clients=100 //并发用户为100
    Max_per_ip=2 //线程数为2,即同时只能下载两个文件
    按ESC
    :wq
    保存退出
    [root @localhost root]#service vsftpd restart
    //重启服务才能生效
    [root @localhsot root]#vi /etc/vsftpd/vsftpd.conf
    设置匿名用的最大传输速率
    下载速率对FTP服务器的性能影响也是很大,限制用户的最大传输速率可以平均分配网络宽带,增强网络的流畅性,避免网络阻塞。可以在/etc/vsftpd/vsftpd.conf配置文件末尾添加下列语句:
    Anon_max_rate=20000 //匿名用户最在传输速率为20KBPS
    Local_max_rate=1000000 //本地用户的最大传输速率为1MBPS
    按ESC
    :wq
    保存退出
    [root @localhost root]#service vsftpd restart
    (1)禁止某些IP服的匿名用户访问FTP服务器
    有些时候,FTP服务器不想对某些主机开放,但它们又处于同一个 网络或VLAN中,这时可以限制某些主机访问FTP服务器:看一下/etc/vsftpd/vsftpd.conf配置文件中是否有
    Tcp_wrappers=YES
    如果没有添加上去
    [root@localhost root]# ifconfig //查看 ip地址即子网掩码,没有配置
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:90821 errors:0 dropped:0 overruns:0 frame:0
    TX packets:90821 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:6266593 (5.9 Mb) TX bytes:6266593 (5.9 Mb)
    [root@localhost root]# ifconfig eth0 192.168.0.6 netmask 255.255.255.0
    //配置ip地址及子网掩码 IP:192.168.0.6 netmask:255.255.255.0
    [root@localhost root]# ftp 192.168.0.6 //用刚才配置的ip地址登陆
    Connected to 192.168.0.6 (192.168.0.6).
    220 (vsFTPd 1.1.3)
    Name (192.168.0.6:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (192,168,0,6,165,152)
    150 Here comes the directory listing.
    drwxrwxrwx 2 14 50 4096 Jan 02 07:33 income
    drwxr-xrwx 2 0 0 4096 Jan 02 07:04 pub
    226 Directory send OK.
    ftp> bye
    221 Goodbye.
    (2)[root @locahost root]#vi /etc/hosts.allow
    修改/etc/hosts.allow配置文件,添加vsftpd:192.168.0.6:DENY
    #
    # hosts.allow This file describes the names of the hosts which are
    # allowed to use the local INET services, as decided
    # by the '/usr/sbin/tcpd' server.
    #
    vsftpd:192.168.0.6:DENY
    [root@localhost root]# ftp 192.168.0.6 //登陆IP地址
    Connected to 192.168.0.6 (192.168.0.6).
    421 Service not available. //显示是不能登陆成功的
    ftp>bye
    [root @localhost root]#vi /etc/vsftpd/vsftpd.conf
    //只允许匿名用户访问,修改/etc/vsftpd/vsftpd.conf配置文件,把配置文件的
    #Local_enable=YES
    #Write_enable=YES
    注销掉
    默认启动下userlist_enable=YES是存在的
    [root@localhost root]# service vsftpd restart
    关闭 vsftpd: [ 确定 ]
    为 vsftpd 启动 vsftpd: [ 确定 ]
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> user root //本地用户是登陆不了
    500 Unknown command.
    Login failed.
    ftp>bye
    设置用ASCII方式传送数据
    一般情况下,利用FTP服务器传输数据的时候都是使用ASCII传输方式,所以,有必要对FTP服务器传输数据的格式进行设定.同样修改配置文件/etc/vsftpd/vsftpd.conf.
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
    去掉#号,保存退出,重启服务
    [root @locahost root]#vi /etc/vsftpd/vsftpd.conf
    设置各种欢迎信息。
    设置访问FTP服务器的欢迎信息,可以让用户访问FTP服务器时感到很亲切.同样配置文件/etc/vsftpd/vsftpd.conf.
    找到下面语句,然后修改“ftp_banner=“后面的内容
    # You may fully customise the login banner string:
    ftpd_banner=Welcome to Linux FTP World !!!
    #
    按ESC
    :wq
    [root@localhost root]# service vsftpd restart
    //重启vsftpd服务

    关闭 vsftpd: [ 确定 ]
    为 vsftpd 启动 vsftpd: [ 确定 ]
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 Welcome to Linux FTP World !!! //刚才设置的内容
    Name (localhost:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    设置数据传输中断的时间间隔
    如果用户和FTP服务器之间已经停止了数据的传输,而用户却一直连线在FTP服务器,则会占用网络带宽和FTP服务器的最大用户数限制等资源.修改,配置文件/etc/vsftpd/vsftpd.conf.
    #idle_session_timeout=600
    #data_connection_timeout=120
    把这两的#号去掉
    2.真实帐号服务器
    1)用户列表内的用户不能访问FTP服务器.而其它不在列表内的用户可以访问.修改配置文件/etc/vsftpd/vsftpd.conf.
    加入下面语句
    Userlist_enable=YES
    按ESC
    :wq
    保存退出
    创建两用户,一个是yy,
    [root@localhost root]# useradd yy
    同时把不允许访问FTP服务器的用户yy加入到vsftpd.user_list文件中.
    [root@localhost root]# vi /etc/vsftpd.user_list
    添加:
    yy
    //每个用户记得是占一行的
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 Welcome to Linux FTP World !!!
    Name (localhost:root): yy
    530 Permission denied.
    Login failed.
    (2)更改FTP服务器默认的端口号
    一般情况下,FTP服务器默认的端口号是21,所有的用户在登录FTP服务器时都需要输入服务器默认的端口号,但是,有时候出于安全的考虑,有必要为FTP服务器指定特定的端口号,在一定程度上增大黑客攻击服务器的难度
    [root@localhost root]# ifconfig eth0 192.168.0.8 netmask 255.255.255.0
    //修改ip地址给为192.168.0.8 netmask:255.255.255.0
    [root@localhost root]# ifconfig
    eth0 Link encap:Ethernet HWaddr 00:0C:29:64:79:7C
    inet addr:192.168.0.8 Bcast:192.168.0.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1235 errors:0 dropped:0 overruns:0 frame:0
    TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:115356 (112.6 Kb) TX bytes:6979 (6.8 Kb)
    Interrupt:10 Base address:0x2024

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:116361 errors:0 dropped:0 overruns:0 frame:0
    TX packets:116361 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:8011453 (7.6 Mb) TX bytes:8011453 (7.6 Mb)

    [root@localhost root]# ftp 192.168.0.8 //限制是可以登陆成功的
    Connected to 192.168.0.8 (192.168.0.8).
    220 Welcome to Linux FTP World !!!
    Name (192.168.0.8:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (192,168,0,8,22,221)
    150 Here comes the directory listing.
    drwxrwxrwx 2 14 50 4096 Jan 02 07:33 income
    drwxr-xrwx 2 0 0 4096 Jan 02 07:04 pub
    226 Directory send OK.
    ftp> bye
    221 Goodbye.
    [root @localhost root]#vi /etc/vsftpd/vsftpc.conf
    修改配置文件/etc/vsftpd/vsftpd.conf,添加如下语句:
    Listen_port=1234
    按ESC
    :wq
    保存退出
    [root@localhost root]# service vsftpd restart
    //重启vsftpd服务
    关闭 vsftpd: [ 确定 ]
    为 vsftpd 启动 vsftpd: [ 确定 ]
    [root@localhost root]# ftp 192.168.0.8 //不加端口号是来接失败的
    ftp: connect: Connection refused
    ftp> bye
    [root@localhost root]# ftp 192.168.0.8 1234 //在IP后加端口1234号连接成功
    Connected to 192.168.0.8 (192.168.0.8).
    220 Welcome to Linux FTP World !!!
    Name (192.168.0.8:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    227 Entering Passive Mode (192,168,0,8,234,52)
    150 Here comes the directory listing.
    drwxrwxrwx 2 14 50 4096 Jan 02 07:33 income
    drwxr-xrwx 2 0 0 4096 Jan 02 07:04 pub
    226 Directory send OK.
    ftp> bye
    221 Goodbye.
    (3)设置组方式访问FTP服务器
    为了设置不同的安全级别和管理方便,有时候可以采用用户组群方式访问FTP服务器,这样可以设置不同用户对同一个目录具有不同的访问权限.例如组建test有3个用户test1,test2和test3,要求用户test1对目录/home/test 具有读,写和执行权限(即浏览,下载,上传和建立目录和文件的权限),用户test2和test3对目录/home/test 只具有读和执行权即浏览和下载权限)
    1)使用图形化方式建立目录/home/test
    [root@localhost root]# groupadd test
    //创建一个test组
    [root@localhost root]# useradd -d /home/test -g users -G test test1
    //创建一test1用户,主目录/home/test,主属组为users ,同时test1用户属于test组
    [root@localhost root]# useradd -d /home/test -g users -G test test2
    //创建一test2用户,主目录/home/test,主属组为users ,同时test1用户属于test组
    [root@localhost root]# useradd -d /home/test -g users -G test test3
    //创建一test3用户,主目录/home/test,主属组为users ,同时test1用户属于test组
    [root@localhost root]# cd /home/test
    [root@localhost root]#touch test.txt
    //创建一个test.txt文件夹
    [root@localhost home]# ll
    总用量 8
    drwx------ 3 test1 users 4096 11月 29 00:44 test
    drwx------ 3 user user 4096 11月 29 00:41 user
    [root@localhost home]# passwd test1
    //给test1用户设置密码
    Changing password for user test1.
    New password: //输入密码
    BAD PASSWORD: it is too simplistic/systematic
    Retype new password: //重复设置的密码
    passwd: all authentication tokens updated successfully.
    [root@localhost home]# passwd test2
    //给test2设置密码
    Changing password for user test2.
    New password: //输入密码
    BAD PASSWORD: it is too simplistic/systematic
    Retype new password: //重复输入密码
    passwd: all authentication tokens updated successfully.
    [root@localhost home]# passwd test3
    //给test3设置密码
    Changing password for user test3.
    New password:
    BAD PASSWORD: it is too simplistic/systematic
    Retype new password:
    passwd: all authentication tokens updated successfully.
    [root@localhost home]# chown test1:test test
    //改变test的用户为test1属组test
    [root@localhost home]# chmod a+wrx test
    //test1用户执行读写权限
    [root@localhost home]# chown test2:test test
    //改变test用户为test2 属组test
    [root@localhost home]# chmod go-w test
    //test2执行读权限
    [root@localhost home]# chown test3:test test
    //改变test用户为test3属组test
    [root@localhost home]# chmod go-w test
    //test3执行读权限
    [root@localhost home]# cd
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): test1 //用test1用户登陆
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls //显示文件
    227 Entering Passive Mode (127,0,0,1,184,57)
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> mget test.txt //下载test.txt文件
    mget test.txt?
    227 Entering Passive Mode (127,0,0,1,49,107)
    150 Opening BINARY mode data connection for test.txt (0 bytes).
    226 File send OK.
    ftp> !ls //显示下载的test.txt文件
    anaconda-ks.cfg install.log install.log.syslog test.txt
    ftp> put install.log //上传install.log文件
    local: install.log remote: install.log
    227 Entering Passive Mode (127,0,0,1,212,12)
    150 Ok to send data.
    226 File receive OK.
    29187 bytes sent in 0.000673 secs (4.2e+04 Kbytes/sec)
    ftp> ls //显示上传的文件install.log
    227 Entering Passive Mode (127,0,0,1,38,74)
    150 Here comes the directory listing.
    -rw-r--r-- 1 501 100 29187 Jan 02 13:43 install.log
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> mkdir aa //创建aa目录
    257 "/home/test/aa" created
    ftp> ls //查看创建的aa目录
    227 Entering Passive Mode (127,0,0,1,230,126)
    150 Here comes the directory listing.
    drwxr-xr-x 2 501 100 4096 Jan 02 13:43 aa
    -rw-r--r-- 1 501 100 29187 Jan 02 13:43 install.log
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> bye //退出ftp
    221 Goodbye.
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): test3 //用test3用户登陆
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls //显示文件
    227 Entering Passive Mode (127,0,0,1,128,28)
    150 Here comes the directory listing.
    drwxr-xr-x 2 501 100 4096 Jan 02 13:43 aa
    -rw-r--r-- 1 501 100 29187 Jan 02 13:43 install.log
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> mkdir bb //创建bb目录失败
    550 Create directory operation failed.
    ftp> mget test.txt //下载可以test.txt成功
    mget test.txt?
    227 Entering Passive Mode (127,0,0,1,78,173)
    150 Opening BINARY mode data connection for test.txt (0 bytes).
    226 File send OK.
    ftp> !ls //显示下载文件
    anaconda-ks.cfg install.log install.log.syslog test.txt
    ftp> put anaconda-ks.cfg //上传失败
    local: anaconda-ks.cfg remote: anaconda-ks.cfg
    227 Entering Passive Mode (127,0,0,1,83,136)
    553 Could not create file.
    ftp> bye
    221 Goodbye.
    4)限制用户访问的目录.
    默认情况下,用户登录到FTP服务器,可以访问服务器中自己目录外的文件,为了增加安全性.有必
    要进行对用户访问目录的限制.在配置文件/etc/vsftpd/vsftpd.conf中添加下面的语句.
    [root@localhost root]# vi /etc/vsftpd/vsftpd.conf
    //添加下面
    Chroot_local_user=YES
    按ESC
    :wq
    保存退出
    [root@localhost root]# service vsftpd restart
    //重启vsftpd服务
    关闭 vsftpd: [ 确定 ]
    为 vsftpd 启动 vsftpd: [ 确定 ]
    [root@localhost root]# ftp localhost
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.3)
    Name (localhost:root): test1
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls //显示文件
    227 Entering Passive Mode (127,0,0,1,236,37)
    150 Here comes the directory listing.
    drwxr-xr-x 2 501 100 4096 Jan 02 13:43 aa
    -rw-r--r-- 1 501 100 29187 Jan 02 13:43 install.log
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> cd / //切换目录成功
    250 Directory successfully changed.
    ftp> ls //显示还是刚才的文件
    227 Entering Passive Mode (127,0,0,1,187,194)
    150 Here comes the directory listing.
    drwxr-xr-x 2 501 100 4096 Jan 02 13:43 aa
    -rw-r--r-- 1 501 100 29187 Jan 02 13:43 install.log
    -rw-r--r-- 1 0 0 0 Nov 28 16:54 test.txt
    226 Directory send OK.
    ftp> bye
    221 Goodbye.

    来自平时总结及网上搜索。如有不足之处,请指正。非常感谢您的学习。