N25期–第十三周作业

1、 建立samba共享,共享目录为/data,要求:(描述完整的过程)
  1)
共享名为shared,工作组为magedu
  2)
添加组develop,添加用户gentoo,centosubuntu,其中gentoocentosdevelop为附加组,ubuntu不属于develop组;密码均为用户名;
  3)
添加samba用户gentoo,centosubuntu,密码均为“mageedu”;
  4)
samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
  5)
samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;

 

 

# yum install -y samba

# service smb start

# service nmb start

 

# groupadd develop

# useradd -s
/sbin/nologin -G develop gentoo

# useradd -s
/sbin/nologin -G develop centos

# useradd -s
/sbin/nologin ubuntu

# echo
“gentoo” | passwd –stdin gentoo

# echo
“centos” | passwd –stdin centos

# echo
“ubuntu” | passwd –stdin ubuntu

 

# smbpasswd -a gentoo

New SMB password:

Retype new SMB password:

Added user gentoo.

# smbpasswd -a centos

# smbpasswd -a Ubuntu

 

# pdbedit –L

setfacl
-m g:develop:rwx /data/

getfacl
/data/

 

# cp /etc/samba/smb.conf{,.bak}

# vim /etc/samba/smb.conf

 

[shared]

workgroup = magedu

hosts allow = 172.16.0.0/16

comment = Shared test

path = /data

valid users = gentoo,centos,ubuntu,+develop

read list = ubuntu

write list = +develop

writable = yes

printable
= no


2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
  1)
基于虚拟用户的访问形式;
  2)
匿名用户只允许下载,不允许上传;
  3)
禁锢所有的用户于其家目录当中;
  4)
限制最大并发连接数为200:
  5)
匿名用户的最大传输速率512KB/s
  6)
虚拟用户的账号存储在mysql数据库当中。
  7)
数据库通过NFS进行共享。

 

一、安装所需要程序

   
##
安装mysqlpam_mysql

    #
yum -y install  mysql-server mysql-devel
pam_mysql vsftpd

 

二、创建虚拟用户账号

   
1.
准备数据库及相关表

    首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,这里将其创建为vsftpd数据库。

   
mysql> create database vsftpd;

   
mysql> grant select on vsftpd.* to centos@localhost identified by
‘centos’;

   
mysql> grant select on vsftpd.* to [email protected] identified by
‘centos’;

   
mysql> flush privileges;

   
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)

     );

 

2、添加测试的虚拟用户

    根据需要添加所需要的用户,需要说明的是,这里将其密码为了安全起见应该使用PASSWORD函数加密后存储。

   
mysql> insert into users(name,password)
values(‘centos’,password(‘centos’));

   
mysql> insert into users(name,password)
values(‘gentoo’,password(‘gentoo’));

 

 

三、配置vsftpd

1.建立pam认证所需文件

   
#vi /etc/pam.d/vsftpd.mysql

    添加如下两行

   
auth required /lib/security/pam_mysql.so user=centos passwd=centos  host=localhost db=vsftpd table=users
usercolumn=centos passwdcolumn=centos crypt=2

   
account required /lib/security/pam_mysql.so user=centos  passwd=centos 
host=localhost db=vsftpd table=users usercolumn=gentoo
passwdcolumn=gentoo crypt=2

   

#建立虚拟用户映射的系统用户及对应的目录

    #
useradd -s /sbin/nologin -d /var/ftproot vuser

    #
chmod go+rx /var/ftproot

 

2.修改vsftpd的配置文件,使其适应mysql认证

# vi /etc/vsftpd/vsftpd.conf

   请确保/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#指明虚拟用户的配置文件

创建所需要目录,并有虚拟用户提供配置文件

[root@Vsftp vsftpd]# mkdir
/etc/vsftpd/vusers_config

[root@Vsftp vsftpd]# cd
/etc/vsftpd/vusers_config

[root@Vsftp vusers_config]# touch zhangsan
lisi

配置虚拟用户的权限

虚拟用户对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

# service vsftpd restart

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

(0)
victorli88victorli88
上一篇 2017-04-05 18:57
下一篇 2017-04-05 22:19

相关推荐

  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; # fdisk /dev/sda n p 3 w # partx -a /dev/sda  # partx -a /dev/sda # mke2fs -t ext4 -b&nbs…

    Linux干货 2016-10-09
  • 文件权限的设置和文件的特殊权限及其命令使用

    1. linux的系统管理员很重要的任务就是管理自己服务器的文件,对于权限设置等级森严的linux文件系统,文件系统的访问权限管理自然也是linux管理员必不可少的一项技能。 在linux中文件的基本权限中:被分为三大项:文件拥有者,文件拥有组,其他人。 每一项中,用三位八进制的数字来代表文件是否可读,是否可写,是否可执行。并根据用户不同可以设置不同的uma…

    Linux干货 2016-08-05
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。   答:文件操作     ls 列出目录下的文件名      ls -l /     touch 文件不存在时生成该文件      touch a.txt   &…

    Linux干货 2016-06-23
  • DNS基础及使用BIND搭建域名服务器

        本文主线是DNS服务相关概念和服务器搭建,在此之前了解一下域名这个东东很有其必要性,因为DNS服务就是应域名而生的。那么域名是什么哪?     域名     域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,用于在数据传输时标识计算机的电子方位。举…

    Linux干货 2015-06-11
  • 网络服务基础理论

    最近学习了有关网络管理的有关知识,所以给也在学习这些知识的童鞋分享一下我的一些经验。 听了这几天课,总结了几个前提。 有关网络的通信均是基于数据传输的,且数据均是二进制格式的流式数据。 在网络中需要把大包分成小包, 每传一个包都需要有三个地址,由内向外为端口号、IP地址、MAC地址。端口号确定应用,IP确定网段,MAC确定广播域中的某个网卡。 OSI模型 &…

    Linux干货 2017-09-01
  • 三剑客之Sed

    sed:stream editor(流编辑器) 工作特性:并不直接处理文本文件本身,处理机制为每当处理一个文件的时候,它会逐行读取,每次把一行读取到内存空间中去,而后在模式空间(pattern space)中完成编辑.并把编辑好的结果输出到屏幕上  功      能:数据替换、删除、增加、等,数据为关键字或者一整行, …

    Linux干货 2016-08-08

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-13 09:48

    能使用markdown并给出实验结果会更好~继续加油~