在linux中如何配置samba服务器?

在linux中如何配置samba服务器?,第1张

进入配置文件:

vi /etc/samba/smbconf

根据自己要求配:

格式

共享名字

path=文件路径

public=yes、no 是否公共

writable=yes、no 是否可写

下载rpm格式的Samba安装程序安装:yum install samba编辑配置文件:vim /etc/samba/smbconf找到Standalone Server Options,将下面的security = share,使用户登陆时不需要输入帐号及密码。设置公共访问目录,在smbconf中找到:; [public]

; comment = Public Stuff

; path = /home/samba

; public = yes

; writable = yes

; printable = no

; write list = +staff将前面的分号去掉。path = /home/samba

指定公众共享目录路径,该目录就可以供不同用户使用。public = yes

取值为yes时,允许公众共享。否则,禁止公众共享目录。writable = yes

取值为yes时,公众对/home/samba有可写权限。printable = no

取值为yes时,公众对/home/samba有打印权限。write list = +staff

指定具有可写权限的用户名单或用户组所有成员,这里允许staff用户组的所有成员具有可写权限。设置smb开机自启动:

chkconfig –level 345 smb on启动smb服务:service smb start

此时打开\Linux主机IP,会看到有一个public的共享文件夹。

linux下Samba服务和NFS服务配置

一、Samba服务配置过程

samba的功能很简单,就是为了使linux和windows之间能够实现共享。并且利用samba搭建文件服务器,不仅比windows功能强大,而且访问速度快、安全。首先说明,samba服务器需要两个守护进程:smbd和nmbd。smbd进程监听139TCP端口,处理到来的SMB数据包;nmbd进程监听137、138UDP端口,使其他主机能浏览linux服务器。

1、安装Samba服务

首先用命令测试rpm -qi samba看是否安装了Samba软件包,若没有可以用yum install samba在线安装(fedora 11环境下)。

2、启动Samba服务

安装完成后,使用service smb start 命令启动samba服务。如果想让samba服务开机自动加载,可使用ntsysv命令(或setup命令中的system service选项)打开开机自动加载的服务,并勾选smb,确定后即可实现开机加载samba服务。

3、关闭防火墙

默认情况下防火墙关闭了139 TCP端口,也关闭了nmbd进程所需要的137、138端口。所以我们使用命令service iptables stop命令关闭防火墙。也可对防火墙进行修改,放行TCP139 UDP 137、138端口。

4、配置samba服务

samba服务的配置文件是 /etc/samba/smbconf,使用VI编辑器打开vi /etc/samba/smbconf文件,对samba进行配置

smbconf文件中包括4中结构,Global、Homes、printers、Userdefined_shareName,其中:

Globa用于定义全局参数和缺省值

Homes用于用户的home目录共享

Printers用于定义打印机共享

Userdefined_ShareName用于自定义共享(可有多个)

说明:文件中开头带有“#”为说明文件,不执行。 开头带有“;”为举例文件,不执行(若想让其执行,去掉“;”)。

配置全局参数Global

◎基本全局参数

workgroup=MYGROUP 设置samba要加入的工作组

server string =Samba Service 指定浏览列表里的机器描述

netbios name=fedora 设置samba的NetBIOS名字 (需要自己添加)

client code page=936 设置客户字符编码 936为简体中文(需要自己添加)

◎日志全局参数

log file 指定日志文件的名称

max log size=50 指定日志文件的最大尺寸(KB)

◎安全全局参数

security 定义samba的安装等级,share--用户不需要用户名和密码即可登陆samba服务器;user--由提供samba服务的samba服务器负责检查帐户及口令;server--检查帐户及口令的工作指定由另一台WindowsNT/2000或samba服务器负责;domain--指定windowsNT/2000域控制器来验证用户帐户、密码

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

这两行用于设定是否对samba密码进行加密,并指定加密文件存放路径

◎配置自定义共享

自定义共享,只需在文件最后加入share,名字随便取。其中一的参数我们来依依介绍

comment 描述该共享的名称

path 定义该共享的目录

browseable 指定共享的目录是否可浏览

writable 指定共享的目录是否有写入权限

read only 指定共享的目录为只读权限

public 指定是否可以允许Guest帐户访问

guest ok 通public相同,yes为允许guest访问

only guest 指定只有guest用户可以访问

calid users 指定访问该共享的用户

如:comment =my share

path =/home/share

browseable =yes

read only =yes

public =yes

only guest =yes

◎配置完成后的工作

在配置完成后,我们只需新建path定义的共享目录mkdir /home/share,

并使用chmod命令设置了其权限为777,chmod 777 /home/share。

这样在service smb restart重启smb服务后客户端就可以访问该服务器(我修改了全局参数中的security=share,所以进入服务器不需要输入用户名和密码)。在windows下运行中运行://19216816(linux的IP地址)即可。

二、NFS服务配置过程

1、NFS服务器的安装

检查linux系统中是否安装了nfs-utils和portmap两个软件包,#rpm –q nfs-utils(portmap)

2、查看NFS服务器是否启动

#service nfs status

#service portmap status

如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)

#service nfs start

#service portmap start

也可以在ntsysv命令下关闭iptable和开启nfs让其自启动。

3、指定NFS服务器的配置文件

NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享

#vi /etc/exports

配置“exports”文件格式如下

/tftpboot (sync,ro)

tftp:共享目录名

表示所有主机

(sync,ro) 设置选项

exports文件中的“配置选项”字段放置在括号对(“( )”)中 ,多个选项间用逗号分隔

sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项

ro:设置输出的共享目录只读,与rw不能共同使用

rw:设置输出的共享目录可读写,与ro不能共同使用

4、重新输出共享目录

Exportfs管理工具可以对“exports”文件进行管理

#exportfs –rv 可以让新设置的“exports”文件内容生效

显示当前主机中NFS服务器的输出列表

# showmount -e

显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录

# showmount -d

5、使用mount命令挂载NFS文件系统

#mount 19216816:/tftpboot /home/share

将主机IP地址为19216816中的/tftpboot目录挂载到/home/share

卸载系统中已挂载的NFS共享目录

# umount /home/share

卸载的时候不能在/home/share目录下卸载,必须注销系统后卸载。

PS:

如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。

但portmap只在第一次建立连接的时候起作用,帮助网络应用程序找到正确的通讯端口,但是一旦这个双方正确连接,端口和应用就绑定,portmap也就不起作用了。但对其他任何第一次需要找到端口建立通讯的应用仍然有用。简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了。

  首先要排除电脑系统的问题,或是硬件的问题。

 然后就是检查IP设置的地方,DNS时候正确。

 有的机子,之前设定的固定IP和DNS服务器和网关。

 电信、长宽、铁通的DNS都会不同。

 如果DNS不对,即使QQ等软件能正常上网,

 也打不开网页。左键双击右下角的网络连接,

 选择“常规”“属性”,双击“internet协议”

 把“自动获得IP地址”和“自动获得DNS”都选中,

 应用,就可以了。然后重启,连接上网

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主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 在linux中如何配置samba服务器?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情