怎样安装samba服务器来共享文件以及文件夹

怎样安装samba服务器来共享文件以及文件夹,第1张

认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令

rpm -qa | grep samba,默认情况下可以查询到两个已经存在的包:

samba-client-xxx-xxx

samba-common-xxxxxx

安装Samba

用以下命令安装:

rpm -ivh samba-xxxrpm -f --nodeps

rpm -ivh samba-client-xxxrpm -f --nodeps

rpm -ivh samba-common-xxxrpm -f --nodeps

安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

天互数据 为您解答,希望能帮到你

1、安装有关Samba的RPM包(samba、samba-common、samba-client)

2、创建Samba用户

3、修改配置文件

4、重启samba服务

5、设置目录访问权限

6、测试

具体步骤如下:

1、安装RPM包(缺省情况下RHEL5安装了samba的相关软件包,可以用如下命令查看)

[root@localhost ~]#rpm -qa | grep samba

samba -----samba服务器程序的所有文件

samba-common -----提供了Samba服务器和客户机中都必须使用的公共文件

samba-client -----提供了Samba客户机的所有文件

samba-swat -----以Web界面的形式提供了对Samba服务器的管理功能

2、创建samba用户

[root@localhost ~]#smbpasswd -a user1 (“-a”是创建samba用户,“-x”是删 [root@localhost ~]#smbpasswd -a user2 除samba用户,“-d”是禁用samba用

[root@localhost ~]#smbpasswd -a user3 户帐号,“-e”是启用samba用户帐号)

3、修改配置文件

samba配置文件的位置:/etc/samba/smbconf

[root@localhost ~]#vim /etc/samba/smbconf

Vi大开配置文件后,首先介绍一下Samba服务器的安全级别,如图所示:系统默认设置“user”

Samba服务器的安全级别分为5种,分别是user、share、server、domain和ads。在设置不同的级别时,samba服务器还会使用口令服务器和加密口令。

1、user -----客户端访问服务器时需要输入用户名和密码,通过验证后,才能使用服务器的共享资源。此级别使用加密的方式传送密码。

2、share -----客户端连接服务器时不需要输入用户名和密码

3、server -----客户端在访问时同样需要输入用户名和密码,但是,密码验证需要密码验证服务器来负责。

4、domain -----采用域控制器对用户进行身份验证

5、ads -----若samba服务器加入到Windows活动目录中,则使用ads安全级别,ads安全级别也必须指定口令服务器

共享目录的配置

[homes] -----samba用户的宿主目录

comment = Home Directories -----设置共享的说明信息

browseable = no -----目录浏览权限

writable = yes -----用户对共享目录可写

这个共享目录只有用户本身可以使用,默认情况下,用户主目录位于/home目录下,每个Linux用户有一个以用户名命名的子目录。

以下是共享打印机的设置:

[printers] -----共享打印机

comment = All Printers -----设置共享的说明信息

path = /var/spool/samba -----指定共享目录的路径

browseable = no -----目录浏览权限

guest ok = no -----允许来宾访问

writable = no -----用户对共享目录可写

printable = yes -----可以打印

以上是系统默认设置

添加自定义的共享目录:( user1对/ASUS有所有权,user2拥有只读权限,其他用户不能访问;public共享目录允许所有用户访问及上传文件)

[ASUS]

comment = user1 Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /ASUS -----指定共享目录的路径

[public]

comment = all user Directories -----设置共享的说明信息

browseable = yes -----所有samba用户都可以看到该目录

writable = yes -----用户对共享目录可写

path = /public -----指定共享目录的路径

guest ok = yes -----允许来宾访问

4、修改完配置文件后需要重启samba服务

[root@localhost ~]#service smb restart

Samba服务器包括两个服务程序

2 smbd

smbd服务程序为客户机提供了服务器中共享资源的访问

2 nmbd

nmbd服务程序提供了NetBIOS主机名称的解析,为Windows网络中域或者工作组内的主机进行主机名称的解析

5、设置目录权限

[root@localhost ~]#mkdir /ASUS ------创建要共享目录

[root@localhost ~]#mkdir /public ------创建要共享的目录

[root@localhost ~]#chmod 750 /ASUS ------修改/ASUS权限(属主拥有

所有权,属组只读,其它用户不能访问)

[root@localhost ~]#chown user1 /ASUS ------将/ASUS的属主改为user1

[root@localhost ~]#groupadd ASUS ------添加ASUS组

[root@localhost ~]#usermod –G ASUS user1 ------将user1加入到ASUS组

[root@localhost ~]#usermod –G ASUS user2 ------将user2加入到ASUS组

[root@localhost ~]#chgrp ASUS /ASUS ------将/ASUS的属组改为

ASUS

[root@localhost ~]#chmod 777 /public ------给所有用户分配完全控制

权限

配置完成后,还要检查/etc/service文件中以“netbios”开头的记录,正确的文件

记录如下所示,如果这些记录前有#或没有这些记录,应手工添加,否则用户无

法访问Linux服务器上的共享资源

6、测试

找一台内网windows客户端,打开“网上邻居 ”,输入samba服务器的IP点击

“搜索”

如图所示:已经搜索到

双击打开,如图所示:提示输入用户名和密码,先来输入user1的用户名和密码

作测试。

登录成功,

打开user1的宿主目录,此目录user1是拥有所有权限的,创建一个目录测试一

下,如图所示:可以创建

Public目录是允许任何用户上传、下载及删除文件,如图所示

User1对ASUS目录拥有完全控制权限,所以user1可以在此目录下作任何操作

切换另一个用户测试,由于我们在同一台计算机上作测试,测试之前首先要清楚

计算机上的缓存,如图所示:打开 “命令提示符模式”,“net use /del ”是清

除计算机上缓存

重新打开网上邻居,找到Samba 服务器的共享资源,以user2的身份登录

以下几幅可以看到,user2对ASUS目录拥有只读权限,对public、user2目

录拥有所有权

再切换一个用户登录,记得要清除缓存哦,输入user3的用户名及密码

如图所示:user3无法访问ASUS目录

User3只对user3和public目录拥有所有权

需要使用带“-a”选项的smbpasswd命令,将用户添加到Samba,该选项指定随后用户名应添加到本地smbpasswd文件。系统会提示我们输入一个密码(该密码没必要与本地Unix帐户的密码一样):

# smbpassword -a

最后,将访问系统中用作Samba共享区的一个目录的权限授予用户xmodulo(如果需要的话,还可以将访问权限授予其他用户)。要完成这一步,只需用文件编辑器(比如Vim)打开/etc/samba/smbconf文件,浏览到文件末尾,使用描述性名称,创建一段代码(将名称括在方括号内),比如[xmodulo]:

# SAMBA SHARE [xmodulo] path = /home/xmodulo available = yes valid users = xmodulo read only = no browseable = yes public = yes writeable = yes

现在必须重启Samba;为了以防万一,使用testparm命令检查smbconf文件,查找有无语法错误:

# service samba restart # testparm

  samba配置文件smbconf

  一般你装系统的时候会默认安装samba,如果没有安装,只需要运行这个命令安装(CentOS):

  “yum install -y samba samba-client”

  Samba的配置文件为/etc/samba/smbconf,通过修改这个配置文件来完成我们的各种需求。打开这个配置文件,你会发现很多内容都用”#”或者”;”注视掉了。先看一下未被注释掉的部分:

  [global]

  workgroup = MYGROUP

  server string = Samba Server Version %v

  security = user

  passdb backend = tdbsam

  load printers = yes

  cups options = raw

  [homes]

  comment = Home Directories

  browseable = no

  writable = yes

  [printers]

  comment = All Printers

  path = /var/spool/samba

  browseable = no

  guest ok = no

  writable = no

  printable = yes

  主要有以上三个部分:[global], [homes], [printers]。

  [global]定义全局的配置,”workgroup”用来定义工作组,相信如果你安装过windows的系统,你会对这个workgroup不陌生。一般情况下,需要我们把这里的”MYGROUP”改成”WORKGROUP”(windows默认的工作组名字)。

  security = user #这里指定samba的安全等级。关于安全等级有四种:

  share:用户不需要账户及密码即可登录samba服务器

  user:由提供服务的samba服务器负责检查账户及密码(默认)

  server:检查账户及密码的工作由另一台windows或samba服务器负责

  domain:指定windows域控制服务器来验证用户的账户及密码。

  passdb backend = tdbsam # passdb backend (用户后台),samba有三种用户后台:smbpasswd, tdbsam和ldapsam

  smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。

  tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdbtdb,在/etc/samba中。passdbtdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:

  pdbedit –a username:新建Samba账户。

  pdbedit –x username:删除Samba账户。

  pdbedit –L:列出Samba用户列表,读取passdbtdb数据库文件。

  pdbedit –Lv:列出Samba用户列表详细信息。

  pdbedit –c “[D]”–u username:暂停该Samba用户账号。

  pdbedit –c “[]”–u username:恢复该Samba用户账号。

  ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdb backend = ldapsam:ldap://LDAP Server”

  load printers 和 cups options 两个参数用来设置打印机相关。

  除了这些参数外,还有几个参数需要你了解:

  netbios name = MYSERVER # 设置出现在“网上邻居”中的主机名

  hosts allow = 127 19216812 19216813 # 用来设置允许的主机,如果在前面加”;”则表示允许所有主机

  log file = /var/log/samba/%mlog #定义samba的日志,这里的%m是上面的netbios name

  max log size = 50 # 指定日志的最大容量,单位是K

  [homes]该部分内容共享用户自己的家目录,也就是说,当用户登录到samba服务器上时实际上是进入到了该用户的家目录,用户登陆后,共享名不是homes而是用户自己的标识符,对于单纯的文件共享的环境来说,这部分可以注视掉。

  [printers]该部分内容设置打印机共享。

  samba实践

  注意:在试验之前,请先检测selinux是否关闭,否则可能会试验不成功。关于如何关闭selinux请查看第十五章 linux系统日常管理的“linux的防火墙”部分

  1 共享一个目录,任何人都可以访问,即不用输入密码即可访问,要求只读。

  打开samba的配置文件/etc/samba/smbconf

  [global]部分

  把”MY GROUP”改成”WORKGROUP”

  把”security = user” 修改为“security = share”

  然后在文件的最末尾处加入以下内容:

  [share]

  comment = share all

  path = /tmp/samba

  browseable = yes

  public = yes

  writable = no

  mkdir /tmp/samba

  chmod 777 /tmp/samba

  启动samba服务

  /etc/initd/smb start

  测试:

  首先测试你配置的smbconf是否正确,用下面的命令

  testparm

  如果没有错误,则在你的windows机器上的浏览器中输入file://IP/share 看是否能访问

  2 共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写

  打开samba的配置文件/etc/samba/smbconf

  [global] 部分内容如下:

  [global]

  workgroup = WORKGROUP

  server string = Samba Server Version %v

  security = user

  passdb backend = tdbsam

  load printers = yes

  cups options = raw

  然后加入以下内容:

  [myshare]

  comment = share for users

  path = /samba

  browseable = yes

  writable = yes

  public = no

  保存配置文件,创建目录:

  mkdir /samba

  chmod 777 /samba

  然后添加用户。因为在[globa]中” passdb backend = tdbsam”,所以要使用” pdbedit” 来增加用户,注意添加的用户必须在系统中存在。

  useradd user1 user2

  pdbedit -a user1 # 添加user1账号,并定义其密码

  pdbedit -a user2

  pdbedit -L # 列出所有的账号

  测试:

  打开IE浏览器输入file://IP/myshare/ 然后输入用户名和密码

  3 使用linux访问samba服务器

  Samba服务在linux下同样可以访问。前提是你的linux安装了samba-client软件包。安装完后就可以使用smbclient命令了。

  smbclient //IP/共享名 -U 用户名

  如:[root@localhost]# smbclient //100467/myshare/ -U user1

  Password:

  Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3033-329el5_62]

  smb: \>

  出现如上所示的界面。可以打一个””列出所有可以使用的命令。常用的有cd, ls, rm, pwd, tar, mkdir, chown, get, put等等,使用help + 命令可以打印该命令如何使用,其中get是下载,put是上传。

  另外的方式就是通过mount挂载了:

  如:

  mount -t cifs //100467/myshare /mnt -o username=user1,password=123456

  格式就是这样,要指定-t cifs //IP/共享名本地挂载点 -o后面跟username 和 password

  挂载完后就可以像使用本地的目录一样使用共享的目录了。

3、安装samba服务

[root@localhost /]# yum install samba -y

4、创建共享用户

[root@localhost /]# smbpasswd -a smb

[root@localhost /]# smbpasswd -a smb

5、修改配置文件

[root@localhost /]# vim /etc/samba/smbconf

workgroup = WORKGROUP //Win需要修改为工作组

server string = Samba Server Version %v

security = user //可以改为everyone

passdb backend = tdbsam

[test]

path = /test

public = yes

writeable = yes

valid users = smb

[share]

path = /share

public = yes

writeable = yes

valid users = smb

6、创建本地共享目录和文件权限

[root@localhost /]# mkdir /test /share

[root@localhost /]# chown -R smbsmb /test/ /share/

[root@localhost test]# touch tp1 tp2

[root@localhost test]# chmod 444 tp1

[root@localhost test]# chmod 666 tp2

[root@localhost test]# echo "111" > /test/tp1 //ceshi 文本

[root@localhost test]# echo "222" > /test/tp2

[root@localhost test]# service smb restart //开启服务 测试

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样安装samba服务器来共享文件以及文件夹

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情