nfs和samba

来源:互联网 发布:软件研发主管岗位职责 编辑:程序博客网 时间:2024/06/01 08:17

nfs

NFS 文件共享

NFS是Network File System 的缩写,主要功能是通过网络让不同的机器彼此之间共享文件或目录,可以通过挂载(mount)的方式将NFS服务器端共享的数据文件目录挂载到NFS客户端本地中。NFS协议有多个版本:Linux支持版本4、版本3和版本2,而大多数系统管理员熟悉的是NFSv3
nfs在不同主机的共享
在服务机上的设置:

 [root@nfs-clinent ~]# vim /etc/exports [root@nfs-client mnt]# mkdir /westosshare[root@nfs-client mnt]# touch /westosshare/westosfile{1..3}[root@nfs-client mnt]# exportfs -rvexporting 172.25.254.19:/westosshare

vim /etc/exports
这里写图片描述

**在另一台主机上
[root@foundation19 mnt]# showmount -e 172.25.254.119
Export list for 172.25.254.119:
/westosshare 172.25.254.19
[root@foundation19 mnt]# mount 172.25.254.119:/westosshare /mnt/
[root@foundation19 mnt]# ls
westosfile1 westosfile2 westosfile3
可以看到mnt下的创建的三个文件,挂载实现的目录共享。

默认目录自动挂载

客户端安装软件
[root@nfs-clinent ~]# yum install autofs -y
[root@nfs-clinent ~]# systemctl restart autifs.server
[root@nfs-clinent ~]# cd /net
[root@nfs-clinent ~]# cd 172.25.254.119
[root@nfs-clinent ~]# ls
westos
[root@nfs-clinent ~]# cd /westosshare
这样就可以看到他的共享目录下面的内容,而且是自动挂载,退出目录后默认5分钟自动卸载。他可以修改
在/etc/autofs.conf中可以修改。
这里写图片描述
4、 指定目录的自动挂载

在客户端修改配置文件
[root@nfs-clinent ~]# vim /etc/auto.master
添加一行,/nfs是指共享目录的第一层目录,/etc/auto.nfs他是master的子文件
/westosshare /etc/auto.nfs
[root@nfs-clinent ~]#vim /etc/auto.nfs
共享目录的第二层目录
* 172.25.254.119:/&
这个意思是前面的第二层目录和第一层目录是一致的,如果你挂载了就表示你 自动挂载的目录为/westosshare
这里写图片描述
**

samba

**

*samba 服务器的安装及调试

[root@samba Desktop]# yum install samba-client.x86_64 samba-common.x86_64 samba.x86_64 -y #安装软件[root@samba Desktop]# systemctl start smb #开启服务[root@samba Desktop]# systemctl stop firewalld.service #关闭火墙[root@samba Desktop]# getsebool -a | grep samba #查看samba服务状态
[root@samba Desktop]# pdbedit -L #列出 samba 用户[root@samba Desktop]# smbpasswd -a student 添加samba用户(此用户必须是存在的

查看smb的共享目录

查看自己的共享目录,添加目录后默认共享家目录

[root@smbserver ~]# smbclient -L //172.25.254.119 -U studentEnter student's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]    Sharename       Type      Comment    ---------       ----      -------    IPC$            IPC       IPC Service (Samba Server Version 4.1.1)    student         Disk      Home DirectoriesDomain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]    Server               Comment    ---------            -------    SMBSERVER            Samba Server Version 4.1.1    Workgroup            Master    ---------            -------    MYGROUP              SMBSERVER

登陆smb 的共享目录

[root@smbserver ~]# smbclient //172.25.254.119/student -U studentEnter student's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]smb: \> lsNT_STATUS_ACCESS_DENIED listing \*smb: \> 

此时ls的时候看不到smb的共享目录,是因为selinux中的samba_enable_home_dirs没有打开
**同时还需要在配置文件中设定smb用户可以访问自己的家目录
就是/etc/samba/smb.conf中第30行*
进行如下操作:

 getsebool -a | grep samba **此方式修改针对所有的目录,一但开放,selinux 不保护目录**samba_create_home_dirs --> offsamba_domain_controller --> offsamba_enable_home_dirs --> offsamba_export_all_ro --> off     #只读samba_export_all_rw --> off #可读可写samba_portmapper --> offsamba_run_unconfined --> offsamba_share_fusefs --> offsamba_share_nfs --> offsanlock_use_samba --> offuse_samba_home_dirs --> offvirt_sandbox_use_samba --> offvirt_use_samba --> off setsebool -P samba_enable_home_dirs on #允许进入家目录 vim /etc/samba/smb.conf  vim /etc/samba/smb.conf

这里写图片描述

然后再次进入查看的时候就会有显示内容

[root@smbserver ~]# smbclient //172.25.254.119/student -U studentparams.c:Parameter() - Ignoring badly formed line in configuration file: setsebool -P samba_enable_home_dirs onEnter student's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]smb: \> ls  .                                   D        0  Fri Aug 18 04:32:16 2017  ..                                  D        0  Fri Aug 18 04:55:08 2017  .bash_logout                        H       18  Wed Jan 29 07:45:18 2014  .bash_profile                       H      193  Wed Jan 29 07:45:18 2014  .bashrc                             H      231  Wed Jan 29 07:45:18 2014  .ssh                               DH        0  Thu Jul 10 18:19:10 2014  .config                            DH        0  Fri Aug 18 04:07:03 2017  .cache                             DH        0  Fri Aug 18 04:07:03 2017  mail                                D        0  Fri Aug 18 04:31:14 2017  .bash_history                       H      259  Fri Aug 18 04:32:16 2017

共享目录的基本设定

[root@smbserver ~]# vim /etc/samba/smb.conf [root@smbserver ~]# mkdir /linux[root@smbserver ~]# touch /linux/file{1..5}[root@smbserver ~]# vim /etc/samba/smb.conf [root@smbserver ~]# systemctl restart smb.service 

vim /etc/samba/smb.conf
这里写图片描述
这里写图片描述

workgroup = linux #修改工作组(MYGROUP——>linux)[DATA]common = local directory linux #共享说明path = /linux #共享文件路径 

这时需要对linux的安全上下文作更改

[root@smbserver ~]# ls -Z /linux-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file1-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file2-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file3-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file4-rw-r--r--. root root unconfined_u:object_r:default_t:s0 file5[root@smbserver ~]# semanage fcontext -a -t samba_share_t '/linux(/.*)?'[root@smbserver ~]# restorecon -FvvR /linux/刷新安全上下文

再次登陆查看:
就会发现在linux下建立的五个文件可以显示,
这里写图片描述

*匿名用户访问

这里写图片描述
map to guest = bad user #允许匿名用户访问
guest ok = yes #允许匿名用户访问

这里写图片描述

这里写图片描述
mount //172.25.254.119/linux /mnt -o username=guest #挂载
[root@smbserver mnt]# vim /etc/fstab开机自动挂载
这里写图片描述

samba 共享目录参数管理

[DATA]
common = local directory linux
path = /linux
guest ok = yes
writable = yes #所有用户可写
write list = tom | +/@tom #tom | tom组可写
valid user = tom #tom | tom组可登陆
browseable = no #是否允许浏览
admin user = student #student以超级用户的身份登陆
[root@samba linux]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@samba linux]# id tom
uid=1001(tom) gid=1001(tom) groups=1001(tom)
[root@samba linux]# usermod -G tom student #将 student 用户放入 tom 组里
[root@samba linux]# id student
uid=1000(student) gid=1000(student) groups=1000(student),1001(tom)

测试:
错误1:NT_STATUS_NO_SUCH_FILE listing -fr #系统没有开放权限
错误2:rm: cannot remove ‘file1’: Permission denied #文件权限不够

访问控制

hosts allow =           #仅允许hosts deny =           #仅拒绝valid users =          #当前共享的有效用户valid users = westos    #当前共享的有效用户为westosvalid users = @westos    #当前共享的有效用户为westos组valid users = +westos     #当前共享的有效用户为westos组
读写控制所有用户均可写chmod o+w /mntsetsebool -P samba_export_all_rw onvim /etc/samba/smb.confwritable = yes 设定指定用户可写write list = student     #可写用户write list = +student    #可写用户组write list = @student      #也是可写用户组admin users = westos     #共享的超级用户指定

smb多用户共享

1.保护服务器信息

[root@foundation19~]# yum install cifs-utils -y[root@foundation19 ~]# vim /root/smbpassfile[root@foundation19 ~]# cat /root/smbpassfileusername=kioskpassword=redhat[root@foundation19 ~]# mount //172.25.254.119/DATA /mnt -o credentialss=/root/smbpassfile,multiuser,sec=ntlmssp

这样挂载之后,访问的用户需要通过认证

[root@foundation19 ~]# smbpasswd -a kiosk将 kiosk 加入到samba 用户里面New SMB password:Retype new SMB password:Added user kiosk.[root@foundation19 ~]# su - kioskLast login: Sat Mar 18 08:22:58 CST 2017 on :0[kiosk@foundation19 ~]cd/mnt[kiosk@foundation30mnt] lsls: reading directory .: Permission denied

**[kiosk@foundation19 mnt]$ cifscreds add 172.25.254.119
#认证用户**

Password:[kiosk@foundation19 mnt]$ lsfile2 file3 file4 file5
原创粉丝点击