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 centos@127.0.0.1 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

相关推荐

  • Linux磁盘管理高级

    Linux磁盘管理高级 LVM Btrsh LVM 逻辑卷管理(LVM)指系统将物理卷管理抽象成一个逻辑卷,包括重新设定文件系统的大小,LVM可以弹性的更改LVM的容量,通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量。 LVM还有快照的功能,快照区与原本的LV共用很多PE的区块,因…

    Linux干货 2016-09-09
  • N22-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 sort -u 在输出结果中去除重复行 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 uniq -c 在输出行前面加上每行在输入文件中出现的次数。 sort -rn : -n  …

    Linux干货 2016-08-29
  • 计算机的组成及功能

    计算机的组成及功能 计算机由CPU、存储器、输入设备、输出设备等部件组成。 CPU:为计算机的中央处理器,是计算机的核心部分,由运算器和控制器组成。 运算器:CPU中用于进行算术运算和逻辑运算的部件。 控制器:整个CPU的指挥中心,控制程序中指令读取、解析并产生相应的操作控制信息保证各程序的有序执行。 存储器:计算机中用来存储数据、程序等信息的部件,并在需要…

    Linux干货 2017-07-02
  • 编译安装dropbear和使用

    一、概念 Dropbear是一个相对较小的SSH服务器和客户端。它运行在一个基于POSIX的各种平台。 Dropbear是开源软件,在麻省理工学院式的许可证。 Dropbear是特别有用的“嵌入”式的Linux(或其他Unix)系统,如无线路由器。 二、功能 dropbear实现完整的SSH客户端和服务器版本2协议。它不支持SSH版本1 的向后兼容性,以节省…

    Linux干货 2016-10-04
  • Linux终端类型

    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。 1、控制台终端(/dev/console)    在Unix系统中,计算机显示器通常被称为控制台终端。Console与虚拟终端相关联,内核将信息送到控制台终端上(/dev/console), 通过与console相关联的虚拟终端将信息显示到屏幕上。不管当前正在…

    Linux干货 2016-10-19
  • linux基础练习

    马哥教育23期网络班+第6周课堂练习 Linux 基础练习 一、linux基础练习题 1、复制/etc/rc.d/rc.sysinit 文件至/tmp 目录,将/tmp/rc.sysinit 文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf 至/tmp目录中 删除/tmp/grub.conf 文件中的行首的空白…

    Linux干货 2016-11-01

评论列表(1条)

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

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