linux计算机基础engineer DAY04

配置SMB共享(Samba共享)  Windows平台与Linux平台跨平台的共享
• Samba 软件项目
– 用途:为客户机提供共享使用的文件夹
– 协议:SMB(TCP 139)、CIFS(TCP 445)
• 所需软件包:samba
• 系统服务:smb
管理共享账号
• Samba用户 —— 专用来访问共享文件夹的用户
– 采用独立设置的密码
但需要提前建立同名的系统用户(可以不设密码)
 useradd -s /sbin/nologin  dc   访问共享文件夹密码  123
– 必须建立系统用户,登陆系统的密码可以设置,也可以不设置
– 必须建立系统用户, 可以不用登陆系统   
• 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名

• 修改 /etc/samba/smb.conf
[自定共享名]
path = 文件夹绝对路径
; public = no|yes //默认no
; browseable = yes|no //默认yes
; read only = yes|no //默认yes
; write list = 用户1 .. .. //默认无
; valid users = 用户1 .. .. //默认任何用户
; hosts allow = 客户机地址 .. ..
; hosts deny = 客户机地址 .. ..
#################################################
搭建基本Samba服务
虚拟机Server0
1.安装软件(服务端软件:提供服务
 [root@server0 ~]# yum -y install samba
2.建立Samba共享帐号
]# useradd -s /sbin/nologin harry
]# useradd -s /sbin/nologin kenji
]# useradd -s /sbin/nologin chihiro
]# pdbedit -a harry    #将harry添加为samba共享帐号
]# pdbedit -a kenji    #将kenji添加为samba共享帐号
]# pdbedit -a chihiro  #将chihiro添加为samba共享帐号
]# pdbedit -L  #查看所有Samba共享帐号
3.修改配置文件进行配置
     1)创建共享目录
[root@server0 ~]# mkdir /common
[root@server0 ~]# echo 123 > /common/1.txt
[root@server0 ~]# ls /common
    2)修改配置文件/etc/samba/smb.conf
[root@server0 ~]# vim /etc/samba/smb.conf
    此服务器必须是 STAFF 工作组的一个成员
        workgroup = STAFF   #指定工作组
[common]          #共享名
path = /common    #共享的实际路径
[root@server0 ~]#
4.重起smb服务
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
5.SELinux策略设置(布尔值策略:功能的开关)
     – 需要加 -P 选项才能实现永久设置,消耗内存
]# getsebool -a | grep samba         #查看布尔值
]# setsebool samba_export_all_ro on  #修改布尔值,开启
]# getsebool -a | grep samba
虚拟机desktop0
1.安装软件samba-client(客户端软件:访问服务端服务)
[root@desktop0 ~]# yum -y install samba-client
2.列出共享资源
– smbclient -L 服务器地址                         
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root's password:         #直接回车
Anonymous login successful
3 .访问服务端共享
]# smbclient  -U  harry  //172.25.0.11/common
 Enter harry's password:       #输入harry共享密码
 Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
 smb: \> ls
 NT_STATUS_ACCESS_DENIED listing \*  #显示错误
##############################################
客户端访问服务端影响的方面
  1.防火墙
  2.服务本身访问控制
  3.安全增强的SELinux
  4.本地目录的权限
###############################################
采用挂载实现访问Samba共享,更加科学方便的
虚拟机Desktop0
1 .安装软件包,支持cifs文件系统
[root@desktop0 ~]# yum -y install cifs-utils
2.创建挂载点目录,挂载实现
[root@desktop0 ~]# mkdir /mnt/nsd
]# mount  -o  user=harry,pass=123 //172.25.0.11/common /mnt/nsd/
[root@desktop0 ~]# df -h
[root@desktop0 ~]# ls  /mnt/nsd
3.开机自动挂载配置文件 /etc/fstab
    _netdev : 声明网络设备
                          在启动网络服务之后,再进行挂载本设备
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/common /mnt/nsd cifs defaults,user=harry,pass=123,_netdev 0 0
[root@desktop0 ~]# umount /mnt/nsd/
[root@desktop0 ~]# df -h
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
###############################################
读写Samba共享
虚拟机server0
1.创建共享目录
[root@server0 ~]# mkdir /devops
[root@server0 ~]# echo abc > /devops/a.txt
[root@server0 ~]# ls /devops/
2.修改配置文件/etc/samba/smb.conf
[devops]
path = /devops
write list = chihiro
3.重起smb服务
[root@server0 ~]# systemctl  restart smb
4.修改SELinux布尔值
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on
5.本地目录权限的修改
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops/
[root@server0 ~]# getfacl /devops/
虚拟机desktop0:        
1.挂载访问
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/dev cifs defaults,user=chihiro,pass=123,_netdev 0 0
[root@desktop0 ~]# mount -a
Couldn't chdir to /mnt/dev: No such file or directory
[root@desktop0 ~]# mkdir /mnt/dev
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
################################################
在虚拟机Server0:
   发布共享/public ,共享名为abc
   允许kenji用户对此共享可读写权限
在虚拟机Desktop0:
   将虚拟机Server0发布的共享abc,开机自动挂载到/mnt/test

#################################################
multiuser机制,针对客户端所有普通用户设计
    在客户端访问samba共享时,如果需要切换身份,multiuser机制可以让客户端在无需重新挂载的前提下,直接切换临时身份
挂载参数调整                                  
• mount.cifs 的挂载参数
– multiuser,提供对客户端多个用户身份的区分支持
– sec=ntlmssp,提供NT局域网管理安全支持
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/devops /mnt/dev cifs defaults,user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0 0
[root@desktop0 ~]# umount /mnt/dev/
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
[root@desktop0 ~]# su - student
[student@desktop0 ~]$ cifscreds add -u chihiro 172.25.0.11
Password:
##############################################
配置NFS共享 (Linux平台与Linux平台)
NFS共享概述
• Network File System,网络文件系统
– 用途:为客户机提供共享使用的文件夹
– 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
• 所需软件包:nfs-utils
• 系统服务:nfs-server
虚拟机Server0:
1.安装软件
[root@server0 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64
[root@server0 ~]#
2.修改配置文件 /etc/exports
   1)创建共享的目录
[root@server0 ~]# mkdir /student
[root@server0 ~]# echo haha > /student/abc.txt
[root@server0 ~]# ls /student/
    2)修改配置文件
[root@server0 ~]# vim /etc/exports
– 文件夹路径     客户机地址(权限)   客户机地址(权限) .. ..
/student    *(ro)         #任何人都可以访问,以只读方式
3.重起nfs-serverf服务
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable  nfs-server

虚拟机Desktop0:
[root@desktop0 ~]# vim /etc/fstab
172.25.0.11:/student /mnt/stu nfs defaults,_netdev 0 0
[root@desktop0 ~]# mount -a
mount.nfs: mount point /mnt/stu does not exist
[root@desktop0 ~]# mkdir /mnt/stu
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
[root@desktop0 ~]# ls /mnt/stu
########################################

猜你喜欢

转载自www.cnblogs.com/mrmeng123/p/9949835.html