在企业当中搭建samba服务器

项目简介

某公司经过不断发展,公司的网络环境建设日趋完善,内部网络逐渐增多。为了使员工 能方便共享不同操作系统之间的资源,将安装局域网 Samba 服务器,实现 Windows 和 Linux 资源的互通。服务器上的共享文件夹(/homt/company)中存放的是公司的各项规章制度,其他部门的用户只能下载查看,只有行政部的用户可以上传和删除里面的文件。

项目分析

本项目主要完成 samba 服务器的安装,在设置并加载防火墙的基础上,利用 yum 工具安 装 samba 服务器,通过建立 samba 用户并修改 samba 配置文件并启动 samba 服务。

项目实施

1.修改防火墙设置
#firewall-cmd --permanent --add-service=samba //设置防火墙 
#firewall-cmd --reload //重新加载防火墙

(我这里是直接关闭了防火墙,所以提示防火墙未运行)
在这里插入图片描述

2.安装samba并启动samba服务
#yum install -y samba samba-client	//安装samba服务及其客户端程序
#systemctl start smb.service nmb.service	//启动服务
#systemctl status smb nmb		//查看服务当前状态

在这里插入图片描述
在这里插入图片描述

3.建立共享目录
mkdir /home/company

在这里插入图片描述

4.创建访问账号
useradd -s /sbin/nologin xzusr 
useradd -s /sbin/nologin gcusr 
useradd -s /sbin/nologin xsusr 
#smbpasswd -a xzusr 
#smbpasswd -a gcusr 
#smbpasswd -a xsusr
【smbpasswd 选项说明:-a 添加 smb 帐号;-x 删除 smb 帐号;-d 禁用 smb 帐号;-e 启用 smb 帐号】

在这里插入图片描述

5.修改配置文件

默认情况下,Samba 已经配置为允许用户通过远程共享访问账号的主目录。
如果需要允许匿名用户访问则:
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = Bad User(允许匿名用户访问)添加一句
[company] //共享名称为 company (与新建文件夹名相同)
comment = company share //共享注释
path = /home/company //指定共享路径
browseable = yes //所有人可见
guest ok = no //拒绝匿名访问
writeable = yes //支持写入数据

如果使用用户访问则
[company]
comment = company share
path = /home/company
guest ok = no //拒绝匿名访问
valid users=xzusr,gcusr,xsusr //允许访问的用户列表
write list=xzusr //允许写入的用户列表

【注意:修改配置文件以后,必须重启服务(systemctl restart smb nmb)使更改生效】

在这里插入图片描述
在这里插入图片描述

6.测试配置文件

testparm命令 当配置文件的语法出错时会给出提示,修改再次运行 testparm 测试。
测试没问题后使用
systemctl restart smb nmb 重启服务
每次修改完配置文件后需要重启服务才能生效

在这里插入图片描述
在这里插入图片描述

7.测试Samba服务器

在 linux 客户端访问测试:smbclient -U smbuser //192.168.75.128/company
查看服务器的共享文件有哪些:smbclient -L 192.168.75.128
查看 smbuser 用户可以访问的共享文件:smbclient -L 192.168.75.128 -U smbuser

(1).完成只有行政部的用户可以上传和删除company里面的文件其余人只能下载,并测试

在这里插入图片描述
在这里插入图片描述
如果未显示文件则还需要关闭selinux保护机制
使用getenforce命令查看selinux当前状态
使用setenforce命令开启或关闭selinux
在这里插入图片描述
查看服务器的共享文件有哪些
使用smbclient -L 服务器的地址
在这里插入图片描述
查看某一用户可以访问samba服务器的列表有哪些
使用smbclient -L 服务器的地址 -U 用户名
在这里插入图片描述
使用windows客户端访问samba服务器共享文件
第一次需要输入密码
这里使用xzusr用户登录,其具有写入权限可以下载,但是可能不允许上传及删除共享文件,原因可能在于两点,第一点是没有在配置文件里设置共享权限,第二点是因为文件本身没有权限,文件可能没有写入权限。
在这里插入图片描述
在这里插入图片描述
查看文件是否有读写执行的权限
在这里插入图片描述
单独为xzusr用户设置rwx权限
在这里插入图片描述
之后就实现只有xzusr用户可以进行上传和删除,其他用户只能进行下载

(2). 如何实现只有xzusr、xsusr用户可以访问,但只有xzusr用户有写入权限呢。

在这里插入图片描述
下面也给xsusr用户company的读写执行的权限
在这里插入图片描述
测试xsusr用户能否写入文件,测试结果:不能上传。
原因:配置文件没有给xsusr写入权限。
在这里插入图片描述
测试gxusr用户能否登录,测试结果:登录失败
原因:配置文件中,没有允许gxusr用户访问
在这里插入图片描述

8.在 Linux 下访问 Windows 共享目录的配置方法

(1)在 Windows xp 上设置一个共享目录:d:\myfiles
(2)在 Linux 下安装 samba-client 客户端
#yum install samba-client
(3)安装 cifs-utils 软件包
#yum install cifs-utils
(4)在 Linux 下创建一个挂载点
#mkdir /mnt/Windows
(5)挂载 Windows 上的共享目录 d:\myfiles 到 Linux 下的/mnt/Windows 目录下
#mount -t cifs -o username=Administrator //192.168.0.3/mytest /mnt/Windows
Enter password: ********
(6)如果挂载成功,则可以进入/mnt/Windows 下进行相应操作。
(7)在/etc/fstab 文件中,加入该共享目录的挂载信息
//192.168.1.123/redhat_disk /mnt/Windows cifs username=tommy,password=111111 0 0
(8)到此为止,Windows 上的共享目录//192.168.1.123/redhat_disk 就被成功挂载到了 Linux 上面了,并且 Linux 重启后,会自动挂载该目录到/mnt/Windows 目录下

发布了11 篇原创文章 · 获赞 11 · 访问量 471

猜你喜欢

转载自blog.csdn.net/zjdda/article/details/104598299