天天看点

linux之smb服务详解

cifs(common internet file system):通用互联网文件系统

smb(service message block):服务信息块

NetBIOS(互联网基本输入输出):解析windows局域网的主机名称

Winbind:是能够将linux主机加入windows域中的协议

NetBIOS工作在UDP的137,138;TCP的139,445

SMB系统用户的认证:系统用户,用户密码并非保存在shadow下而是保存在smb的服务中

用户统一认证:smb将用户认证转交给另一台服务,此服务器专做SMB用户认证

共享权限和文件系统权限

SAMAB的安装与配置:

yum install -y samba4 samba4-common samba4-client

SAMBA启动时会启动两个进程:nmbd(提供netbios) smbd(提供文件共享的)

smb.conf文件详解:

;表示可以启用的参数,指令,选项

#纯注释信息

共享一个目录的参数设置:

[ share name ]

comment =

path =

browseable =

public =

read only =

writable =

write list = user1, user2br/>@groupname(表示组内的用户都可写)

valid users =

invalid users =

hosts allow = IP (允许那些IP访问)

hosts deny = IP (禁止那些IP访问)

testparm测试/etc/samba/smb.conf配置文件的配置语法格式是否正确

新建一个账号,smbpasswd -a username 将账号添加进smb服务中

windows server: 共享一个文件,创建一个账号,用于登陆查看共享文件

smclient:基于命令行的SMB客户端工具

-L NetBIOS_NAME(对方的主机名IP)

-U Username

-P password

语法:smbclien //IP/share_path -U username

在共享文件目录中执行的命令:查看切换本地目录lcd,!pwd查看当前所在的本地路径

linux挂载smb共享文件(有时挂载不成功需要安装cifs的组件,yum安装):

mount -t cifs //ip/share_path -o username=user

实现开机自动挂载://ipaddr/share_path /mount_piont cifs credentials=/etc/samba/cred.passwd 0 0

vim /etc/samba/cred.passwd

username=

password=

chmod 600 /etc/samba/cred.passwd

samba基于IP的访问控制

iptables:139,445 137,138

samba-swat基于web的图形配置界面:

samba-swat(TCP901):是一个非独立进程

系统上有两种模式:

standalone:在这种模式下的进程可以自己独立工作

transient:瞬时守护进程(短暂守护进程)自己平时不启动,但是前端有一个代理进程(xinetd超级守护进程),xinetd本身不提供任何服务,只为平常不经常访问的服务代为监听端口。

当某个客户访问901端口的时候,xinetd代为监听901端口,首先将请求交给xinetd,xinetd收到这个请求之后,会临时的将swat进程启动起来,并将请求交给swat

所有的非独立守护进程都没有运行级别的概念:chkconfig --list

chkconfig swat on

每一个非独立守护进程都有一个单独的配置文件在/etc/xinetd.d目录中

swat配置文件参数意义:

disabled = 是否启用此功能

port = 服务监听的端口

socket_type = (stream表示是tcp协议)套接字类型

wait = 是否可以同时两个以上的用户访问此web

only_from = 允许来自哪些IP访问(做白名单的)

user = root 以那个身份运行此服务

server =

log_on_failure += USERID 一旦产生错误就将用户的ID记录下来

第一次登录需要使用root密码验证