功能介绍:
Samba(SMB是Server Message Block其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用.Samba即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件,不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的.大家知道在Windows 网络中的每台机器即可以是文件共享的服务器.Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器.我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用.在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用.这在一定意义上说和FTP是不一样的,Samba是用的NETBIOS协议。
守护进程:
SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口。
NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启 动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
安装软件:
yum -y install samba
配置文件:
vi /etc/samba/smb.conf
workgroup = WORKGROUP //工作组
server string = Samba Server %v //备注信息
netbios name = Samba Server //NetBios名字
interfaces = lo 192.168.1.128/24 //Samba服务IP
hosts allow = 127. 192.168.1. //白名单,允许访问的IP
security = share //运行级别:share,user,domain,server
log file = /var/log/samba/log.%m //日志文件存放处
共享参数:
#=====================================ShareDefinitions=====================================
[PlutoSamba] //共享名
comment = Pluto Samba Service //备注信息
path = /Pluto //目录路径
browseable = yes/no //读取
writable = yes //写入
write list = @samba,kimi //允许写入该共享的用户或组
available = yes/no //执行
guest ok = yes/no //匿名访问
public = yes/no //意义同“public”
admin users = root,king //该共享的管理者
valid users = @samba //允许访问该共享的用户或组
invalid users = @sale,@technology //禁止访问该共享的用户或组
Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数
==========================================实例===========================================
需求:1. 在系统分区时单独分一个Samba的区,在该区下有以下几个文件夹:HR、 FM和Share。在Share下又有以下几个文件夹:HR、FM和Tools。
2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。
3. HR管理员账号:hrroot;普通用户账号:hruser。FM管理员账号:fmroot;普通用户账号:fmuser。
[root@pluto /]# useradd -s /sbin/nologin hrroot
[root@pluto /]# useradd -g hrroot -s /sbin/nologin hruser
[root@pluto /]# useradd -s /sbin/nologin fmroot
[root@pluto /]# useradd -g hrroot -s /sbin/nologin fmuser
[root@pluto /]# useradd -s /sbin/nologin smbroot
[root@pluto /]# smbpasswd -a hrroot
New SMB password:
Retype new SMB password:
Added user hrroot.
[root@pluto /]# smbpasswd -a hruser
New SMB password:
Retype new SMB password:
Added user hruser.
[root@pluto /]# smbpasswd -a fmroot
New SMB password:
Retype new SMB password:
Added user rom.
[root@pluto /]# smbpasswd -a fmuser
New SMB password:
Retype new SMB password:
Added user ram.
[root@pluto /]# smbpasswd -a smbroot
New SMB password:
Retype new SMB password:
Added user smbroot.
[root@pluto /]# mkdir /Samba/pluto
[root@pluto /]# cd /Samba/pluto
[root@pluto pluto]# mkdir HR FM Share
[root@pluto pluto]# cd Share/
[root@pluto Share]# mkdir HR FM Tools
[root@pluto ~]# vi /etc/samba/smb.conf
security = user
[HR]
comment = This is a directory of HR.
path = /Samba/pluto/HR
public = no
admin users = hrroot
valid users = @hrroot
writable = yes
create mask = 0750
directory mask = 0750
[FM]
comment = This is a directory of FM.
path = /Samba/pluto/FM
public = no
admin users = fmroot
valid users = @fmroot
writable = yes
create mask = 0750
directory mask = 0750
[Share]
comment = This is a directory of Share.
path = /Samba/pluto/Share
public = no
valid users = smbroot,@hrroot,@fmroot
writable = yes
create mask = 0755
directory mask = 0755
:wq!