马哥教育网络21期+第十三周练习博客

    马哥教育网络21期+第十三周练习博客

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)
1)共享名为shared,工作组为magedu;
在服务器上安装samba
]# yum install samba
创建共享目录/data
启动samba的nmb和smb的服务
]# service nmb start; service smb start
这里我使用了单独的磁盘分区进行samba的文件存储
将区分好的磁盘空间挂载至data这个目录下


2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
增加用户
useradd -s /sbin/nologin -G develop gentoo
echo "gentoo" | passwd --stdin gentoo
useradd -s /sbin/nologin -G develop centos
echo "centos" | passwd --stdin centos
useradd -s /sbin/nologin  ubuntu
echo "ubuntu" | passwd --stdin ubuntu

创建develop组编辑/etc/group配置文件将gentoo和centos加入到develop组组中
[root@ns2 samba]# id gentoo
uid=501(gentoo) gid=501(gentoo) groups=501(gentoo),504(develop)
[root@ns2 samba]# id centos
uid=502(centos) gid=502(centos) groups=502(centos),504(develop)

3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
[root@ns2 samba]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@ns2 samba]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@ns2 samba]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.
这里先进行测试查看在另外一台服务器上是否可以使用以上的三个用户进行访问
[root@localhost ~]# smbclient -L 172.16.0.122 -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       IPC Service (Samba Server Version 3.6.23-36.el6_8)
    centos          Disk      Home Directories
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

    Server               Comment
    ---------            -------
    NS2                  Samba Server Version 3.6.23-36.el6_8
    WIN-21CF1KE3RK9      ADMIN

    Workgroup            Master
    ---------            -------
    WORKGROUP            WIN-21CF1KE3RK9


4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
编写/etc/smb.conf配置文件
[shared]
commnet = WHK work
path = /data
valid users = gentoo,centos,ubuntu,@develop
read list = ubuntu
write list = @develop
writable = yes
printable = no
这里尝试登录
[root@localhost ~]# smbclient //172.16.0.122/data -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 19:56:02 2016
  ..                                 DR        0  Sat Sep 24 19:22:08 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016

    40330 blocks of size 524288. 37938 blocks available
这里出现了一个问题在使用develop组中的用户想写入文件发现没有权限,这里需要提醒此服务当中使用的交集模式,默认使用权限最小的方式进行修改文件问属性
[root@localhost ~]# smbclient //172.16.0.122/shared -U centos
Enter centos's password: 
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]
smb: \> 
smb: \> 
smb: \> 
smb: \> 
smb: \> mkdir wanghongkai
smb: \> 
smb: \> 
smb: \> ls
  .                                   D        0  Sat Sep 24 20:41:55 2016
  ..                                 DR        0  Sat Sep 24 19:22:07 2016
  lost+found                          D        0  Sat Sep 24 19:56:02 2016
  wanghongkai                         D        0  Sat Sep 24 20:41:55 2016

        40330 blocks of size 524288. 37938 blocks available



5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问; 
这里samba的共享服务仅允许来自于特定的网段进行主机访问,那么就需要在全局配置中进行定义[glob]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = MYSERVER
;  interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 
hosts allow = 172.16.0.0/16


2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
安装所需要的软件
]# yum -y install  mysql-server mysql-devel pam_mysql

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

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

3)禁锢所有的用户于其家目录当中;
chroot_local_user=YES
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
在服务器上启动nfs服务
]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]

为共享数据库的提供特定的文件路径
在/etc/exports上共享nfs服务器端共享的文件系统
]# cat /etc/exports 
/mydata/data    172.16.0.136(rw)
将NFS的文件系统挂载至mnt目录上
]# mount -t nfs 172.16.0.136:/mydata/data/ /mnt
修改数据库的配置文件
[mysqld]
datadir=/mydata/data
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

编写vsftp的数据用户列表
mysql> CREATE DATABASE vsftpd;-->创建数据库
mysql>  grant select on vsftpd.* to vsftpd@'172.16.%.%' identified by 'www.magedu.com';-->允许172.16段的所有地址访问数据库
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)
 );
添加虚拟用户
mysql> insert into users(name,password) values('magedu1',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('magedu2',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> insert into users(name,password) values('wostop',password('password01!'));
Query OK, 1 row affected (0.00 sec)

建立pam认证所需要的文件
]# cat /etc/pam.d/vsftpd.mysql
auth required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=www.magedu.com host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
为虚拟用户建立系统用户
]# useradd -s /sbin/nologin -d /ftproot/ vuser
并修改权限
]#chmod go+rx /var/ftproot
编写/etc/vsftpd/vsftpd.conf
加入如下:
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.mysql-->启用mysql认证
max_clients=200
anon_max_rate=512
使用其他服务器进行测试:
[root@ns1 htdocs]]# ftp 172.16.0.122
Connected to 172.16.0.122 (172.16.0.122).
220 (vsFTPd 2.2.2)
Name (172.16.0.122:root): magedu1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering Passive Mode (172,16,0,122,114,1).
150 Here comes the directory listing.
drwx------    2 500      500          4096 Sep 16 15:45 cd
226 Directory send OK.
ftp> mkdir wanghongkai 
257 "/wanghongkai" created
ftp> exit
221 Goodbye.

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

(0)
上一篇 2016-10-31 10:55
下一篇 2016-10-31 11:37

相关推荐

  • 第七周作业

    第七周 1,创建一个10G分区,并格式化为ext4文件系统;(1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl;(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@www ~]# fdisk /dev/sda <————-fd…

    Linux干货 2017-09-03
  • 文件系统管理_设定文件系统的配额

    认识配置配额系统 :为控制用户使用的空间的大小,在linux可以实现对分区的大小控制,控制用户在这个分区内使用空间的大小同时还可以对用户的文件个数实现控制。 在linux系统中其遵循文件分区来实现控制 磁盘的配额只针对单个分区来实现控制,不能对单块磁盘(硬盘)来实现控制的 【搭建试验环境 1】 怎样把某一个文件夹(/home)单独放到(迁移)一个独立的分区中…

    Linux干货 2017-04-24
  • 20160801作业-用户和组

    http://note.youdao.com/yws/public/redirect/share?id=ba6a68550cd5c0ba5fd1cbfb66651916&type=false

    Linux干货 2016-08-08
  • 二进制安装mysql(mariadb)

    实验环境: ~]# lsb_release -a Distributor ID: CentOSDescription: CentOS Linux release 7.4.1708 (Core)Release: 7.4.1708Codename: Core 去官方下载mariadb: https://downloads.mariadb.org/ 本人将自己的文…

    2018-01-22
  • Linux源程序包管理器之RPM

    一、 RPM功能描述 l  打包 l  安装 l  卸载 l  升级 l  校验 l  数据库管理 二、 RPM包命名格式 1.       命名格式举例 name-version-relase.arch.rpm 例如:bash-4.2.3…

    系统运维 2015-09-25
  • select case的用法-函数练习-20160819

    §·select  case的用法 *介绍select 循环与菜单 ◎语法 select  variable  in  list[ ] do 循环体命令 Done  ◎select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输 入 ◎用户…

    Linux干货 2016-08-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-10 20:34

    赞,版风独特~~总结的也不错,加油~