Samba服务

Posted

tags:

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

SAMBA介绍

相关包:

Samba 提供smb服务

Samba-client 客户端软件

samba-common 通用软件

cifs-utils  smb客户端工具

samba-winbindAD相关

v相关服务进程:

smbd提供smbcifs)服务TCP:139,445

nmbdNetBios名称解析UDP:137,138

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

帮助参看:man smb.conf

v语法检查:testparm[-v] [/etc/samba/smb.conf]

v客户端工具:smbclient,mount.cifs

SAMBA服务器配置

smb.conf继承了.ini文件的格式,用[ ] 分成不同的部分

v全局设置:

[global] 服务器通用或全局设置的部分

v特定共享设置:

[homes] 用户的家目录共享

[printers] 定义打印机资源和服务

[sharename] 自定义的共享目录配置

v其中:#;开头的语句为注释,大小写不敏感

v宏定义:

%m 客户端主机的NetBIOS               %M客户端主机的FQDN

%H 当前用户家目录路径                  %U当前用户用户名

%g 当前用户所属组                      %h samba服务器的主机名

%L samba服务器的NetBIOS              %I客户端主机的IP

%T 当前日期和时间                      %S 可登录的用户名

SAMBA服务器全局配置

workgroup 指定工作组名称

serverstring 主机注释信息

netbiosname 指定NetBIOS

interfaces 指定服务侦听接口和IP

hosts allow 可用,” ,空格,或tab分隔,默认允许所有主机访问,也可在每个共享独立配置,如在[global]设置,将应用并覆盖所有共享设置

IPv4 network/prefix: 172.25.0.0/24 IPv4前缀: 172.25.0.

IPv4 network/netmask:172.25.0.0/255.255.255.0

主机名: desktop.example.com

example.com后缀的主机名: .example.com

示例:

hosts allow = 172.25.

hosts allow = 172.25. .example.com

hosts deny 拒绝指定主机访问

 

configfile=/etc/samba/conf.d/%U 用户独立的配置文件

vLog file=/var/log/samba/log.%m不同客户机采用不同日志

vmax log size=50 日志文件达到50K,将轮循rotate,单位KB

vSecurity三种认证方式:

share:匿名(CentOS7不再支持)

usersamba用户(采有linux用户,samba的独立口令)

domain:使用DCDOMAINCONTROLLER)认证

vpassdbbackend = tdbsam密码数据库格式

v实现samba用户:

包:samba-common-tools

工具:smbpasswdpdbedit

samba用户须是Linux用户,建议使用/sbin/nologin

管理SAMBA用户

v添加samba用户

smbpasswd-a<user>

pdbedit-a -u <user>

v修改用户密码

smbpasswd<user>

v删除用户和密码:

smbpasswd–x<user>

pdbedit–x –u<user>

v查看samba用户列表:

/var/lib/samba/private/passdb.tdb

pdbedit–L –v

v查看samba服务器状态

Smbstatus

配置目录共享

每个共享目录应该有独立的[ ]部分

[共享名称] 远程网络看到的共享名称

comment 注释信息

path 所共享的目录路径

public 能否被guest访问的共享,默认no,和guest ok 类似

browsable是否允许所有用户浏览此共享,默认为yes,no为隐藏

writable=yes 可以被所有用户读写,默认为no

read only=no writable=yes等价,如与以上设置冲突,放在后面的设置生效,默认只读

write list 三种形式:用户,@组名,+组名,用,分隔

writable=no,列表中用户或组可读写,不在列表中用户只读

valid users 特定用户才能访问该共享,如为空,将允许所有用户,用户名之间用空格分隔

基于特定用户和组的共享

编辑/etc/samba/smb.conf

[share]

path = /app/dir

valid users=wang,@admins

writeable = no

browseable= no

SMB客户端访问

UNC路径: UniversalNaming Convention,通用命名规范

格式:\\sambaserver\sharename

v终端下使用smbclient登录服务器

 

smbclient-Linstructor.example.com

smbclient-Linstructor.example.com -U wang

>cddirectory

>getfile1

> put file2

smbclient//instructor.example.com/shared-U wang

可以使用-U选项来指定用户%密码,或通过设置和导出USERPASSWD环境变量来指定

挂载CIFS文件系统

v手动挂载

mount -t cifs-ouser=wang,password=magedu//server//shared /mnt/smb

v开机自动挂载

cat /etc/fstab可以用文件代替用户名和密码的输入

 

//server/homes/mntcifscredentials=/etc/smb.txt 0 0

cat /etc/smb.txt

 

username=wang

password=password

chmod600 /etc/smb.txt

实验:实现SMB共享

v一、在samba服务器上安装samba

yum -y install samba

v二、创建samba用户和组

groupadd -r admins

useradd -s /sbin/nologin -G admins a1

smbpasswd -a a1

useradd -s /sbin/nologin a2

smbpasswd -a a2

v三、创建samba共享目录,并设置SElinux

mkdir /testdir/smbshare

chgrp admins /testdir/smbshare

chmod 2775 /testdir/smbshare

semanage fcontext -a -t samba_share_t‘/testdir/smbshare(/.*)?‘(在Samba中配置SELinux的方法)

restorecon -vvFR /testdir/smbshare

三、samba服务器配置

üvim/etc/samba/smb.conf

[share]

path = /testdir/smbshare

write list = @admins

systemctlstart smbnmb

üsystemctlenablesmbnmb

üfirewall-cmd--permanent--add-service=samba

firewall-cmd--reload

四、samba客户端访问

安装包

yum -y install cifs-utils

a1用户挂载smb共享并访问

mkdir/mnt/a1

mount -o username=a1 //smbserver(服务器IP地址)/share /mnt/wang

echo "Hello a1">/mnt/a1/a1file.txt

a2用户挂载smb共享并访问

mkdir/mnt/a2

mount -o username=a2 //smbserver/share /mnt/mage

touch /mnt/a2/a2file.txt

 


本文出自 “13145479” 博客,请务必保留此出处http://13155479.blog.51cto.com/13145479/1977061

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

Linux之SAMBA文件共享服务器

Samba服务

如何开启linux samba服务

linux基础-第十七单元 Samba服务

网络共享服务—samba服务

linux下实现文件共享:搭建samba服务器