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 10:03
下一篇 2017-01-09 10:03

相关推荐

  • sed命令及vim编辑器

    sed[option]… 'script' inputfile…选项:-n:不输出模式空间内容的自动打印-e: 多点编辑-f /PATH/TO/SCRIPT_FILE: 从指定文件中读取编辑脚本-r: 支持使用扩展正则表达式-i: 原处编辑script:'地址命令' 1.地址定界:(1) 不给地…

    Linux干货 2016-08-11
  • 第五周着重练习扩展正则元字符及find命令

    1、显示当前系统上root、fedora或user1用户的默认shell; grep -E "^(root|hadoop|user1)\>" /etc/passwd |cut -d":" -f1,7 2、找出/etc/rc.d/init.d/functi…

    Linux干货 2016-12-13
  • 磁盘管理初级

    1、lsblk命令:显示系统上所有可用块设备信息 lsblk [options] [device…]          NAME           &nbs…

    Linux干货 2016-08-29
  • linux 小命令

    设置自动登录、设置网络自动连接、字体颜色

    2017-11-19
  • jackcui0804作业

    (1)显示/proc/meminfo 文件中以大小s 开头的行;( 要求:使用两种方式) [root@centos7 ~]# cat /proc/meminfo | grep -e "^s.*" -e "^S.*" SwapCac…

    Linux干货 2016-08-08
  • yum初步入门

                             yum工具是为提高RPM软件安装性而开发的一种软件包管理器,是由pyt…

    Linux干货 2015-04-01