零基础学习云计算及大数据DBA集群架构师【Linux系统\网络服务及安全配置2015年1月5日周二】

nfs
1.作用:unix-like  unix-like 共享文件  
优势:访问远程的一个目录,就像访问本地的文件系统一样方便.
2.工作原理
nfs 本身监听的端口号是2049,但是由于nfs支持的功能相当的多,需要启用的端口号较多,需要由RPC来协助.
RPC的作用:指定NFS个功能对应的端口号,然后通知给客户端,让客户端可以连接到正确的端口号上.

NFS:处理客户端数据请求
RPC:处理客户端链接请求.
注意:nfs启动之前,rpc必须要启动,如果rpc重启了,nfs必须要重启

3.对应的软件
rpc : rpcbind
nfs : nfs-utils

4.nfs软件结构
/etc/nfsmount.conf --> 存放挂载时候会调用的一些参数
/etc/exports  -->主配置文件, 由setup程序安装出来.

/var/lib/nfs/etab  -->日志文件 记录了NFS共享出来的目录完整权限的设置值
/var/lib/nfs/xtab  -->日志文件 记录了客户端访问NFS服务器的数据信息

5.主配置文件写法
       /projects       proj*.local.domain(rw)
       /usr            *.local.domain(ro) @trusted(rw)
       /home/joe       pc001(rw,all_squash,anonuid=150,anon
gid=100)
       /pub            *(ro,insecure,all_squash)
       /srv/www        -sync,rw server @trusted @external(ro)
       /foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
       /build          buildhost[0-9].local.domain(rw)

共享目录   允许谁来访问我的共享目录(权限)
/nfsshare   172.25.0.0/255.255.255.0(ro)
重启服务后生效
service nfs restart
6.客户端访问
    1) 使用showmount命令 -e 跟上远程的ip地址,用来查看远程nfs共享的目录是什么,谁可以访问这个目录
[root@rhel7 ~]# showmount -e 172.25.0.11
Export list for 172.25.0.11:
/nfsshare 172.25.0.0/255.255.255.0
    2) 挂载使用方法:mount ip:共享目录 挂载点
 mount 172.25.0.11:/nfsshare /mnt

7.权限的问题
  1) 程序权限里如果没有指定no_root_squash ,则以root用户挂载会被映射成nfsnobody用户.
  2) 普通用户创建的文件会被映射成nobody是由于/etc/idmapd.conf文件导致的   

8./etc/fstab
  172.25.0.11:/nfsshare   /mnt            nfs             defaults   0 0
autofs
1.作用:自动挂接服务.用的时候自动挂载,不用的时候自动卸载
2.对应软件 autofs
主配置文件 /etc/auto.master
3.配置autofs的流程
    1) 修改主配置文件
[root@rhel7 /]# vim /etc/auto.master
[root@rhel7 /]# cat /etc/auto.master | grep mnt
/mnt    /etc/auto.mfs
父目录   数据文件(存放自动挂接的配置信息)
    2) 生成数据文件   cp -p /etc/auto.misc /etc/auto.mfs
    3) 修改数据文件 
   share       -fstype=nfs        172.25.0.11:/nfsshare
   挂载点        指定文件系统类型          源目录
(相对于主配置指定的父目录)
    4) 重启服务 systemctl restart autofs

4.默认不活跃时间.由/etc/sysconfig/autofs定义
TIMEOUT=300
samba
1.作用:windows和linux的文件共享.
2.软件  samba  
       samba-common
3.主配置文件
   1) /etc/samba/smb.conf   -->由samba-common软件安装出来.
   2) [global]  -->全局定义
    security = user       -->关于安全的定义  user代表需要输入用户名和密码
        passdb backend = tdbsam   --> 这是密码的数据库, tdbsam代表数据库类型
      [共享名]
         comment = 说明
        path = 共享的路径
        public = yes      是否所有人可以访问
        writable = yes    是否所有人可以进行写操作
4.smb监听的端口号  tcp :139和445
  nmb监听的端口号  udp :137和138
5.测试
客户端  1) 装包  cifs-utils  -->和windows共享所需要的软件包
               samba-client   -->samba客户端软件包
2)查看远程的共享目录命令
匿名用户
     smbclient -L 172.25.0.11 
本地用户:
在本地用户登陆之前必须有samba设置一个密码
在服务端执行 smbpasswd -a student   -->第一次赋予密码用的命令.
之后修改密码 smbpasswd student 
   smbclient -L 172.25.0.11 -U student
3)登陆远程共享目录
匿名用户     smbclient //172.25.0.11/共享名
本地用户     smbclient //172.25.0.11/共享名  -U student
setsebool -P samba_enable_home_dirs 1
匿名用户:mount -t cifs //172.25.0.11/共享名 /mnt
本地用户:mount -t cifs //172.25.0.11/共享名 /mnt -o username=student

mount -t cifs //172.25.0.11/student /mnt -o username=student
Password for student@//172.25.0.11/student:  *********

windows登陆方式
运行   --> \\172.25.0.11\共享名

6.配置共享目录 
[share]
        comment = this is a share
        path = /share
        public = yes
        writable = yes

7.权限问题  1)匿名用户没办法执行写操作 
        setsebool -P samba_export_all_rw 1
            给相应目录nobody的rwx权限
       2)本地用户:acl
       3)程序的限制 可以通过write_list字段来控制谁可以执行写操作

8./etc/fstab问题
匿名用户的永久挂载//172.25.0.11/share  /mnt       cifs    guest   0 0
guest代表的是以匿名用户身份登陆
本地用户的永久挂载//172.25.0.11/share  /media   cifs  cred=/etc/samba.txt  0 0
cred=证书文件,之后需要去生成.

vim /etc/samba.txt
username=student
password=uplooking

chmod 400 /etc/samba.txt  -->不要让其他人有读的权限

 

 

你可能感兴趣的:(零基础学习云计算及大数据DBA集群架构师【Linux系统\网络服务及安全配置2015年1月5日周二】)