码迷,mamicode.com
首页 > 其他好文 > 详细

文件共享:Samba

时间:2018-01-12 19:44:24      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:访问   控制   挂载点   网络资源   samba共享服务   not   文件夹   utils   实现   

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 [root@server0 ~]# yum -y install samba 2,创建共享账号 添加共享账号harry,密码为migwhisk: [root@server0 ~]# useradd harry [root@server0 ~]# pdbedit -a harry //根据提示设好密码migwhisk 添加共享账号kenji,密码为atenorth: [root@server0 ~]# useradd kenji [root@server0 ~]# pdbedit -a kenji //根据提示设好密码atenorth 添加共享账号chihiro,密码为atenorth: [root@server0 ~]# useradd chihiro [root@server0 ~]# pdbedit -a chihiro //根据提示设好密码atenorth 确认共享账号: [root@server0 ~]# pdbedit -L harry:1003: chihiro:1005: kenji:1004: 3,准备共享文件夹 [root@server0 ~]# mkdir /common [root@server0 ~]# mkdir /devops [root@server0 ~]# setfacl -m u:chihiro:rwx /devops //配置写入权限 4,调整SELinux开关策略,允许发布可写的Samba共享资源 [root@server0 ~]# getsebool -a | grep ^samba_exp //默认配置 [root@server0 ~]# setsebool -P samba_export_all_rw=on //永久打开设置 [root@server0 ~]# getsebool -a | grep ^samba_exp //查看结果 5,配置共享目录 [root@server0 ~]# 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,并设置开机自启 [root@server0 ~]# systemctl restart smb [root@server0 ~]# systemctl enable smb [root@server0 ~]# netstat -antpu | grep smb 客户端: 1,安装软件包samba-client [root@server0 ~]# yum -y install samba-client 2,浏览目标主机提供了哪些共享资源 [root@desktop0 ~]# smbclient -L server0.example.com 3,连接目标主机的共享目录 [root@desktop0 ~]# smbclient -U harry //server0.example.com/common 多用户Samba挂载 Samba客户端的multiuser挂载:支持切换访问Samba共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp”,客户机上的普通用户可以通过cifscreds命令提交新的身份凭据。 在客户端挂载Samba共享目录,需要软件包cifs-utils的支持。 为访问网络资源配置开机挂载时,注意添加参数“_netdev”,表示等客户机网络配置可用以后才挂载对应资源。 1,创建挂载点 [root@desktop0 ~]# mkdir /mnt/dev 2,安装cifs-utils软件包 [root@desktop0 ~]# yum -y install cifs-util 3,配置开机挂载 [root@desktop0 ~]# vim /etc/fstab //server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,_netdev 0 0 4,测试挂载配置 [root@desktop0 ~]# mount -a [root@desktop0 ~]# df -hT /mnt/dev 5,修改挂载配置,添加多用户支持 [root@desktop0 ~]# vim /etc/fstab //server0.example.com/devops /mnt/dev cifs username=kenji,password=atenorth,multiuser,sec=ntlmssp,_netdev 0 0 [root@desktop0 ~]# umount /mnt/dev //卸载此共享 [root@desktop0 ~]# mount /mnt/dev //重新挂载此共享 6,验证多用户访问 切换到普通用户student验证,无权访问挂载点/mnt/dev: [root@desktop0 ~]# su - student [student@desktop0 ~]$ ls /mnt/dev ls: cannot access /mnt/dev: Permission denied 以共享用户chihiro身份提交新的访问凭据,再次验证,对挂载点/mnt/dev可读写: [student@desktop0 ~]$ cifscreds -u chihiro add server0.example.com Password: //输入共享账号chihiro的密码 [student@desktop0 ~]$ touch /mnt/dev/a.txt [student@desktop0 ~]$ ls /mnt/dev/a.txt /mnt/dev/a.txt

文件共享:Samba

标签:访问   控制   挂载点   网络资源   samba共享服务   not   文件夹   utils   实现   

原文地址:http://blog.51cto.com/13463622/2060364

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!