Linux-samba

Posted liang-yao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-samba相关的知识,希望对你有一定的参考价值。

数据共享

windows中最常用的是网上邻居,网上邻居使用的文件系统是CIFS(通用互联网文件系统)协议进行数据共享

linux中最常用的是NFS服务

 

samba与NetBios协议

IBM开发的NetBIOS协议是为了局域网内少数计算机进行通信的协议

Samba基于NetBIOS协议开发

 

安装

yum install -y samba

samba:                      主服务包

samba-client:           客户端

samba-common:     通用工具

samba4-libs:               库

samba-winbind:         windows域映射

samba-winbind-clients:域映射客户端

 

samba的守护进程

smbd:提供对服务器中文件、打印资源的共享访问 139 445

nmbd:提供基于NetBIOS主机名称的解析 137 138

 

服务启动

systemctl start smb nmb

systemctl enable smb nmb

配置文件:

/etc/samba/smb.conf

/etc/samba/lmhosts              #对应NetBIOS名与主机名的ip文件

/etc/samba/smbpasswd        #密码保存文件,默认不存在

/etc/samba/smbusers           #用户别名,需要配置文件中username map 选项支持

 

testparm                 #检测配置文件是否正确

 

配置文件结构

vim /etc/samba/smb.conf

[global]:全局设置

[homes]:用户目录共享设置

[printers]:打印机共享设置

 

[global]

workgroup = SAMBA            #所在工作组名称

security = user                       #安全级别【user|server|domain】

[share]   share#共享名

comment = SAMBAtest        #描述信息

path = /home/virtualroot/   #共享路径

browseable = yes                  #是否可见

read only = no                      #所有人只读

writable = yes                       #所有人可写

write list = user123              #拥有写权限的用户列表

valid users = user123           #指定可以访问的用户

guest ok = yes                      #允许匿名访问,等同public

hosts allow = 192.168.200.1 #允许192.168.200.1访问

host deny = 192.168.200.    #禁止192.168.200.0网段访问

host deny = ALL                  #不允许所有人访问,常用通配符还有“*”“?”“LOCAL”

#客户端访问控制还支持域名和主机名

 

常见变量:

%V:      samba版本号

%S:      任意用户可以登陆

%m:     client的NetBIOS主机名

%L:      server的NetBIOS主机名

%u:     当前登陆的用户名

%g:     当前登陆的用户组名

 

添加samba用户

useradd -s /sbin/nologin user123

smbpasswd -a user123                       #samba共用系统用户,使用独立密码

pdbedit -a -u user123                        #效果同上

smbpasswd -x user123                       #删除samba用户

pdbedit -x -u user123                        #效果同上

pdbedit -L                                           #查看samba用户

 

mkdir /home/virtualroot

chown user123:user123 /home/virtualroot/

samba共享目录权限

系统权限对共享目录生效

samba权限也对共享目录生效

实际工作环境中,可能共享目录较多,用户众多,权限交叉。使用ACL控制权限,会更轻松

 

systemctl restart smb nmb

Linux客户端访问

yum install -y samba-client

smbclient -L 192.168.200.101 -U user123         #查看server共享资源

smbclient //192.168.200.101/share -U user123   #访问共享目录

 

客户端挂载到本地使用

由于samba属于CIFS类型,所以需要安装CIFS包

yum install cifs-utils -y

mkdir /home/smb

mount -t cifs -o username=user123 //192.168.200.101/share/ /home/smb/

自动挂载

vim /etc/fstab

//192.168.200.101/share /home/smb cifs defaults,username=user123,password=123 0 0

mount -a #根据/etc/fstab文件自动挂载

mount

 //192.168.200.101/share on /home/smb type cifs (rw,relatime,vers=1.0,cache=strict,username=user123,domain=01,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.200.101,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1)

以上是关于Linux-samba的主要内容,如果未能解决你的问题,请参考以下文章