samba安装及应用实例

Samba服务器:windows与linux文件共享

SMB(Server Message Block)协议是一种客户端服务器协议,位于应用层,是windows共享文件和打印服务的标准化协议。

 

安装Samba服务

1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。

# yum install samba samba-client samba-swat

有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。

2、查看安装状况

3、安装包说明

samba-common-3.5.10-125.el6.x86_64               //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64                    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64                    //基于https协议的samba服务器web配置界面
samba-3.5.10-125.el6.x86_64                            //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

 

4、启动Samba服务器

可以通过/etc/init.d/smb start/stop/restart  /etc/init.d/smb start/stop/restart来启动、关闭、重启

5、查看samba的服务启动情况

# service smb status

6、设置开机自启动

# chkconfig smb on

# chkconfig --list | grep smb

 

 

确认系统中是否已经安装了samba:

rpm -q samba

rpm -qa | grep samba

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

ps -le | grep smbd

ps -le | grep nmbd

开机自启动:echo "/etc/rc.d/init.d/smb start">>/etc/rc.d/rc.local

smbd监听139TCP端口,是samba的核心启动服务,负责用户验证和文件共享,主要负责建立Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问。

nmbd监听137和138UDP端口,负责解析用的,类似于DNS实现的功能,nmb可以把Linux系统共享的工作组名称与其ip对应起来,如果nmb服务没有启动,就只能通过ip来访问共享文件。

  例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。

\\10.0.0.163\共享目录名称

\\davidsamba\共享目录名称

  Samba服务器可实现如下功能:WINS和DIS服务;网络浏览服务;Linux和Windows域之间的认证和授权;UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

samba配置文件:/etc/samba/smb.conf

包括四个设置段

[global]    设置全局环境选项

[homes]    设置用户宿主目录共享

[printers]    设置打印机共享

[sharefiles]    设置文件共享

寻找samba配置文件所在目录:rpm -ql samba-common | grep smb.conf

备份配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

修改配置文件:vi /etc/samba/smb.conf

不看#开始的行:grep -v "^#" /etc/samba/smb.conf | more

删除文件中#开始的行:grep -v "^#" /etc/samba/smb.conf > /etc/samba/smb.conf

去除log file前的注释符:log file=/var/log/samba/%m.log

 

映射网络驱动器:

工具->映射网络驱动器......

\\192.161.16.217\htdocs

 

应用实例一:

允许用户通过windows客户端访问自己的宿主目录

1、安装samba,不需要对配置文件做修改,即可实现此功能

如果安装启用了SELinux,需要先执行:setsebool -P samba_enable_home_dirs on

2、设置用户samba验证密码

smbpasswd -a 用户名

smbpasswd -a root  系统提示输入密码

smbpasswd -a yangbo  系统提示输入密码

3、启动samba服务

/etc/rc.d/init.d/smb start

查看进程:pgrep nmbd  pgrep smbd

 

列出selinux的samba相关选项:gesebool -a | grep samba

windows上断开samba连接,关掉所有共享文件和目录时,在cmd中执行 net use * /delete /y

 

应用实例二:

设置samba共享目录/software,允许用户jack与mary可以通过windows客户端访问,并具有读写权限。

1、创建目录/software,添加用户jack与mary

mkdir /software

useradd jack

useradd mary

passwd jack

passwd mary

2、如果安装了SELinux,执行命令启动用户可访问系统目录:

chcon -t samba_share_t 共享目录

3、在samba配置文件/etc/samba/smb.conf末尾添加:

vi /etc/samba/smb.confd

[software]

 path = /software

valid users = jack mary

writable = yes

4、设置用户jack、mary的samba验证密码,启动samba服务(服务若已启动,不需重启)。

smbpasswd -a jack

smbpasswd -a mary

重启服务:/etc/rc.d/init.d/smb restart

 

用户的写权限是下面两条的交集

1)samba是否授予写权限

writable = yes

2)用户在linux系统中是否对共享目录有写权限

groupadd softadm

usermod -G softadm jack

usermod -G softadm mary

chgrp softadm /software

chmod g+w /software

 

samba服务器检查命令

测试语法错误:# testparm

 

应用实例三:

建立一个公共的只读目录/public,所有人都可以浏览目录的内容

[public]

comment=Read Only Public

path=/public

writable=no

 

应用实例四:

建立部门资料共享目录/hr,部门每个人都能读写,但不能删除别人的文件。

[hr]

path = /hr

valid users = zhangsan lisi wangwu

writable = yes

 

# chmod l777 /hr
粘着位

 

 

 

 

 

 

 

posted on 2014-01-06 13:01  jingyunyb  阅读(483)  评论(0编辑  收藏  举报