Samba 服务基础
作用:文件共享
服务器端 -- >客户端
service status smb
smb协议
cifs协议
特点:
提供认证和授权
文件和共享和打印机共享
名称解析 netbios(解析计算机)
浏览器共享目录
将liunx做成一个samba服务器
去共享文件
1.配置安装samba服务
yum install samba samba-client cifs-utils -y
2.启动服务
systemctl start smb
systemctl start nmb
systenctl enable smb 自动启动服务
systenctl enable nmb
默认防火墙是不能通过smb 服务的 windows ping都不可以
firewall-cmd --permanent --add-service=samba 使防火墙通过smb服务
firewall-cmd --reload 防火墙重新启动
共享文件
mkdir /date01 创建文件
vim /date01/aa.txt
useradd zhangsan 创建用户
smbpasswd -a zhangsan 通过smb方式修改密码
修改配置文件
vim /etc/samba/smb.conf |grep -v '#' |grep -v ';' |grep -v '^$' 查看自己想要的信息
vim /etc/samba/smb.conf
最后一行
[date]共享名称 (与共享名可以一致也可不一致)
path = /date01 共享目录
writable = no 不指定所有用户都有写权限
write list = zhangsan 指定zhangsan有写权限
public=yes 公共权限 默认为no
browsable = no 不被浏览 服务器端共享 ---客户端是看不到的 要修改为yes
hosts allow = 127. 192.168.10 (127网段 192.168.10网段) 允许的主机
改完配置文件之后 一定要重启该服务
systemctl restart smb
systemctl restart nmb
\\192.168.10.1 windos 访问liunx文件
setfacl -m u:zhangsan :rwx /date01 给zhangsan用户设置权限
setfacl -m u:zhangsan :rwx /date01/aa.txt
chcon -t samba_share_t /date01 -R seliunx liunx安全机制(制作文件共享需要输入该命令)
systemctl restart smb
(可查看/etc/samba/smb.conf)
--------------服务器端完成
yum install samba-client cifs-utils -y
---------------客户端完成
挂载
mkdir /share01
mount -t cifs //192.168.10.1/date /share01/ -o username=zhangsan
如果出现能登陆,但是不能进入目录 解决办法如下:
[root@localhost ~]# setsebool -P samba_enable_home_dirs on
[root@localhost ~]# semanage fcontext -a -t samba_share_t /database
[root@localhost ~]# restorecon -Rv /database/
seliunx
setenforce 0
samba权限
[kevin] # 自定义共享名
comment = Home Directories # 描述符,是给系统管理员看的
path = /home/kevin # 共享的路径
public = yes # 是否公开,也就是是否能在网上邻居看到该共享
browseable = yes # 共享的目录是否让所有人可见
writable = yes # 是否可写
guest ok = no # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
workgroup = WORKGROUP # 工作组,要设置成跟 Windows 的工作组一致
server string = Samba Server Version %v # 其他 Linux 主机查看共享时的提示符
netbios name = MYSERVER # 用于在 Windows 网上邻居上显示的主机名
hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13 # 指定允许访问 samba 服务器的主机
security = share # 定义安全级别
log file = /var/log/samba/log.%m # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
max log size = 50 # 定义单个日志的最大容量(KB)
passdb backend = tdbsam # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
deadtime = 10 # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
display charset = UTF8 # 设置显示的字符集
max connections = 0 # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
guest account = nobody # 设置匿名账户为nobody
load printers = yes # 是否在启动 Samba 时就共享打印机
cups options = raw # 设置打印机使用的方式
valid users = user1 user2 user3 # 指定哪些用户可以访问,如果不指定则所有用户都可访问
invalid users = user1 user2 # 指定哪些用户不可以访问
create mask = 0775 # 客户端上传文件的默认权限
directory mask = 0775 # 客户端创建目录的默认权限
write list = user1 user2 user3 # 设置可对文件进行写操作的用户
admin users = user1 # 设置共享目录的管理员,具有完全权限
--------------------------------------------------------------------------------------------------------------------
文件共享
DAS(直连式存储) NAS(网络附加存储) SAN(存储区域网络)
---------存储非结构化数据
NAS中存在的协议为NFS
NFS :网络文件系统
服务器端:共享文件
客户端:访问
NFS(使用rpcbind协商端口)
yum install nfs-utils -y 安装nfs安装包 7.0版本已经自动安装
rpm -qa 查看已安装的软件包 | grep nfs
mkdir /redhat 创建共享目录
chmod 777 /redhat 设置权限
修改配置文件
/etc/exports
/redhat 192.168.10.1/24(rw,sync) --------增加读写权限 并且增加同步变量
systemctl restart nfs-server ----------重启服务
systemctl restart rpcbind
systemctl enable nfs-server
systemctl enable rpcbind
firewall-cmd --permanent --add-service=nfs -------防火墙允许通过服务
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --reload
ps aux --查看文件进程
netstart -nltpu---查看端口号
客户端
showmount -e 192.168.10.1 展示挂载信息
mkdir /share02
mount -t nfs 192.168.10.1:/redhat /share02 (nfs4--指的是第四个版本)
cd /share02
touch file.txt 创建文件 属于nfsnobody(无用户)---默认root_squash(root压制)
不想被压制 /red hat 192.168.10.1/24(rw,sync,no_root_squash)
systemctl restart nfs --重启(防止前期启动慢)
systemctl reload nfs(可以用这条命令)
永久性挂载:
/etc/fstab
192.168.10.1:/redhat /share02 nfs defaults 0 0
mount -a