1.Samba服务器概述
①Windows文件共享与Samba服务器
Windows文件共享
Windows主机之间使用SMB/CIFS网络协议实现文件和打印资源的共享
Windows无法与UNIX/Linux主机之间实现资源共享
Samba服务器
Samba服务器在UNIX系统中实现了SMB/CIFS协议
通过Samba服务可以实现UNIX/Linux主机与Windows主机之间的资源互访
②Samba服务器包括两个服务程序
smbd
smbd服务程序为客户机提供了服务器中共享资源(目录和文件等)的访问
nmbd
nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析
2.实验描述
1.假设公司要求一个公共的交换文件服务器,都可以访问并写入,但是不可以删除和修改其他用户的文件;
2.技术部需要一个文件服务器,用于存放常用的软件工具,所有人都可以访问,但是只有技术部的人可以写入。
一台samba服务器,要实现上面两个功能需要建立两个目录,一个是交换目录/var/exchange,一个是技术部的目录/var/jishubu。
1.交换目录都可以写入,所以权限要777,但是都可以写入的话,就可以删除别人的文件,所以要加个冒险位177,限制只有root和文件所有者才能删除
2.技术部的目录所有人可以访问,但是只有技术部的可以写,只需要在局部设置write list = @jishubu 就可以了,如果想要更安全的话,还可以设置目录权限是775,让目录属于技术部组。
3.安装samba服务
# yum install samba -y
4.文件配置
1.建立两个目录,一个是/var/exchange ,一个是/var/jishubu ,都建立在/var下,然后改变他们的权限。
# mkdir /var/exchange/ //建立exchange目录
# mkdir /var/jishubu/ //建立jishubu目录
# chmod 1777 /var/exchange/ //设置exchange的目录权限为17777
# chmod 775 /var/jishubu/ //设置jishubu目录权限为775
(注:exchange要设权限为1777,任何用户都能在这个目录下创建文档,但只能删除自己创建的文档(root除外))
2.添加用户twentyf和jishubu组,把twentyf加入到技术部组,最后/var/jishubu 的所属组改成技术部
# groupadd jishubu
# useradd -g jishubu twentyf
# chgrp jishubu /var/jishubu
可以看到我们的所属组已经改变
3.建立一个公共的用户smbtest,提供所有用户登陆samba服务器使用。
# useradd smbtest
4.下面开始配置服务器,打开samba服务器的主配置文件。
# vim /etc/samba/smb.conf
在文件的最下面进行配置
5.配置完后为用户设置密码
当都设置完后可以开启smb服务
# systemctl start smb
5.smb测试
打开客户端 开始->运行
2.尝试在exchange上创建一个txt 与在jishubu上创建一个txt,会发现jishubu内并没有权限创建。
3.测试成功,下面换twentyf用户,看看能不能在技术部写入文件。需要删除刚才的用户登录缓存。
4.重复刚才登录的步骤,登录twentyf用户。
5.尝试删除刚刚smbtest创建的txt文件,并不能成功。
但是我们能够在jishubu的目录下创建文件。