文件共享:Samba

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件共享:Samba相关的知识,希望对你有一定的参考价值。

Samba共享服务 – 用途:为客户机提供共享使用的文件夹 – 协议:SMB(TCP 139)、CIFS(TCP 445) 客户端访问服务端资源会遇到的四个问题: 1,服务端,服务的访问控制 2,服务端,防火墙 3,服务端,SELinux策略 4,服务端,本地权限 SELinux策略,布尔值(开启或关闭) ? getsebool-a 查看所有 SELinux 开关 ? setsebool 控制 SELinux 开关 需要加 -P 选项才能实现永久设置 配置SMB文件夹共享 ? 所需软件包:samba ? 系统服务:smb 配置文件:/etc/samba/smb.conf ? Samba用户 —— 专用来访问共享文件夹的用户 --采用独立设置的密码 --但需要提前建立同名的系统用户(可以不设密码) 如果需要设置密码: ? 使用 pdbedit 管理工具 – 添加用户:pdbedit -a 用户名 – 查询用户:pdbedit -L [用户名] – 删除用户:pdbedit -x 用户名 要求在虚拟机 server0 上发布两个共享文件夹,具体要求如下: 1,此服务器必须是 STAFF 工作组的一个成员 2,发布目录 /common,共享名为 common 3,发布目录 /devops,共享名为 devops 4,这两个共享必须是可浏览的,只有 example.com 域内的客户端可以访问 5,用户 harry 对共享 common 只读,密码是 migwhisk 6,用户 kenji 对共享 devops 只读,密码是 atenorth 7,用户 chihiro 对共享 devops 可读写,密码是atenorth 服务端: 1,安装软件包samba [[email protected] ~]# yum -y install samba 2,创建共享账号 添加共享账号harry,密码为migwhisk: [[email protected] ~]# useradd harry [[email protected] ~]# pdbedit -a harry //根据提示设好密码migwhisk 添加共享账号kenji,密码为atenorth: [[email protected] ~]# useradd kenji [[email protected] ~]# pdbedit -a kenji //根据提示设好密码atenorth 添加共享账号chihiro,密码为atenorth: [[email protected] ~]# useradd chihiro [[email protected] ~]# pdbedit -a chihiro //根据提示设好密码atenorth 确认共享账号: [[email protected] ~]# pdbedit -L harry:1003: chihiro:1005: kenji:1004: 3,准备共享文件夹 [[email protected] ~]# mkdir /common [[email protected] ~]# mkdir /devops [[email protected] ~]# setfacl -m u:chihiro:rwx /devops //配置写入权限 4,调整SELinux开关策略,允许发布可写的Samba共享资源 [[email protected] ~]# getsebool -a | grep ^samba_exp //默认配置 [[email protected] ~]# setsebool -P samba_export_all_rw=on //永久打开设置 [[email protected] ~]# getsebool -a | grep ^samba_exp //查看结果 5,配置共享目录 [[email protected] ~]# vim /etc/samba/smb.conf [global] workgroup = STAFF .. .. [common] path = /common hosts allow = 172.25.0.0/24 [devops] path = /devops hosts allow = 172.25.0.0/24 write list = chihir 6,启动系统服务smb,并设置开机自启 [[email protected] ~]# systemctl restart smb [[email protected] ~]# systemctl enable smb [[email protected] ~]# netstat -antpu | grep smb 客户端: 1,安装软件包samba-client [[email protected] ~]# yum -y install samba-client 2,浏览目标主机提供了哪些共享资源 [[email protected] ~]# smbclient -L server0.example.com 3,连接目标主机的共享目录 [[email protected] ~]# smbclient -U harry //server0.example.com/common 多用户Samba挂载 Samba客户端的multiuser挂载:支持切换访问Samba共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp”,客户机上的普通用户可以通过cifscreds命令提交新的身份凭据。 在客户端挂载Samba共享目录,需要软件包cifs-utils的支持。 为访问网络资源配置开机挂载时,注意添加参数“_netdev”,表示等客户机网络配置可用以后才挂载对应资源。 1,创建挂载点 [[email protected] ~]# mkdir /mnt/dev 2,安装cifs-utils软件包 [[email protected] ~]# yum -y install cifs-util 3,配置开机挂载 [[email protected] ~]# vim /etc/fstab //server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,_netdev 0 0 4,测试挂载配置 [[email protected] ~]# mount -a [[email protected] ~]# df -hT /mnt/dev 5,修改挂载配置,添加多用户支持 [[email protected] ~]# vim /etc/fstab //server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,multiuser,sec=ntlmssp,_netdev 0 0 [[email protected] ~]# umount /mnt/dev //卸载此共享 [[email protected] ~]# mount /mnt/dev //重新挂载此共享 6,验证多用户访问 切换到普通用户student验证,无权访问挂载点/mnt/dev: [[email protected] ~]# su - student [[email protected] ~]$ ls /mnt/dev ls: cannot access /mnt/dev: Permission denied 以共享用户chihiro身份提交新的访问凭据,再次验证,对挂载点/mnt/dev可读写: [[email protected] ~]$ cifscreds -u chihiro add server0.example.com Password: //输入共享账号chihiro的密码 [[email protected] ~]$ touch /mnt/dev/a.txt [[email protected] ~]$ ls /mnt/dev/a.txt /mnt/dev/a.txt

以上是关于文件共享:Samba的主要内容,如果未能解决你的问题,请参考以下文章

将samba共享目录映射为本地文件夹

如何配置samba 要求共享文件夹public、匿名访问 samba版本3.0

Linux利用samba实现和iPhone文件共享

Fedora samba 文件共享

安装完samba如何从linux访问WINDOWS共享文件夹

samba文件共享服务笔记