linux怎么配置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验证。
解决方法:在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)测试
分别用所设置账号进行测试。
一、安装Samba组件
如果选择完全安装Red Hat Linux 90,则系统会默认安装Samba组件。我们可以在终端命令窗口输入以下命令进行验证:
[root@ahpeng root] rpm -qagrep samba
如果结果出现以下所示的5个软件包,则表示已经安装:
samba-swat-227a-790
samba-227a-790
redhat-config-samba-104-1
samba-common-227a-790
samba-client-227a-790
如果没有安装过Samba软件包,则可以插入第1张安装光盘,然后鼠标依次单击“主菜单→系统设置→添加/删除应用程序”菜单项,打开“软件包管理”对话框,在该对话框中找到“Windows文件服务器”选项,确保该选项处于选中状态,然后单击“更新”按钮即可开始安装。
你也可以把第1张安装光盘插入光驱,然后在终端命令窗口输入以下命令:
[root@ahpeng root]# cd /mnt/cdrom/RedHat/RPMS
[root@ahpeng RPMS]# rpm -ivh samba
[root@ahpeng RPMS]# rpm -ivh redhat-config-samba-104-1noarchrpm
二、Linux主机访问Windows主机
安装好Samba之后,就有了与Windows互相访问的基础。这里先介绍一下如何用字符命令方式访问Windows宿主机的共享资源。
1、查询宿主机的共享资源
可以使用“smbclient –L WindowsHostName”命令(此处的WindowsHostName用Windows主机名代替)。本例是要查询Windows主机Peter 上的共享资源,可以在终端窗口输入“smbclient –L Peter”命令,然后回车即可看到Windows主机的共享资源。
2、连接宿主机的共享目录
可以使用“smbclient //WindowsHostName/ShareName”命令来连接Windows主机上的某个共享文件夹,如果该共享文件夹需要用户名和密码,则可以使用“smbclient //WindowsHostName/ShareName –U UserName”命令。例如要连接Windows主机Peter上的共享目录Share,我们可以在终端窗口输入“smbclient //Peter/Share”命令然后回车即可。
如果连接成功,即可出现“smb:>”提示符,在该命令提示符下输入适当的命令,即可对所连接的共享目录进行操作。
Smb支持的命令有大约40个命令,可以很方便地对共享目录进行删除、重命名、切换目录等操作。如果要列出共享目录“Share”下的具体内容,可以使用ls命令。要删除其下的testtxt文件,可以使用“del testtxt”命令。共2页。
3、映射网络驱动器
我们知道,Windows下可以将共享目录映射为网络驱动器,这样就可以把共享目录当成本地文件夹来使用。在Linux下可以借助于 smbmount命令来实现,具体的命令参数是“smbmount //WindowsHostName/ShareName /mnt/smbdir”(此处的ShareName指代Windows共享资源名称,smbdir指代挂载点名称)。假设要将Windows主机 Peter下的共享文件夹Share映射为/mnt/WinShare目录,具体步骤是:
首先在/mnt目录下创建一个目录,假设为/mnt/WinShare;
然后打开终端命令窗口,运行“smbmount //Peter/Share /mnt/WinShare”即可。
现在再在文件管理器里打开/mnt/WinShare目录可以看到共享目录的内容,要卸载该映射目录,可以使用umount命令。
4、用Nautilus访问Windows主机
借助Gnome桌面下的文件管理器Nautilus,我们可以用图形界面来访问Windows主机,这里要注意的是Nautilus只是提供访问Windows主机的图形界面,具体的底层操作还是借助于Samba客户端来完成。
在Gnome桌面环境下,单击“主菜单→网络服务器”菜单项,即可用Nautilus文件管理器查看工作组列表。双击工作组名称,即可看到其下的Windows主机。
双击其中的某台Windows主机图标,即可看到该主机的共享文件夹,可以看到这和Windows下的网络邻居几乎一样。
由于Nautilus本身就是Red Hat Linux的文件管理器,所以我们可以任意往Windows共享目录里拷贝文件、删除文件、创建目录等等(对于windows 2000/XP主机还需要考虑该共享资源的权限设置)。
三、Windows主机访问Linux主机
要想让Windows宿主机能够访问Linux虚拟机,就必须在Linux虚拟机上启动Samba服务。在启动之前,还需要对Samba服务的属性进行配置,例如指定Linux虚拟机的共享目录、所在的工作组名称等。
1、配置Samba服务器
在以前版本的Red Hat Linux,我们必须直接修改Samba配置文件smbconf,或者使用SWAT对Samba进行全方位的设置。Red Hat Linux 90新引入了一个图形化的Samba服务器配置工具,可以让我们很方便地对Samba服务器进行配置。以root用户身份登录系统,单击“主菜单→系统设置→服务器设置→Samba服务器”菜单项,即可打开Samba服务器配置对话框。也可以在终端命令窗口输入“redhat-config- samba”,来访问Samba服务器配置对话框。
首先对Samba服务器的基本设置和安全选项进行配置,单击配置对话框上的“首选项→服务器设置”菜单项,即可打开服务器设置对话框。
基本设置:在对话框的“基本”标签页,我们可以指定Linux主机所在的工作组名称,需要注意的是,此处的工作组名称不一定非得与Windows主机所在的工作组名称一致。
安全设置:然后进行Samba服务器安全设置,这里一共有4个选项。
“验证模式”代表如果Windows主机不是位于NT域里,此处应该选择“共享”验证模式,这样只有在连接Samba服务器上的指定共享时才要求输入用户名、密码;“验证服务器”代表对于“共享”验证模式,无需启用此项设置;“加密口令”选项应该选择“是”,这样可以防止黑客用嗅探器截获密码明文;“来宾账号”代表当来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的某个有效用户。选择系统上的现存用户名之一作为来宾Samba账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个用户相同的特权。
添加共享目录:单击Samba配置对话框工具栏上的“增加”按钮。在打开的对话框中的“基本”标签页上,指定(共享)目录为某个存在的目录,例如可以指定/tmp,再指定该目录的基本权限是只读还是读/写。在“访问”标签页上,可以指定允许所有用户访问、或者只允许某些用户访问。
2、启动Samba服务器
打开终端命令窗口,输入“/sbin/service smb start”命令,即可出现以下提示信息,表示Samba服务已经启动。
# /sbin/service smb start
启动SMB 服务 [确定]
启动NMB 服务 [确定]
接下来在Windows里打开“网络邻居”,就可以看到我们刚才设置的Samba服务器了
系统环境:
系统平台:CentOS release 63 (Final)
Samba版本:samba-3510-125el6x86_64
Samba Server IP:1000163
防火墙已关闭/iptables: Firewall is not running
SELINUX=disabled
安装Samba服务:
1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。
# yum install samba samba-client samba-swat有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。
2、查看安装状况
3、安装包说明
samba-common-3510-125el6x86_64 //主要提供samba服务器的设置文件与设置文件语法检验程序testparmsamba-client-3510-125el6x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3510-125el6x86_64 //基于https协议的samba服务器web配置界面
samba-3510-125el6x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smbconf是samba的核心配置文件,/etc/initd/smb是samba的启动/关闭文件。
4、启动Samba服务器
可以通过/etc/initd/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务
5、查看samba的服务启动情况
# service smb status6、设置开机自启动
# chkconfig --level 35 smb on //在3、5级别上自动运行samba服务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就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了。
0条评论