CIFS文件的存储
一、SMB文件共享
用 Internet文件系统(CIFS)也称为服务器信息块(SMB),是适用于MicrosoftWindows 服务器和客户端的标准文件和打印机共享系统。
Samba服务可用于将Linux文件系统作为 CIFS/SMB 网络文件共享进行共享,并将Linux打印机作为 CIFS/SMB 打印机共享进行共享。
Samba服务的组成部分:
1) 软件包:
* Samba-common – Samba的支持文件
* Samba-client – 客户端应用程序
* Samba – 服务器应用程序
2) 服务名称:smb nmb
3) 服务端口: 通常使用TCP/445进行所有连接。还使用UDP137、UDP138和TCP/139进行向后兼容
4) 主配置文件:/etc/samba/smb.conf
二、 SMB用户
useraddsecurity=user 需要UNIX和Samba账户信息添加用户(最好使用与Samba账户一样的名称),或在/etc/samba/smbusers中放置条目(有一些示例)
[root@serverX ~]# useradd -s /sbin/nologin wxh
smbpasswd
如果您没有Samba密码服务器,则必须在本地计算机上创建身份验证数据。使用smbpasswd创建Samba账户和密码。如果smbpasswd只传递一个用户名而不带任何选项,它将尝试更改账户密码。传递-a选项将添加账户并设置密码。
[root@serverX ~]# smbpasswd -a MY
New SMB password: MY
Retype new SMB password: MY
Added user MY.
三、samba服务器的基本操作
首先,需要两个虚拟机,分别作为服务端与客户端
1)关于samba的安装及用户建立
##服务端与客户端##
smb服务的设置:
>yum search samba
>yum install samba-common.x86_64 samba.x86_64 samba-client.x86_6 -y
>systemctl start smb
>netstat -anutple | grep smb ##查看接口是否打开
##服务端##
用户建立及smb密码的修改:
>useradd Sunshine
>smbpasswd -a Sunshine #更改smb用户Sunshine的密码
查看smb服务器Sunshine内容:
>smbclient //172.25.254.118/Sunshine -U Sunshine
ls
排错:
[root@server_xixi ~]# smbclient //172.25.254.118/MY MY
protocol negotiation failed: NT_STATUS_IO_TIMEOUT
当出现此问题表示被Selinux阻挡了,
解决方法:
[root@server_xixi ~]# getenforce
Enforcing
[root@server_xixi ~]# setenforce 0
注:之所以在此插一条排错,是因为小编在做的时候出现了这个错误,排错了好久才解决。大哭~希望给大家提供一些思路
2)挂载
##客户端##mount -o username=MY,password=MY //172.25.254.118/Sunshine /mnt
四、 共享文件
****访问 CIFS 共享****
smbclient -L -U westos
smbclient -L server0.example.com -U westos
smbclient //server0.example.com/MY -U westos
mount -o username=MY //server0.example.com/MY /mnt
1)本地用户
##服务端##
>mkdir /MY
>vim /etc/samba/smb.conf
[MY]
comment = xi ha
path = /MY
>systemctl restart smb.service
##客户端##
>umount /mnt
挂载:
>mount -o username=Sunshine,password=Sunshine //172.25.254.118/MY /mnt
永久挂载:
>//172.25.254.118/MY /mnt cifs defaults,username=Sunshine,password=Sunshine 0 0
>mount -a 让fstab中的策略生效
2)匿名用户
设定匿名用户可以登陆
##服务端##
>vim /etc/samba/smb.conf
125 map to guest = bad user
321 [MY]
322 comment = xi ha
323 path = /MY
324 guest ok = yes
##客户端##
挂载:
mount -o username=guest //172.25.254.118/MY /mnt/
永久挂载:
vim /etc/fstab
//172.25.254.118/MY /mnt cifs defaults,username=guest 0 0
3)用户对共享文件可写
>vim /etc/samba/smb.conf***所有用户可写***
writable = yes
需要设置文件系统权限,设置后会出现报错如下:
[root@localhost mnt]# rm -rf file
rm: cannot remove ‘file’: Permission denied
未设置时报错如下:
[root@localhost mnt]# rm -rf file
rm: cannot remove ‘file’: Read-only file system
***指定用户可写***
write list = @student #指定用户可写
chgrp student /MY/
chmod 775 /MY
write list = +student #指定可写用户组列表
usermod -G student MY
4)设定共享root用户
赋予admin超级用户身份>useradd admin
>vim /etc/samba/smb.conf
admin users = admin
5)是否可浏览
broseable = no
隐藏起来,但可以挂载6)指定可浏览用户
valid users = student
当设定不可浏览时,该设定表示只有student****保护SMB*****
#setsebool -P samba_enable_home_dirs on
用于共享用户自定义samba共享
或
# semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'
# restorecon -vvFR /smbshare
五、 多用户挂载
在客户端做##超级用户下##
>yum install cifs-utils -y
>vim /root/smbfile
username=student
password=student
>chmod 600 /root/smbfile
>mount -o credentials=/root/smbfile,multiuser,sec=ntlmssp //172.25.254.118/MY /mnt
##普通用户下##
>usradd kiosk
>su - kiosk
>cd /mnt
>ls
ls: reading directory .: Permission denied
>cifscreds add -u MY 172.25.254.118
>ls
>file1 file2 file3