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