#############cifs################
在Unix Like 上面可以分享档案数据的 file system 是 NFS,那么在 Windows 上面使用的『网络邻居』所使用的档案系统则称为Common Internet File System, CIFS )
CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
共享文件
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
一:######samba######
在###server####中
1:yum install samba samba-client samba-common -y
2:start ebable(开启并设置开机自启动samba服务)
3:关火墙
4:默认接口为445 139
在###client####中
1:yum install samba-client -y
2:smbclient -L //172.25.66.167 看不到任何文件
此处为匿名用户登陆,没有密码直接回车即可
在###server####中
1:添加用户
smbpasswd -a student #####这个用户必须是已经存在的,下面输入的密码跟用户以前的密码无关##
2:pdbedit -L ####查看添加的用户
3:pdbedit -x student ###删除添加的用户
4:将用户重新添加 (sudent,westos)
在###client####中
1:访问server的student目录
smbclient -L //172.25.66.167 -U student ####可以看见student文件
2:进入student目录
smbclient //172.25.66.167/student -U student
ls后如果出现 NT_STATUS_ACCESS_DENIED 原因是selinux没开
在server中:
查看selinux开关 ## getsebool -a | grep samba
打开 samba_enable_home_dirs ###setsebool -P(永久生效) samba_enable_home_dirs on
在client中:
3:ls
二:######从client向server中上传文件 ####只能上传当前目录中的文件####
1:在client中
进入要上传的文件所在的目录 put 文件 (举例:上传 /etc下的passwd文件到服务端的student目录)
(1):进入/etc (2):smbclient //172.25.66.167student -U student (3):put passwd
这种方法太麻烦
2:挂载
mount //172.25.254.203/student /mnt cifs -o defaults,username=student,password=1234
进入/mnt操作
3:开机自动挂载
编写 /etc/rc.d/rc.local
mount //172.25.254.203/student /mnt -o username=student,password=1234
重启后df查看挂载
三:########samba黑白名单####
在###server####
1:rpm -qc samba-common ##查看samba的配置文件
2:vim /etc/samba/smb.conf
hosts deny = IP / hosts allow = IP
编辑完成后重启samba服务
###进入client###
smbclient //172.25.66.167/student -U student
#########系统目录的共享与临时目录的共享######
临时目录:在server中
1:建立目录 /westos
2:vim /etc/samba/smb.conf ###写在最后
[DIR]
comment = westos dir
path = /westos
3:semanager fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -FvvR /westos/ ###同步安全上下文
systemctl restart smb
在client中
1:进入/westos
2:ls 可以进入
系统目录:在server中
1:vim /etc/samba/smb.conf
[mnt]
comment = mnt dir
path = /mnt
2:touch /mnt/file{1..5}
2:修改布尔值
setsebool -P samba_export_all_ro on
systemctl restart smb
在client中
1:进入/mnt
2:ls 可以看到刚在server的/mnt中创建的文件
############samba多用户认证#########
在客户端client###
1:yum install cifs-utlis -y
2:man mount.cifs
3:vim /root/smbpass
username=student
password=1234
4:mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.203/DIR /mnt
5:cd /mnt
6:ls
7:su - test
8:cd /mnt
9:ls
10:cifscreds add -u westos 172.25.254.203
11:cd /mnt
12:ls
########匿名用户查看共享#########
在服务端server###
1:vim /etc/samba/smb.conf
map to guest = bad user
guest ok = yes
在客户端client###
smbclient //172.25.254.203/DIR
ls