CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享。CIFS可以在Linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统。
提供CIFS的服务是SAMBA
Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件。第三版不仅可访问及分享SMB的文件夹及打印机,本身还可以集成入Windows Server的网域,扮演为网域控制站(DomainController)以及加入Active.Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
实现了存储分离,他可以挂载,真正进行操作,而和apache不一样,不只是文件传输。
yum install samba samba-common samba-client -y //安装组件
开启服务,开机自启,关闭火墙
[root@localhost ~]# smbpasswd -a student //添加用户
New SMB password:
Retype new SMB password:
Added user student.
pdbedit -L //查看用户信息
"注意要关闭selinuxm,不然无法查看"
smbclient -L //172.25.254.209 -U student //查看信息
smbclient //172.25.254.209/student -U student //以studennt身份登陆进入文件系统
在另一台主机上直接挂载
mount -o username=student,password=student //172.25.254.209/student /mnt
//df发现挂载上了,这样,哪怕原来的服务器挂掉,也可以使用了,这样,就实现了存储分离
//也可以直接登陆上去,不一定要挂载
查看samba
1.可以挂载用文件系统看
2.用登陆看
3.用本地看
如果需要selinux处于强制模式保证安全性,那么其实,打开相应的selinux权限就可以访问了,不用关闭selinux
setsebool -P samba_enable_home_dirs on //开启samba权限
//修改完退出需要重启smb服务
那么再次查看信息时 Domain=[WESTOS] //显示域是WESTOS
samba_export_all_ro
给DATA目录添加设定:
browseable = no
//是否使你的共享在客户端发现时被发现,no 隐藏
guest ok = yes
///是否可以让匿名用户访问,默认值是no,如果关闭了就不谈后面映射了
把无身份的bad user映射成 guest匿名用户:
map to guest = bad user
用匿名用户连接
[root@foundation9 ~]# mount -o username=guest //172.25.254.209/DATA /mnt
Password for guest@//172.25.254.209/DATA:
[root@foundation9 ~]# df
打开/etc/fstab,文件类型是cifs
//172.25.254.209/DATA /mnt cifs defaults,username=guest,password="" 0 0 ##无密码,不检测,不备份
writable = yes ##是否对文件内部可写
restorecon -RvvF dir //刷新布尔值
再看权限是否允许,这里我们用student登陆,所以文件的使用者student的权限要给
可以直接给777
chmod 777 /westos/
## /mnt 本来权限就是777
下来才是配置文件的写入问题
添加writable = yes
登陆进入samba之后可以输入 help查看当前有的命令
登陆进去如果没有一些命令,挂载就有了
新建用户lee
将lee添加到smb中
首先设定writadble = no 关闭对所有可写,然后单独给定权限
write list = student
指定用户可写student
+student | @student 用户组
将lee添加到student的附属组
用那个身份挂载建立的文件就是谁的
admin users = lee ,lee建立的文件所属用户root
挂载之后在挂载的文件中建立文件,查看文件的属性,是root用户lee组
yum install cifs-utils -y ##安装这个文件,可以管理登陆访问的权限
man mount.cifs
[root@foundation9 /]# vim /root/smbpassword ##指定认证密码文件
username=lee
password=lee
chmod 600 /root/smbpassword ##这个是为了安全性考虑
挂载:
mount -o credentials=/root/smbpassword,multiuser,sec=ntlmssp //172.25.254.209/CONFIG /mnt/
##此时,kiosk用户就无法查看挂载的/mnt了,需要认证才可以进入
认证方法: cifscreds
Usage:
cifscreds add [-u username] [-d] < host|domain>
cifscreds clear [-u username] [-d] < host|domain>
cifscreds clearall
cifscreds update [-u username] [-d] < host|domain>
直接输入指令就是查看基本的帮助
cifscreds add -u lee 172.25.254.209 ##以lee登陆
touch /mnt/tes
//在client端看的时候,文件的所属是kiosk,即客户端的用户,但是实际并不是
//在刚刚对CONFIG的设定,新建立的文件的权限在server端查看:
[root@smb_server ~]# ll /mnt/tes
-rw-r--r--. 1 root lee 0 Aug 14 23:43 /mnt/tes
这个目录共享可用的用户
valid users = student
@student | +student 用户组修改时注释掉匿名用户
samba主要针对windows客户端与linux客户端
linux与linux客户端质之间用NFS ,下一篇将是对NFS文件系统的讲解