Linux 配置Samba服务

在Linux下配置samba,今天写一篇日志,记录一下。

Samba 和Windows文件共享

1、服务查询

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

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

samba-client-3.0.33-3.7.el5

samba-common-3.0.33-3.7.el5

2、卸载Samba

用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为:

rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps

rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps

3、安装Samba

用以下命令安装:

rpm -ivh samba-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps

rpm -ivh samba-client-3.0.33-3.29.el5_6.2.i386.rpm  -f --nodeps
rpm -ivh samba-common-3.0.33-3.29.el5_6.2.i386.rpm -f --nodeps
安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

启动samba
/etc/rc.d/init.d/smb start
samba 有2个守护进程
    smbd 进程 监听139tcp端口

nmbd  监听137和138udp端口

smbd进程作用是处理smb请求包 负责用户验证和文件共享  nmbd进程是处理浏览共享 和计算机名解析

samba 配置文件
/etc/samba/smb.conf
包括4个配置
【global】        设置全局环境选项
    workgroup        指定工作组或者域

server string      描述

security            安全模式 
            share  不需要密码

user    由samba自己验证
            server  第三方主机验证

domain  第三方主机验证  必须是window域控制器

hosts allow        限制主机访问  127. 192.168.12. 192.168.13.  只允许这些网段ip、域名、网段 空格分隔
    hosts deny            禁止域名

log file                指定日志存放目录

max log size        指定最大日志大小

【homes】        设置用户宿主目录共享
    comment  描述  信息

browseable =no          无权访问目录不可见

writable=yes      只读/可写

【printers】      设置打印机共享
【sharefiles】    设置文件共享

注:前面有 “:”或者#表示注释    分号前面一般都是属性  去掉分号就能用

使用samba
smbsataus 查看访问samba的人
testparm  检测samba配置文件是否有误

如果有防火墙先配置防火墙   
netfilter/iptables  查看防火墙是否允许 读写  iptables -L

selinux                setsebool -P    samba_enable_home_dirs on    ||  setsebool -P    use_samba_home_dirs on 
selinux  查看策略  gesebool -a  查看所有策略  gesebool -a | grep samba  查看samba策略
关闭selinux防火墙  /etc/selinux/config    里面的 SELINUX=disabled  关闭

设置samba验证密码
    用户必须是系统用户  不是虚拟用户 已经存在的用户 然后设置 samba密码

smbpasswd -a  用户名    add  如果不加a表示改变

启动samba服务
/etc/rc.d/init.d/smb start

Windows连接samba 
运行 cmd  输入  \\samba服务器地址
在window下面的cmd 用 net use 可以查看会话连接
net use * /delete /y  干掉所有连接
为了方便  可以直接把samba的目录 映射网络驱动器 到我的电脑里面


案例:
设置 samba共享目录 software  允许多个用户可以通过window放问 并且有读写权限
创建 software
如果开启了 selinux 需要声明下共享目录  chcon  -t samba_share_t  /software    共享目录
在samba配置文件smb.conf 末尾添加
[software]    共享名
path = /software      目录名称
valid users = gwyy lt  允许会员  如果不写 就是所有用户都能看到
writable = yes            是否可写可读    写成on就是只读  配合 valid users不写就是个公共只读目录
然后 不光samba的writable设置yes  还要 在linux给这个文件添加写权限  要不然无法写入
最后启动samba服务就好了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0d0fc25a87f00abcd956f105ec4e85a6.html