Windows下Samba服务器,打开目录时提示无权限。

Windows下Samba服务器,打开目录时提示无权限。,第1张

[share]

path = /home/share

read only = no

writable = Yes

public = Yes

valid users = share

这一块是不是有问题?

既然你不允许读了,写还有什么意义?这样写是不是矛盾?

把它改了,然后重启服务试一下。

在一些中小型网络,或者企业的内部网中,利用Linux建立文件服务器是一个很好的解决方案。针对企业内部网中的绝大部分客户机采用Windows的情况,我们可以通过使用Samba来实现文件服务器功能。 Samba是在Linux及Unix上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。这里我们只介绍服务器程序。 我们首先介绍一些SMB协议的情况。SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务。NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置,就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。Samba使SMB协议运行在NetBIOS协议上,并且使用Windows的NetBEUI协议让Unix/Linux服务器可以在Windows的网络邻居上被访问到。 Samba的服务器程序可以实现以下主要功能: ◆ 文件及打印共享; ◆ 计算机名与IP的解悉; ◆ WINS服务的支持; ◆ 用户权限设置(如果配合Linux 的Quota还可以实现用户磁盘空间配额)。学习linux基本命令,推选《linux就该这么学》!

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

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

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

我的安装情况是:

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

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

sambarpm包安装。

切换到放置rpm文件的目录

[root@smb_server root]# rpm

-ivh samba-common-369-151el6x86_64

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

[root@smb_server root]# rpm

-ivh samba-369-151el6x86_64

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

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

[root@smb_server root]# rpm

-ivh samba-client-369-151el6x86_64

2,安装samba的rpm包完成后

samba-common-369-151el6x86_64

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

samba-client-369-151el6x86_64

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

samba-swat-369-151el6x86_64

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

samba-369-151el6x86_64

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

Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smbconf是samba的核心配置文件,/etc/initd/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服务

测试smbconf配置是否正确

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

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

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

之前使用samba服务的时候没有做好一些细节部分,现在把需要注意的内容记下来,人的记忆力有限啊!时刻提醒自己!

1samba服务器目录:

企业数据目录:/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验证。

解决方法:在smbconf文件中注释掉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)配置smbconf文件

(1)建立单独配置文件

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

[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/gmsmbconf

[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/salessmbconf

[root@RHEL ~]#cp /etc/samba/smbconf /etc/samba/techsmbconf

(2)设置主配置文件smbconf

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

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

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

设置共享目录/companydata/share

添加如下内容:

[public]

comment=public data

path=/companydata/share

public=yes

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

[root@RHEL ~]#vim /etc/samba/gmsmbconf

添加如下内容:

[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/salessmbconf

添加如下内容:

[sales]

comment=sales data

path=/companydata/sales

writable=yes

valid users=@sales,gm

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

[root@RHEL ~]#vim /etc/samba/techsmbconf

添加如下内容:

[tech]

comment=tech data

path=/companydata/tech

writable=yes

valid users=@tech,gm

8)开启samba服务

[root@RHEL ~]#service smb start

9)测试

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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Windows下Samba服务器,打开目录时提示无权限。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情