同台主机同个ip地址实现匿名共享和本地用户认证共享
1.配置网络参数;
[root@lwh ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:29:7C:9C
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.100.150
NETMASK=255.255.255.0
GATEWAY=192.168.100.100
DNS1=192.168.100.100
:wq
2.清空防火墙规则;
[root@lwh ~]# /etc/init.d/iptables stop
[root@lwh ~]# chkconfig iptables off
3.关闭selinux;
[root@lwh ~]# vi /etc/selinux/config
SELINUX=disabled
:wq
[root@lwh ~]# reboot
[root@lwh ~]# getenforce
Disabled
4.安装vsftpd软件包;
[root@lwh ~]# yum -y install vsftpd
5.修改配置文件,实现匿名用户访问ftp,并且拥有上传、下载、删除、重命名等权限;
[root@lwh ~]# cp /usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf /etc/vsftpd/
[root@lwh ~]# vi /etc/vsftpd/vsftpd.conf ##注意ftp的配置文件非常严谨,多一个空格都会导致服务启动不了,若粘贴配置文件请将后边的空格和注释删掉
:%g/^#/d
:%g/^$/d
anonymous_enable=YES #允许匿名访问
local_enable=NO #不允许本地系统用户访问
write_enable=YES ##允许写入权限(全局配置)
#local_umask=022 ##注释掉本地用户所上传文件的默认权限掩码值
anon_umask=022 #匿名用户上传文件的默认权限掩码值
anon_upload_enable=YES ##允许匿名用户上传文件
anon_mkdir_write_enable=YES ##允许匿名用户创建或上传目录
anon_other_write_enable=YES ##允许匿名用户有其他写入权限,比如重命名、删除、覆盖等
dirmessage_enable=YES #允许显示用户切换目录时显示.message文件(如果存在的话)
xferlog_enable=YES ##启用xferlog日志,默认记录到/var/log/xferlog
connect_from_port_20=YES ##允许服务器主动模式
xferlog_std_format=YES ##启用标准xferlog日志模式
listen=YES ##允许以独立运行的方式监听服务
pam_service_name=vsftpd ##设置用于用户认证的PAM文件位置,在/etc/pam.d目录中对应的文件名
userlist_enable=YES ##启用user_list用户列表文件
tcp_wrappers=YES ##启用tcpwrapper主机访问控制
:wq
[root@lwh ~]# /etc/init.d/vsftpd start
[root@lwh ~]# netstat -utpln |grep ftp
6.创建ftp的测试目录;
[root@lwh ~]# cd /var/ftp/ ##此目录是匿名ftp的默认目录,可以通过在配置文件中进行更改;
[root@lwh ~]# mkdir ./linux ##创建linux目录,文件服务器的共有特点,双重权限:1.目录权限 2.服务权限 双重权限取最小!!!在这里我们将目录权限给到最大,在服务中进行控制权限。
[root@lwh ~]# chmod 777 /var/ftp/linux/
[root@lwh ~]# touch /var/ftp/linux/1.file
7.客户端验证访问;
windows:ftp://192.168.100.150/
linux:
连接光盘
mount /dev/cdrom /mnt
rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/centos.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
mount /dev/cdrom /mnt
ifconfig eth0 192.168.100.155 netmask 255.255.255.0 up
yum -y install lftp ftp wget
lftp 192.168.100.150
cd linux/
get 1.file
exit
注:配置匿名用户的禁止下载(禁止读取权限),可以通过anon_umask=配置项进行配置,这个掩码值为匿名用户(ftp用户)上传文件或者目录的权限反掩码值,若反掩码值为022时,那么用户上传的文件权限就为644,上传的目录权限就为755,那么如何控制用户下载文件呢?可通过掩码值删除用户创建文件的其他人(other)的r权限,通常配置项为077时,匿名用户就只能上传无法下载了,若配置项为022时,那么匿名用户是可上传可下载的;
8.在匿名ftp的配置文件的基础上,更改配置文件,搭建本地用户认证ftp;
[root@lwh ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES ##开启匿名访问
local_enable=YES ##开启本地用户访问
write_enable=YES
local_umask=077 ##设置本地用户上传文件或者目录的权限反掩码值
local_root=/opt/www/ ##指定本地用户认证ftp的根目录,默认不指定为用户的家目录
chroot_local_user=YES ##设置禁锢用户在自己的家目录,防止其切换到服务器的别的目录下
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES ##启用/etc/vsftpd/user_list文件
#userlist_deny=NO ##若等于NO,仅列表中的用户可以登录ftp,若设置为YES,则为仅禁止此列表中的用户登陆ftp,默认值为YES
tcp_wrappers=YES
one_process_model=NO ##指每个链接所对应的进程,如若为yes,那么则会大量消耗系统资源,通常此配置项为NO或者删掉
:wq
[root@lwh ~]# /etc/init.d/vsftpd restart
9.创建本地测试用户;
[root@lwh ~]# useradd u01
[root@lwh ~]# useradd u02
[root@lwh ~]# echo 123123 |passwd --stdin u01
更改用户 u01 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@lwh ~]# echo 123123 |passwd --stdin u02
更改用户 u02 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
10.创建测试ftp的目录;
[root@lwh ~]# mkdir /opt/www/
[root@lwh ~]# chmod 777 /opt/www/ ##配置目录权限为777,也可以通过目录的权限来控制登陆ftp的用户的权限,可以更改用户的属组,将本地用户添加至其属组,来控制权限,;
[root@lwh ~]# touch /opt/www/1.file ##创建测试文件
10.客户端测试;
windows:ftp://192.168.100.150/ 右键选择登陆,输入服务器本地测试用户登录访问ftp
linux:
lftp ftp://u01@192.168.100.150
注:本地用户认证的方式访问ftp服务器,可以通过ftp共享目录的权限来限制本地用户的上传下载权限。
11.ftp服务器的优化操作:
[root@lwh ~]# vi /etc/vsftpd/vsftpd ##在文件末尾追加
listen_address=192.168.100.156 ##设置服务器监听地址
listen_port=21 ##设置ftp服务监听端口
pasv_enable=YES ##设置开启服务器被动模式
pasv_min_port=20000 ##设置被动模式,ftp服务器传输文件时端口号的最小值
pasv_max_port=25000 ##设置被动模式,ftp服务器传输文件时端口号的最大值
max_clients=20 ##设置并发客户端数量
max_per_ip=2 ##设置同个ip最大的连接数
anon_max_rate=50000 ##设置匿名用户传输文件的最大速率,单位为字节
local_max_rate=200000 ##设置本地用户传输文件的最大速率,单位为字节
:wq
[root@lwh ~]# /etc/init.d/vsftpd restart
【Linux运维】第十三章(3):匿名共享_本地用户认证共享
最新推荐文章于 2024-05-04 21:48:55 发布