马哥教育网络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

相关推荐

  • 网络26期 第五周作业

    1. 显示当前系统上root、fedora或user1用户的默认shell egrep -o “^(root|fedora|user1)\>.*[^:]+$” /etc/passwd | cut -d: -f1,7 2. 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(…

    2017-03-13
  • N22-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]# cat /etc/passwd | grep "^root" | cut -d: -f7 /bin/bash 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello()…

    Linux干货 2016-09-15
  • 详解LAMP源码编译安装

    详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 一、准备工作 卸载yum或rpm安…

    Linux干货 2016-10-16
  • Linux软件包管理

      在我们的运维工作,总是避免不了安装某些软件,或者编译安装某些软件,我们知道操作系统当中的程序都是有程序员通过开发工具开发的来,程序员直接编写的纯文本的文档我们称之为源代码,但我们的计算机只能识别二进制程序,那么必须要将源代码变成计算机能识别的二进制程序,这里需要通过编译器来进行编译,将源码转换成二进制程序,再通过安装即可。 还有一类程序就是二进…

    Linux干货 2016-08-24
  • 【】

         

    Linux干货 2016-10-30
  • 磁盘管理及shell脚本编程练习

    1、创建一个10G分区,并格式为ext4文件系统 a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; ~]# mke2fs –t ext4 –b 2048 –m 2 –L MYDATA  /dev/sda3 b) 挂载至/data/madata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ~…

    2017-11-15

评论列表(1条)

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

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