怎样在Linux系统搭建Samba共享服务器

怎样在Linux系统搭建Samba共享服务器,第1张

Linux系统默认已经安装了Samba,但是没有安装Samba服务:

1,先查看安装情况:rpm -qa|grep samba

根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包。

我的安装情况是:

使用命令:mount /dev/cdrom1 /mnt/cdrom1

通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh

samba.*.rpm包安装。

切换到放置rpm文件的目录

[root@smb_server root]# rpm

-ivh samba-common-3.6.9-151.el6.x86_64

这是Samba 必备的程序,必须安装

[root@smb_server root]# rpm

-ivh samba-3.6.9-151.el6.x86_64

安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源。

如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序。

[root@smb_server root]# rpm

-ivh samba-client-3.6.9-151.el6.x86_64

2,安装samba的rpm包完成后

samba-common-3.6.9-151.el6.x86_64

//主要提供samba服务器的设置文件与设置文件语法检验程序testparm

samba-client-3.6.9-151.el6.x86_64

//客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集

samba-swat-3.6.9-151.el6.x86_64

//基于https协议的samba服务器web配置界面

samba-3.6.9-151.el6.x86_64

//服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

5、查看samba的服务启动情况

# service smb status

6、设置开机自启动

# chkconfig --level 35 smb on //在3、5级别上自动运行samba服务

7、配置smb服务

[global]

workgroup = WORKGROUP

server string = Samba Server Version %v

netbios name = ImgPath05

[ImgPath]

comment = Public stuff

path =

/usr/local/nginx/html/img

public = yes

writeable = yes

browseable =

yes

guest ok = yes

共享目录为:/usr/local/nginx/html/img,共享目录对外名称为:ImgPath 即在Windows看到的目录名称。

设置共享目录权限:chown -R nobody:nobody /usr/local/nginx/html/img/

8、启动或者重启smb服务

重启smb服务

测试smb.conf配置是否正确

9 Windows访问共享目录,但是没有写权限,通过以下方式修改防火墙设置。

将Linux smb服务添加到防火墙的例外中

以root用户执行setup命令#setupd出...重启生效,如果不想重启,用命令#setenforce 0

1.samba服务器目录:

企业数据目录:/companydata

公共目录:/companydata/share

销售部目录:/companydata/sales

技术部:/companydata/tech

2.企业员工情况:

总经理:gm

销售部:销售部经理 redking、员工 sky、员工 jane

技术部:技术部经理 michael、员工 bill、员工 joy

3.搭建samba文件服务器,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。

案例解析:

1.需求分析

对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,可以通过设置目录共享字段“browseable = no”及字段“valid users”来实现其隐藏功能和相应的访问权限。这样设置不能很好得解决同一目录多种需求的权限设置,所以需要建立独立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活。

2. 解决方案

1)建立各部门专用共享目录

使用mkdir建立需求的共享目录以便分门别类的存储相应资料。

[root@RHEL ~]#mkdir /companydata

[root@RHEL ~]#mkdir /companydata/share

[root@RHEL ~]#mkdir /companydata/sales

[root@RHEL ~]#mkdir /companydata/tech

同时设置/companydata共享目录的用户权限

[root@RHEL ~]#chmod –R 777 /companydata

2)添加samba服务器描述及设置smbpasswd文件

默认/etc/samba/目录下没有smbpasswd文件,要先关闭samba的tdbsam验证。

解决方法:在smb.conf文件中注释掉passdb backend = tdbsam 一行,为了指定samba用户的验证我们加上这一条smb passwd file = /etc/samba/smbpasswd,然后保存退出。

3)添加用户和组

先建立销售部组sales,技术部组tech,然后使用useradd命令添加总经理帐号gm及各个员工的帐号并加入相应的用户组。

[root@RHEL ~]#groupadd sales

[root@RHEL ~]#groupadd tech

[root@RHEL ~]#useradd gm

[root@RHEL ~]#useradd –g sales redking

[root@RHEL ~]#useradd –g sales sky

[root@RHEL ~]#useradd –g sales jane

[root@RHEL ~]#useradd –g tech michael

[root@RHEL ~]#useradd –g tech bill

[root@RHEL ~]#useradd –g tech joy

接着使用smbpasswd命令添加samba用户:

[root@RHEL ~]#smbpasswd –a gm

New SMB password:

Retype new SMB password:

Added user gm.

[root@RHEL ~]#smbpasswd –a redking

New SMB password:

Retype new SMB password:

Added user reding.

[root@RHEL ~]#smbpasswd –a sky

New SMB password:

Retype new SMB password:

Added user syk.

[root@RHEL ~]#smbpasswd –a jane

New SMB password:

Retype new SMB password:

Added user jane.

[root@RHEL ~]#smbpasswd –a michael

New SMB password:

Retype new SMB password:

Added user michael.

[root@RHEL ~]#smbpasswd –a bill

New SMB password:

Retype new SMB password:

Added user bill.

[root@RHEL ~]#smbpasswd –a joy

New SMB password:

Retype new SMB password:

Added user joy.

4)配置smb.conf文件

(1)建立单独配置文件

用户配置文件使用用户名命令,组配置文件使用组名命令。

[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/gm.smb.conf

[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/sales.smb.conf

[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/tech.smb.conf

(2)设置主配置文件smb.conf

配置smb.conf主配置文件,在global节点中添加相应字段,确保samba服务器的主配置文件可以调用独立的用户配置文件和组配置文件。

include = /etc/samba/%U.smb.conf表示使samba服务器加载/etc/samba目录下格式为“用户名.smb.conf”的配置文件。

include = /etc/samba/%G.smb.conf表示使samba服务器加载/etc/samba目录下格式为“组名.smb.conf”的配置文件。

设置共享目录/companydata/share

添加如下内容:

[public]

comment=public data

path=/companydata/share

public=yes

5)设置总经理gm配置文件

[root@RHEL ~]#vim /etc/samba/gm.smb.conf

添加如下内容:

[sales]

comment=sales data

path=/companydata/sales

writable=yes

valid users=gm

[tech]

comment=tech data

path=/companydata/tech

writable=yes

valid users=gm

6)设置销售部组sales配置文件

[root@RHEL ~]#vim /etc/samba/sales.smb.conf

添加如下内容:

[sales]

comment=sales data

path=/companydata/sales

writable=yes

valid users=@sales,gm

7)设置技术部组tech配置文件

[root@RHEL ~]#vim /etc/samba/tech.smb.conf

添加如下内容:

[tech]

comment=tech data

path=/companydata/tech

writable=yes

valid users=@tech,gm

8)开启samba服务

[root@RHEL ~]#service smb start

9)测试

分别用所设置账号进行测试。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/9010743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存