22期第十三周课堂练习

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网络的主机访问; 

[root@localhost ~]#yum info samba.x86_64      #查看samba包的信息
[root@localhost ~]#yum -y install samba.x86_64   #安装samba服务
[root@localhost ~]#rpm -ql samba       #查看samba安装后的文件
[root@localhost ~]#groupadd develop    #添加develop组
[root@localhost ~]#useradd  -G develop gentoo      #添加gentoo用户并给它指定附加组develop
[root@localhost ~]#useradd  -G develop centos      #添加centos用户并给它指定附加组develop
[root@localhost ~]#useradd ubuntu                  #添加ubuntu用户
[root@localhost ~]#echo "gentoo" | passwd --stdin gentoo   #添加密码
[root@localhost ~]#echo "centos" | passwd --stdin centos
[root@localhost ~]#echo "ubuntu" | passwd --stdin ubuntu
[root@localhost ~]#smbpasswd -a centos    #为samba服务添加centos用户,此处需要输入密码我设置为centos
[root@localhost ~]#smbpasswd -a gentoo  #此处需要输入密码我设置为gentoo
[root@localhost ~]#smbpasswd -a ubuntu #此处需要输入密码我设置为ubuntu
[root@localhost ~]#mkdir /data     #建分享目录
[root@localhost ~]#chmod g+w /data #修改分享目录的组写权限
[root@localhost ~]#chown :develop /data    #修改分享目录的数组
[root@localhost ~]# ll -d /data/
drwxrwxr-x 3 root develop 4096 Jan  3 20:31 /data/
[root@localhost ~]#vim  /etc/samba/smb.conf 
          
        hosts allow = 172.16.   //仅允许来自于172.16.0.0/16网络的主机访问        
        workgroup = magedu      //工作组为magedu
        security = user         // 使用SANBA服务自我管理的账号和密码进行用户认证;
                                   用户必须OS用户,但密码非为OS用户的密码;而是用访问samba服务的专用密码;
        passdb backend = tdbsam      
        [share]
        comment = myshare
        path = /data
        browseable = yes
        write list = @develop
        
测试:
[root@localhost ~]# smbclient //192.168.180.130/share -U centos
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> mkdir test
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (786.1 kb/s) (average 786.1 kb/s)  
[root@localhost ~]# smbclient //192.168.180.130/share -U gentoo
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> mkdir test
smb: \> lcd /etc
smb: \> put fstab 
putting file fstab as \fstab (786.1 kb/s) (average 786.1 kb/s)    

[root@localhost ~]# smbclient //192.168.180.130/share -U gentoo
Enter gentoo's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> lcd /etc/yum
yum/         yum.conf     yum.repos.d/ 
smb: \> lcd /etc/yum.repos.d/
smb: \> put local.repo 
putting file local.repo as \local.repo (24.4 kb/s) (average 24.4 kb/s)
smb: \>            

[root@localhost ~]# smbclient //192.168.180.130/share -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \> lcd /etc
smb: \> lcd yum.repos.d
smb: \> !ls
CentOS-Base.repo.bak   CentOS-Media.repo  epel.repo.bak      local.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo  epel-testing.repo
smb: \> put local.repo 
NT_STATUS_ACCESS_DENIED opening remote file \local.repo

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

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

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

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

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

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

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

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

1.安装开发包
#yum -y groupinstall "Development Tools" "Server Platform Development"
2.安装依赖包
#yum -y install pam-devel openssl-devel
3.编译安装pam_mysql
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
 #make && make install
4.创建本地用户用于虚拟用户的映射  
root@localhost ~]# useradd -s /sbin/nologin -d /ftproot vuser
[root@localhost ~]# chmod go+rx /ftproot
[root@localhost ~]# chmod -w /ftproot

5.编辑vsftpd配置文件:
[root@localhost ~]# vim /etc/vsftpd//vsftpd.conf   
anonymous_enable=YES //开启匿名访问
local_enable=YES      //启用本地认证
write_enable=YES      //启用写入权限
anon_upload_enable=NO //禁用匿名用户上传
chroot_local_user=YES //锁定用户的目录
max_clients=200       //最大并发数
anon_max_rate=512000   //限制匿名用户传输速率
guest_enable=YES       //启用来宾账户
guest_username=vuser   //来宾账户映射本地用户
pam_service_name=vsftpd.mysql //pam文件
6.对mysql进行授权
root@localhost ~]# mysql   
MariaDB [(none)]> create database vsftpd;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> use vsftpd
Database changed
MariaDB [vsftpd]> create table users(
    -> id int auto_increment not null primary key,
    -> name char(30) not null,
    -> password char(48) binary not null );
Query OK, 0 rows affected (0.01 sec)
MariaDB [vsftpd]> insert into users (name,password) values ('test1',password('123456'));
Query OK, 1 row affected (0.00 sec)
MariaDB [vsftpd]> insert into users (name,password) values ('test2',password('123456'));
Query OK, 1 row affected (0.00 sec)
MariaDB [vsftpd]> grant select on vsftpd.* to vftpd@localhost identified by '123456';
Query OK, 0 rows affected (0.01 sec)
MariaDB [vsftpd]> grant select on vsftpd.* to vsftpd@'127.0.0.1' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [vsftpd]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [vsftpd]> exit
Bye
7.编辑vsftpd.mysql
[root@localhost pam.d]vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=mageedu host=localhost db=vsftpd table=users 
usercolumn=name passwdcolumn=password crypt=2

8.测试
[root@localhost pam.d]# ftp 192.168.180.130
Connected to 192.168.180.130 (192.168.180.130).
220 (vsFTPd 2.2.2)
Name (192.168.180.130:root): test1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
[root@localhost pam.d]# ftp 192.168.180.130
Connected to 192.168.180.130 (192.168.180.130).
220 (vsFTPd 2.2.2)
Name (192.168.180.130:root): test2
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
9.配置nfs
[root@localhost pam.d]# service nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
10.导出目录
[root@localhost data]# cat /etc/exports 
/mydata/data 192.168.180.0/24(rw)
[root@localhost data]# mount -t nfs 192.168.180.130:/mydata/data /media

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

(0)
a295053193a295053193
上一篇 2017-01-09
下一篇 2017-01-09

相关推荐

  • 详解用户,组,权限管理

    详解用户,组,权限管理 M21-陆东贵 测试环境:CentOS 7.2 内容介绍: 我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理。 需要使用的工具:       用户相关工具:useradd; …

    Linux干货 2016-10-25
  • Linux 基础入门(第一周)

    计算机组成,Linux发行版本,Linux基础命令

    Linux干货 2017-12-03
  • 用户及权限管理

     今天是学习马哥教育第四天,也是第一个博客作业,写一篇关于用户及权限管理的简介型的博客文章,作文水品有限,所以写出来有可能有病句或者意境有问题,请大家多多包涵。  首先,用户及权限管理,需要从2方面入手来说,首先来说用户管理。  何谓用户,这是马哥一上来就提到的问题,我简单的理解,用户其实就是一个人机交互的接口,人机交互的接口是…

    Linux干货 2016-09-15
  • Linux 基础知识(六.三)

    按找下列要求,写一个脚本 (1)创建目录/tmp/testdir-当前日期时间 (2)在此目录创建100个空文件:file1-file100 (3)显示/etc/passwd文件中位于偶数行的用户的用户名 (4)创建10个用户:user10-user19,密码同用户名 (5)在/tmp创建10个空文件file10-file19 脚本如下: #!/bin/ba…

    Linux干货 2016-11-14
  • linux上的组管理

    上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理。 groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制添加一个组(这个组可能已经存在系统中) -g 指定组的id; -r 创建系统工作组(系统工作组的组ID小于500) -K 覆盖配置文件/ect/log…

    Linux干货 2017-04-09
  • 网络N23期第二周心得

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp 文件复制        常用选项:            -i:交互式            -r, -R: 递归…

    Linux干货 2016-12-05