rinald_未来往事

CentOS下yum安装配置samba服务

Linux
Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
这些年来,Windows 和Linux 操作系统各自拥有自己的用户群和市场。然而在一般的公司或学校里,可能同时有Windows 和Linux 操作系统的主机。Windows 主机彼此间可利用“网上邻居”来访问共享的资源,NFS也能使Linux 主机之间实现资源共享。但如何能使Windows 主机和Linux主机之间实现资源共享呢?
微软的“网上邻居(就是Windows 上利用SMB通信协议实现资源共享的程序)”一经推出,便广受用户的好评,大家突然觉得原来要在网上共享资源尽是那么简单,有鉴于此,便有一些Linux 爱好者开始在Linux 主机上实现SMB通信协议,后来这个实现了SMB功能的软件既被称为 Samba ,它使得Windows 主机和Linux主机之间实现了资源共享。

注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目录拥有充分的读写权限属性,读者可顺着本文的思路完成基本配置流程,如需复杂读写权限功能请自行google。

系统信息约定:
操作系统:CentOS 6.3 X64
共享目录:/share/fity.cn

1、使用yum命令安装samba
# yum -y install samba     //-y参数:如遇询问自动选择y,全自动下载并安装samba

2、检查samba服务包的安装情况
# rpm -qa | grep samba
samba-common-3.0.33-3.7.el5_3.1    //服务器和客户端均需要的文件
samba-3.0.33-3.7.el5_3.1                 //服务器端文件

3、用whereis命令查看samba安装位置
# whereis samba
samba: /etc/samba /usr/lib/samba /usr/share/samba /usr/share/man/man7/samba.7.gz

4、配置samba服务
# vi /etc/samba/smb.conf
(1)[global]    //找到全局设置标签,在下面进行配置
workgroup =  WORKGROUP  //说明:设定 Samba Server 所要加入的工作组或者域
server string = Samba Server Version %v  //说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
; hosts allow = 192.168.1. 192.168.2. 127. 找到此行,去掉行首的“;”,并制定访问限制改为hosts allow = 192.168.1. 127.,指定内网IP地址及本地,只允许这两种情况的访问
security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

(2)配置最简单访问目录几个基本属性:
[share]    windows客户端查看时看到的文件夹名
path = /share/fity.cn    共享目录位置,要系统中存在的目录,也可以配置完再创建
read only = no
public   = yes

5、给配置的共享目录设置权限:
# mkdir /var/samba/share       如刚才配置的共享目录不存在则创建
# chown -R nobody. /var/samba/share       设置共享目录归属为 nobody
# chmod 777 /var/samba/share       将共享目录属性设置为 777

6、配置登录用户信息
# smbpasswd -a username    //将linux系统已存在用户 username(例)加入到 Samba 用户数据库,windows访问samba共享目录时需要输入此用户名和密码
New SMB password:       在此输入密码
Retype new SMB password:       重复密码

7、启动samba服务
# service smb start

8、开机自启动samba服务
# chkconfig --list  //查看开机启动列表
# chkconfig --add smb  //添加系统服务
# chkconfig --levels 345 smb on   //添加开机启动



附:1、关于匿名访问配置(匿名用户可读可写)
security = share
[blogfitycn]
 browseable = yes   说明:browseable用来指定该共享是否可以浏览
 writable = yes      说明:writable用来指定该共享路径是否可写
 path = /share/fity.cn
 public = yes
 guest ok = yes

#chmod -R 0777 /share/fity.cn


附:2、共享的一些参数选项:
[共享名]

comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串

path = 共享目录路径
说 明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目 录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/%m

browseable = yes/no
说明:browseable用来指定该共享是否可以浏览

writable = yes/no
说明:writable用来指定该共享路径是否可写

available = yes/no
说明:available用来指定该共享资源是否可用

admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效
例如:admin users =david,sandy(多个用户中间用逗号隔开)

valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示)

invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开)

write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户
例如:write list = david,@dave

public = yes/no
说明:public用来指定该共享是否允许guest账户访问

guest ok = yes/no
说明:意义同“public”
原文作者:rinald
原文地址:http://fity.cn/post/368.html
互联网技术更新较快,本站很多文章具有实效性,我会及时更新原文,但转载的文章无法通知更新。为了不给读者造成困惑或误导,请您在转载时保留此出处信息,尊重别人也是尊重自己。

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。