马哥教育网络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)
wostopwostop
上一篇 2016-10-31 10:56
下一篇 2016-10-31 11:37

相关推荐

  • 文件的权限、扩展属性以及facl

    大纲: 一、前言 二、普通权限 三、特殊权限 四、ext文件的扩展属性 五、文件的访问控制列表(facl) 一、前言 linux中常见的权限有读(r)、写(w)、执行(x),还有3个特殊的权限。因此下面就从普通权限开始介绍起 二、普通权限 rwx:读 写 执行 rwxr-xr-x : 读写执行 读_执行 读_执行  (分别对应)属主 属组…

    Linux干货 2015-05-04
  • 正则表达式及其用法

    正则表达式及其用法 1.   什么是正则表达式 正则表达式是Global search REgular expression and Print out the line的缩写。是一类用字符所书写的模式,其中许多字符并不表示其字面意义,而是表达控制或通配等功能。 在Linux中,用正则表达式搜索文本的常用命令: grep: 使用基本正则表…

    Linux干货 2015-09-14
  • 正则表达式

    正则表达式课程笔记

    2017-11-05
  • shell编程、yum的使用

    shell编程、yum的使用 一、shell编程 1、while的特殊使用 while 循环的特殊用法(遍历文件的每一行): while read line; do      循环体 done < /PATH/FROM/SOMEFILE   依次读取/PATH/FROM/SOMEFILE 文件…

    Linux干货 2016-08-21
  • day6总结

    主要内容: useradd与usermod对比 groupadd与groupmod对比 passwd与chage对比 gpasswd与groupmems对比 切换用户 chown与chgrp用法 一般权限与特殊权限 chmod用法   useradd创建用户的初始信息存放在/etc/login.defs和/etc//default/useradd文…

    系统运维 2016-08-08
  • iptables

    iptables Firewall:防火墙 隔离工具;Packets Filter Firewall;工作于主机或网络的边缘,对经由的报文根据预先定义的规则(匹配条件)进行检测,对于能够被规则匹配到的报文实行某预定义的处理机制的一套组件; 分类: 硬件防火墙:在硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现; 软件防火墙:应用软件处理逻辑运行于通用…

    Linux干货 2016-11-07

评论列表(1条)

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

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