日期:2014-05-16  浏览次数:20604 次

Linux下安装samba,实现和windows文件共享

samba适合内网文件共享。本教程适合ubuntu/Fedora系统。

1、查看是否已安装。

# rpm -q samba

package samba is not installed

2、使用yum查询软件包

#yum list samba (查询软件包,得到可安装的软件包:  samba.i686)

3、使用yum安装 (一路选yes安装完成)

# yum install samba.i686


启动

service iptables stop

service smb start

service nmb start  

smbd进程的作用是处理SMB请求包(139端口),负责验证和文件共享(重要)。nmdb(137 138端口)

systemctl


配置:

查询安装了哪些软件包。

#rpm -qa|grep samba

找配置文件,到common的软件包。

#rpm -q| samba-common-4.0.3.2 | grep smb.conf

找到了:/etc/samba/smb.conf


备份一下:

#cp samba.conf samba.conf.bak

【global】 全局

workgroup= 指定工作组或域

server string = 描述

security = 指定安全模式 (share 无权限验证,user 有服务器验证(默认))

hosts allow = 限定主机访问 (哪些主机可以访问,哪些用户)

使用ip网段  例如: 162.1.2. 

log file = 指定日志文件存放位置


具体配置:

带 ; 分号开头的注释是有效配置,就是说把分号去掉,在做写修改就行了。

1、配置hosts

我的配置,允许10.5.82. 网段的

hosts allow = 10.5.82. 

2、security 大家可以自定义配置

【home】段, 共享用户的宿主目录

comment = 描述 

browseable = no (没有权限访问的目录,不可见)

writable = yes 


3、需要先添加用户:

adduser sambatest

添加的samda用户必须是系统用户。


assdb backend = tdbsam passdb backend即用户后台。有三种后台:smbpasswd、tdbsam和ldapsam。
Sam即security account manager。
1.        smbpasswd:该方式是使用smb工具smbpasswd给系统用户(真实用户或者虚拟用户)设置一个Samba 密码,客户端就用此密码访问Samba资源。smbpasswd在/etc/samba中,有时需要手工创建该文件。
2.        tdbsam:使用数据库文件创建用户数据库。数据库文件叫passdb.tdb,在/etc/samba中。passdb.tdb用户数据库可使用smbpasswd –a创建Samba用户,要创建的Samba用户必须先是系统用户。也可使用pdbedit创建Samba账户。pdbedit参数很多,列出几个主要的:
pdbedit –a username:新建Samba账户。
pdbedit –x username:删除Samba账户。
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit –Lv:列出Samba用户列表详细信息。
pdbedit –c “[D]” –u username:暂停该Samba用户账号。
pdbedit –c “[]” –u username:恢复该Samba用户账号。
3.        ldapsam:基于LDAP账户管理方式验证用户。首先要建立LDAP服务,设置“passdb backend = ldapsam:ldap://LDAP Server”


通过windows来访问:

在运行中输入:\\linux地址

\\192.168.175.130

会弹出对话框,输入用户名和密码。


登录成功后如果不能访问:

#setsebool -P samba_enable_home_dirs on