samba共享服务:共享目录基本设定、匿名用户、访问控制、读写控制、多用户挂载

来源:互联网 发布:淘宝免单微信群2017 编辑:程序博客网 时间:2024/06/08 06:08

提供cifs协议实现共享文件

基础配置

安装

yum install samba.x86_64 samba-common.x86_64 samba-client.x86_64 -y[root@localhost ~]# systemctl start smb nmb[root@localhost ~]# systemctl enable smb nmb

添加用户

[root@localhost ~]# smbpasswd -a studentNew SMB password:       ##输入密码Retype new SMB password:    ##确认密码[root@localhost ~]# pdbedit -L ##查看smb用户信息[root@localhost ~]# pdbedit -x student ##删除smb用户[root@localhost ~]# setsebool samba_enable_home_dirs=1 ##在selinux上设置布尔值使smb用户可以访问自己的家目录

这里写图片描述

共享目录的基本设定

[root@localhost ~]# vim /etc/samba/smb.conf                [haha]              ##共享名称        comment = local directory   ##对共享目录的描述          path = /smbshare        ##共享目录的绝对路径

当共享目录为用户自建目录时

[root@localhost ~]# semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'    ##更改目录及其以下所有文件的安全上下文[root@localhost ~]# restorecon -RvvF /smbshare/                    ##刷新

这里写图片描述

当共享目录为系统建立目录时

[root@localhost ~]# vim /etc/samba/smb.conf         [haha]        comment = local directory        path = /etc        workgroup = WESTOS[root@localhost ~]# setsebool -P samba_export_all_ro on        ##只读共享[root@localhost ~]# setsebool -P samba_export_all_rw on        ##读写共享

这里写图片描述

匿名用户

[root@localhost ~]# vim /etc/samba/smb.conf 125         map to guest = bad user     ##将所有samba系统主机所不能正确识别的用户都映射成guest用户            guest ok = yes              ##允许guest登录

这里写图片描述

访问控制

hosts allow =       ##仅允许hosts deny =        ##仅拒绝  

在Samba中使用hosts allow、hostsdeny参数时,该参数可以出现在全局配置部分,用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享资源配置中,用于允许或拒绝可访问该资源的客户端。
(1)全局配置中hosts deny指定客户端,此时无法访问Samba服务器任何共享资源。
(2)全局配置中hosts,allow指定客户端,分以下几种情况。
①:如具体共享资源中只指定了hosts deny且与全局配置不冲突时,客户端可以访问具体共享资源。
②:如具体共享资源中只指定了hosts allow且是全局配置的子集时,只有具体共享资源中指定的客户端可以访问。
③:如具体共享资源中即指定了hosts allow又指定了hosts deny时,首先根据hosts allow与hosts deny生效规则得出具体共享资源允许或拒绝的客户端,再根据上面两条规则得出最终的结果。
(1)如果hosts deny与hosts allow发生冲突时,hosts allow优先。
(2)如果只有hosts allow,除了hosts allow中指定的客户端外其他所有客户端都不能访问。
(3)如果只有hosts deny,除了hosts deny中指定的客户端外其他所有客户都可以访问。

 valid users  =     ##当前共享的有效用户  valid users = westos   ##当前共享的有效用户 westos valid users = @westos   ##当前共享的有效用户为westos组 valid users = +westos   ##当前共享的有效用户为westos组

这里写图片描述

读写控制

所有用户均可写

[root@localhost ~]# chmod o+w /mnt[root@localhost ~]# setsebool -P samba_export_all_rw on[root@localhost ~]# vim /etc/samba/smb.conf         writable = yes

设定指定用户可写

[root@localhost ~]# vim /etc/samba/smb.conf         write list = student    ##可写用户    admin users = westos    ##共享的超级用户组    write list = @student   ##可写用户组    write list = +student

测试

mount -o username=student,password=redhat //172.25.254.119/haha /mnttouch

这里写图片描述

smb多用户挂载

在client上

vim /root/haha          ##用户文件username=studentpassword=redhatchmod 600 /root/hahayum install cifs-utils -ymount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.119/haha /mnt##credentoals=/root/haha 指定挂载时所用到的用户文件##multiuser      支持多用户认证##sec=ntlmssp        认证方式为标准smb认证方式

测试

su - kioskls /mntls: cannot access /mnt: Permission denied   ##因为没有做smb的认证 所以无法访问smb共享cifscreds add -u westos 172.25.254.119      ##添加用户认证Password:       ##smb用户认证的密码ls /mnt

这里写图片描述

原创粉丝点击