N21天天第十三周课程练习

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)

  1)共享名为shared,工作组为magedu;

  2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;

  3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;

  4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;

  5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问; 

 1、创建用户及组 

[root@Samba ~]# groupadd develop
[root@Samba ~]# useradd -G develop gentoo
[root@Samba ~]# useradd -G develop centos
[root@Samba ~]# useradd ubuntu
[root@Samba ~]# for i in gentoo centos ubuntu;do echo $i:$i | chpasswd;done
2、安装Samba,并修改配置文件
[root@Samba ~]# yum -y install samba
[root@Samba ~]# cd /etc/samba/
[root@Samba samba]# cp smb.conf{,.bak}
[root@Samba samba]# vim smb.conf
修改
workgroup = MYGROUP
为
workgroup = magedu
修改
passdb backend = tdbsam
为
    passdb backend = smbpasswd
    smb passwd file = /etc/samba/smbpasswd
添加 
hosts allow = 172.16.0.0/16
末尾添加
[shared]
comment = Magedu.com
path = /data
guest = yes 
writable = no
write list = +develop
3、创建Samba用户并启动服务
[root@Samba samba]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@Samba samba]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@Samba samba]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)

  1)基于虚拟用户的访问形式;

  2)匿名用户只允许下载,不允许上传;

  3)禁锢所有的用户于其家目录当中;

  4)限制最大并发连接数为200:;

  5)匿名用户的最大传输速率512KB/s

  6)虚拟用户的账号存储在mysql数据库当中。

  7)数据库通过NFS进行共享。 

配置环境:
 nfs服务器:192.168.1.61
 vsftp、mysql服务器:192.168.1.64
一、通过NFS服务器共享数据库
1、在192.168.1.61服务器上启动nfs服务,设置共享目录为/data
[root@NFS ~]# mkdir /data
[root@NFS ~]# groupadd -g 27 mysql
[root@NFS ~]# useradd -g mysql -u 27 -s /sbin/nologin -M mysql 
[root@NFS ~]# chown -R mysql.mysql /data/
[root@NFS ~]# vim /etc/exports 
/data   192.168.1.64(rw,no_root_squash)
[root@NFS ~]# service  nfs start
2、在192.168.1.64服务器上安装mysql,创建目录/mydata 用来挂载nfs共享目录。
[root@Vsftp ~]# yum -y install mysql mysql-server mysql-devel
[root@Vsftp ~]# mkdir /mydata
[root@Vsftp ~]# chown -R mysql.mysql /mydata/
[root@Vsftp ~]# mount 192.168.1.61:/data /mydata/
[root@Vsftp ~]# vim /etc/my.cnf 
修改
datadir=/var/lib/mysql
为
datadir=/mydata
#初始化mysql
[root@Vsftp ~]# mysql_install_db --datadir=/mydata/
[root@Vsftp ~]# service mysqld start
二、基于虚拟用户的vsftp
1、在192.168.1.64服务器上创建数据库
mysql> create database vsftpd;
#创建数据库用户,授权对vsftpd数据库有查询权限
grant select on vsftpd.* to vsftpd@127.0.0.1 identified by '123456';
mysql> grant select on vsftpd.* to vsftpd@192.168.1.64 identified by '123456';
mysql> flush privileges;
#在vsftpd数据库中创建表users
mysql> use vsftpd;
mysql> create table users ( id int auto_increment not null, name char(20) binary not null,
  password char(48) binary not null, primary key (id) );
#插入虚拟用户
mysql> insert into users (name,password) values ('zhangsan',password('123456'));
mysql> insert into users (name,password) values ('lisi',password('123456'));
2、在192.168.1.64服务器上安装vsftpd服务及pam_mysql认证
#安装epel源
[root@Vsftp ~]# rpm -ivh epel-release-latest-6.noarch.rpm
#安装vsftpd服务及pam_mysql认证
[root@Vsftp ~]# yum -y install vsftpd pam_mysql
3、建立pam认证需要的文件
[root@Vsftp ~]# vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table=users
 usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=123456 host=192.168.1.64 db=vsftpd table=
  users usercolumn=name passwdcolumn=password crypt=2
4、添加虚拟用户对应的系统用户,使其适用mysql认证
[root@Vsftp ~]# useradd -s /sbin//nologin -d /ftproot vuser
[root@Vsftp ~]# chmod +rx /ftproot/
5、配置vsftp服务
[root@Vsftp ~]# cd /etc/vsftpd/
[root@Vsftp vsftpd]# cp vsftpd.conf{,.bak}
请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES#将用户禁锢在自己的家目录中
guest_enable=YES
guest_username=vuser#指明虚拟用户映射到的系统用户
pam_service_name=vsftpd.mysql#指明使用/etc/pam.d/vsftpd.mysql来认证
user_config_dir=/etc/vsftpd/vusers_config#指明虚拟用户的配置文件
6、创建所需要目录,并有虚拟用户提供配置文件
[root@Vsftp vsftpd]# mkdir /etc/vsftpd/vusers_config
[root@Vsftp vsftpd]# cd /etc/vsftpd/vusers_config
[root@Vsftp vusers_config]# touch zhangsan lisi
7、配置虚拟用户的权限
虚拟用户对vsftpd服务的访问权限是通过匿名用户的相关指令进行的。比如,如果需要让zhangsan用户具有上传文件的权限,
  可以修改/etc/vsftpd/vusers_config/zhangsan文件,在里面添加如下选项即可。
[root@Vsftp vusers_config]#cat /etc/vsftpd/vusers_config/zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@Vsftp vsftpd]# service vsftpd start
三、基于匿名用户的vsftp
[root@Vsftp vsftpd]# grep -v ^# vsftpd.conf
anonymous_enable=YES
local_enable=NO
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
download_enable=YES#允许下载
max_clients=200#允许并发客户端数目
anon_max_rate=512k#最大下载速度
listen=YES
pam_service_name=vsftpd
userlist_enable=YES#针对系统用户访问的控制策略
tcp_wrappers=YES
[root@Vsftp vsftpd]# service vsftpd restart

原创文章,作者:N21-天天,如若转载,请注明出处:http://www.178linux.com/59537

(0)
N21-天天N21-天天
上一篇 2016-12-05 17:05
下一篇 2016-12-05 17:05

相关推荐

  • 如何安装CentOS 6.8 ?

    一 ,首先我要先在虚拟机的平台上搭建一下我们需要的环境。 1,选择创建一个新的虚拟机。之后选择自定义安装。点击下一步 2,选择硬件兼容性workstation12.0,(根据情况你也可以选择下面的几个版本,不过要记得选择版本之后,不能再这个版本以下打开虚拟机) 3,点击下一步选择安装程序光盘映像文件项。点击下一步。 4,之后创建一下用户信息,点击下一步。 5…

    Linux干货 2017-02-14
  • vim编辑器练习&任务计划&脚本编程练习

    请详细总结vim编辑器的使用并完成以下练习题 vim总结: vi:Visual Interface,是一种文本编辑器,所谓文本数据是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。 文本编辑器的种类:  行编辑模式:所谓行编辑器是指一行一行来编辑处理的工具,如sed。  全屏编辑器:编辑空间占据整个屏幕,如nano…

    Linux干货 2016-10-31
  • 集中练习3

    用户管理、文本处理、文件管理相关

    2017-09-20
  • 实现CA和证书申请,

    接下来讲的是在centos7.3和centos6.8中实现CA和证书申请,centos7.3作为主机,centos6.8作为客户端 首先你授权客户端CA证书,必须本身主机也具有CA,自己证明自己,先CA自签证书,然后在7.3创建私钥 为了方便以后的操作CD进入 cd /etc/pki/CA   生成自签名证书 -new:  生成…

    2017-04-11
  • Linux的基本介绍

    1、Linux的发行版分为:Debin,Slackware,Rhel,Redora,CentOS,Gentoo等,其中Rhel(Red Hat Enterprise Linux)使用的是版本比较老的内核,但它的系统比较稳定,一个发行周期是36个月,Fedora使用最新的应用和华丽的节目,但系统比较不稳定,一个发行周期是6个月。 2、Linux的哲学思想是一切…

    Linux干货 2016-02-14
  • LANMT架构搭建jspxcms

                    LANMT架构搭建jspxcms 前言 LANMT是什么? 实验拓扑图 实验环境 实验步骤 Tomcat配置 MySQL配置 jspxcms安装 Apache Http…

    Linux干货 2016-04-22