vsftpd实例:匿名访问共享+系统用户访问控制-创新互联-成都快上网建站

vsftpd实例:匿名访问共享+系统用户访问控制-创新互联

FTP环境实例:

创新互联专注于企业营销型网站、网站重做改版、丁青网站定制设计、自适应品牌网站建设、H5高端网站建设商城建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为丁青等各大城市提供网站开发制作服务。

 某公司由于业务发展需求,现需要在公司内部搭建一台FTP服务器!该公司有数个部门(IT FD HR)和N名员工(fus1 fus2 fus3 fus4 fus5 fus6 fus7 fus8 fus9)使用该服务器!为了保障系统和其他数据的安全,要求用户只能访问FTP服务根目录(/var/ftp)以下的数据;要求根目录下有一个公共目录,该目录所有人都可以访问,并且具有上传下载权限;根目录下还要有每个部门的工作目录,并且仅限该部门的员工访问;在各部门目录下要有一个仅限该部门员工使用的公共目录,还要有每个员工的工作目录,员工目录要求只能该员工自己访问;创建一个特权用户(manager),该用户可以访问根目录下的任何公共目录,并且具有上传下载的权限!为了方便特权用户访问,要求在每个部门的目录被访问时有该部门的提示信息;为了显示人文精神,在用户登录FTP服务器时,要显示欢迎信息!另外,要求匿名用户可以访问,并且所有访问FTP服务器的账户都不能登录到系统!

思路:

 1、安装FTP服务器软件,设置SELinux访问权限

 2、测试环境是否可用,备份主配置文件

 3、创建用户组和用户及其所属目录

 4、修改服务器配置文件进行访问控制

 5、修改目录访问权限控制访问

 6、重启服务并设置开机启动

步骤:

第一步:安装vsftpd软件

 [root@feng ~]# yum install vsftpd -y

第二步:设置SELinux安全访问

 [root@feng ~]#getsebool -a | grep ftp

 [root@feng ~]#setsebool allow_ftpd_full_access 1

第三步:测试环境是否运行正常

 [root@feng ~]# service vsftpd start

 [root@feng ~]# firefox ftp://127.0.0.1

另:安装ftp客户端测试:

 [root@feng ~]# yum install ftp -y

 (匿名用户(ftp/anonymous)登录不需要密码)

第四步:备份主配置文件

 [root@feng ~]# mkdir -p /backup/vsftpd

 [root@feng ~]# cp -p /etc/vsftpd/vsftpd.conf /bachup/vsftpd/vsftpd.conf

第五步:创建用户组及其部门目录

 [root@feng ~]# groupadd IT

 [root@feng ~]# groupadd FD

 [root@feng ~]# groupadd HR

 [root@feng ~]# mkdir -p /var/ftp/OU_{IT,FD,HR}

第六步:创建用户及其属主目录

 [root@feng ~]# for name in fus{1..3}

 > do

 > useradd -s /sbin/nologin -d /var/ftp/OU_IT/$name -G IT -m $name

 > echo 123456 | passwd --stdin $name

 > done

 [root@feng ~]# for name in fus{4..6}

 > do

 > useradd -s /sbin/nologin -d /var/ftp/OU_FD/$name -G FD -m $name

 > echo 123456 | passwd --stdin $name

 > done

 [root@feng ~]# for name in fus{7..9}

 > do

 > useradd -s /sbin/nologin -d /var/ftp/OU_HR/$name -G HR -m $name

 > echo 123456 | passwd --stdin $name

 > done

第七步:创建特权用户

 [root@feng ~]# useradd -G IT,HR,FD -d /var/ftp/manager -s /sbin/nologin manager

 [root@feng ~]# echo 123456 | passwd --stdin manager

第八步:检查用户属性

 [root@feng ~]# for name in fus{1..9}; do id $name; done

 [root@feng ~]# id manager

第九步:修改服务器主配置文件

 [root@feng ~]# cat /etc/vsftpd/vsftpd.conf | grep -vE "^$|#"

anonymous_enable=YES //允许匿名用户登录

local_enable=YES //允许系统用户登录

write_enable=YES //启用全局写权限

local_umask=022 //系统用户权限掩码

anon_umask=022 //匿名用户权限掩码

anon_upload_enable=YES //允许匿名用户上传

anon_mkdir_write_enable=YES //允许匿名用户创建目录

dirmessage_enable=YES //开启目录访问提示

message_file=.message //定义目录访问提示文件

xferlog_enable=YES //开启用户访问日志记录

xferlog_file=/var/log/vsftpd.log //定义日志记录文件的位置及名称(需要自己创建)

xferlog_std_format=YES //定义日志记录的文件格式

connect_from_port_20=YES //定义服务器的连接端口

idle_session_timeout=600 //当超过600s无交互时断开会话

data_connection_timeout=120 //当超过120s无数据时断开传输通道

banner_file=/etc/vsftpd/banner //定义登录提示文件banner的位置

chroot_local_user=YES //锁定用户访问权限到家目录

ls_recurse_enable=YES //允许用户使用ls命令

listen=YES //定义vsftpd工作模式为standalone

pam_service_name=vsftpd //开启vsftpd的PAM认证

userlist_enable=YES //开启userlist访问控制

userlist_deny=NO //仅限userlist中的用户访问(双重否定等于肯定)

tcp_wrappers=YES //开启TCP访问控制(hosts.allow和hosts.deny)

local_root=/var/ftp //锁定系统用户访问的根目录

no_anon_password=YES //匿名用户访问时提示输入密码,可直接访问

第十步:创建主配置文件中定义的文件

vsftpd.log:

 [root@feng ~]# touch /var/log/vsftpd.log

banner:

 [root@feng ~]# vi /etc/vsftpd/banner

 [root@feng ~]# cat /etc/vsftpd/banner

    -------------------------------------

     Hellow,everyone

         welcome to FTPServer!

               Good luck!

    -------------------------------------

.message:

 [root@feng ~]# echo "welcome to IT." > /var/ftp/OU_IT/.message

 [root@feng ~]# echo "welcome to FD." > /var/ftp/OU_FD/.message

 [root@feng ~]# echo "welcome to HR." > /var/ftp/OU_HR/.message

user_list:

 [root@feng ~]# for name in fus{1..9}; do echo $name; done > /etc/vsftpd/user_list

 [root@feng ~]# echo ftp >> /etc/vsftpd/user_list

 [root@feng ~]# echo manager >> /etc/vsftpd/user_list

第十一步:设置文件目录访问权限

 ftp目录的访问权限:

 [root@feng ~]# chown root:ftp /var/ftp/

 [root@feng ~]# tree /var/ftp

/var/ftp/ 目录权限 目录所有者 目录属组 目录

├── manager drwx------ manager manager manager

├── OU_IT drwxr-x--- root IT OU_IT

│ ├── fus1 drwx------ fus1 fus1 fus1

│ ├── fus2 drwx------ fus2 fus2 fus2

│ ├── fus3 drwx------ fus3 fus3 fus3

│ └── pub_it drwxrwx--- root IT pub_it

├── OU_FD drwxr-x--- root FD OU_FD

│ ├── fus4 drwx------ fus4 fus4 fus4

│ ├── fus5 drwx------ fus5 fus5 fus5

│ ├── fus6 drwx------ fus6 fus6 fus6

│ └── pub_fd drwxrwx--- root FD pub_it

├── OU_HR drwxr-x--- root HR OU_H

│ ├── fus7 drwx------ fus7 fus7 fus7

│ ├── fus8 drwx------ fus8 fus8 fus8

│ ├── fus9 drwx------ fus9 fus9 fus9

│ └── pub_hr drwxrwx--- root HR pub_it

└── pub drwxrwxr-x root ftp pub

第十二步:重启服务,使配置文件生效

 [root@feng ~]# ps -ef | grep vsftpd (获取vsftpd进程的PID-2784)

 [root@feng ~]# kill -HUP 2784 (2784=vsftpd的进程号)

第十三步:设置vsftpd开机启动

 [root@feng ~]# chkconfig vsftpd on

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:vsftpd实例:匿名访问共享+系统用户访问控制-创新互联
转载来源:http://kswjz.com/article/ccddss.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流