1.检查是否已经安装Samba
rpm -qa | grep samba
提示如下:
上面的提示说明samba服务器已经安装,可以跳过第2步。否则,进入第2步下载安装。
2.samba服务器安装
1)如果有rpm包,则直接用命令:rpm -ivh [rpm包所在目录] 进行安装;
2)源码安装。下载源码、解压;进入源码目录,输入: ./configure -prefix=/usr/local/samba(这个路径可以自定);make all & make install.
3)下载安装。输入命令:sudo yum install samba。
3.samba服务器配置
1)配置文件所在目录:/etc/samba/smb.conf,修改配置文件前,个人习惯先备份配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2)输入命令:vim /etc/samba/smb.conf
主要配置两项:全局配置和配置共享目录
具体配置含义会在后面说明————
A.配置方案一——share模式
a)全局配置
找到"security = user"这一行,将"user"改为"share",如上图所示。另外,还需要在security的下一行添加"guest account = root"以提供目录的写权限。
b)设置共享目录
找到"Share Definitions", 设置如上图所示。 B.配置方案二——user模式
a)全局配置
找到上图所在位置,查看"sercurity = user"字符串对不对。
b)设置共享目录
path对应于你要共享的目录(这个目录要存在才行),其中write list后面对应与linux系统的一个用户(当然这种方式有有安全隐患)
打开终端:smbpasswd -a xm,添加用户xm,设置登录访问密码。
设定好以后,重启samba服务,见第4步。
4.开启samba服务
启动:/etc/init.d/smb start 或者 service smb start;
停止:/etc/init.d/smb stop 或者 service smb stop;
重启:/etc/init.d/smb restart 或者 service smb restart.
5.客户端连接
首先,确定服务防火墙已关闭或者已设定好端口允许访问。
添加139,445,137,138端口的访问,格式如上图所示。若设定后客户端仍不能访问,则再关闭SELinux或者设置SELinux中Samba服务器允许访问。详情参考:http://apps.hi.baidu.com/share/detail/35035795
windows XP:"开始"-->"运行"-->"\\IP地址";
Windows 7:win+R-->\\IP地址.
说明:如果是share模式,则可以直接访问;如果是user模式,则需要输入用户名和登录密码(见user模式的用户相关配置)
6.Samba服务器中相关说明
A.Samba高级配置
a.系统变量
%I = 客户端IP
%g = 当前用户所在的主工作组
%G = 当前会话用户的工作组
%H = 当前用户的主目录
%d = 当前服务的进程ID
%h = 运行Samba服务器的计算机名
%V = Samba服务器的版本
%R = 使用的协议等级
b.常用高级配置参数
config file:使用自定义配置文件参数,在smb.conf中添加"config file = /etc/smb.conf.%m"
deadtime:整数,单位分钟。default为0
domain master = yes/no
B.Samba服务的文件共享
a.全局参数
workgroup:
server string:
security:share(无安全)/user(用户名.口令)/server(验证)/domain/ads
hosts allow/deny
printcap name:打印共享
guest accent:
log file:
interfaces:
b.用户共享目录
comment: 注释
path: 置顶共享的路径
browseable: 是/否 显示共享目录
printable: 是/否 允许打印
hide dot file: 是/否 不显示隐藏文件
public: 是/否 让可以登录的用户看到共享的目录
guest ok: 是/否 公开共享,若为no,则进行身份验证(只有security - share,此项才起作用)
read only: 是/否 以只读共享
writeable: 是/否 以读写方式共享
valid users: 此名单内的用户才能访问(拒绝优先)
invalid users: 此名单呢的用户不能访问(拒绝优先)
read list: 此名单的成员为只读
write list: 如果设为只读,此名单的成员才能有写入操作
Done~!