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

相关推荐

  • RAID配置管理

    RAID:Redundant Arrays Indexpensive Disks     多个磁盘组合成一个阵列,来提供更好的性能、冗余     提高IO功能:         磁盘并行读写 &nbs…

    Linux干货 2016-09-01
  • lvm逻辑卷

    创建逻辑卷

    2017-12-17
  • N25_第五周

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;grep -E "^[[:space:]]+" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;grep -E "^#[[:space:]…

    Linux干货 2017-01-08
  • yum

    yum yum:YellowdogUpdate Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具 yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)文件服务器:http://https://ftp://file:// …

    2017-08-17
  • lvm基本应用,扩展及缩减实现

    一、    LVM的创建     LVM因为他的可扩展和可伸缩的特性,被广泛的应用于磁盘管理中,创建LVM则必须先创建pv然后创建vg最后才能创建lv,他们之间的关系如下:呈金字塔结构     1、创建查看pv     …

    Linux干货 2016-03-09
  • 任务计划

                          Linux任务计划 一、任务计划     (1)未来的某一个时间点执行一次某任务:at、batch     (2)周期性运行某…

    2017-05-14

评论列表(1条)

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

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