网络文件系统-Samba

Posted

tags:

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

Samba相关软件包

Samba           提供smb服务
Samba-client    客户端软件
samba-common    通用软件
cifs-utils smb  客户端工具,提供挂载Windows共享目录功能
samba-winbind   和AD相关

挂载windows共享目录

# vim /etc/fstab
//172.18.101.4/winshare /mnt cifs credentials=/etc/smbuser.txt 0 0

其中/etc/smbuser.txt为访问windows的用户名和密码,这样操作是为了更加安全
# vim /etc/smbuser.txt
username=guest
password=guest

# chmod 600 /etc/smbuser.txt

Samba用到的端口

smbd 提供smb(cifs)服务    TCP:139,445
nmbd NetBios名称解析        UDP:137,138

配置文件

/etc/samba/smb.conf

帮助:man smb.conf

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

#和;开头的语句为注释,大小写不敏感

其中;的行为指令,去掉;后可以使用

全局设置

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

workgroup       指定工作组名称
server string   主机注释信息
netbios name    指定NetBIOS名
passdb backend = tdbsam 密码数据库格式
interfaces      指定服务侦听接口和IP
                如:interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow     允许指定主机访问。默认允许所有的主机。可用“,” ,空格,或tab分隔列表
                如:hosts allow = 127. 192.168.12. 192.168.13. 172.25.0.0/24 172.25.0.0/255.255.255.0 desktop.example.com .example.com    填写网段的时候不要忘记那个.
                172.25.0.0/24(这种语法只在Centos 7支持)
hosts deny      拒绝指定主机访问

config file = /etc/samba/conf.d/%U  用户独立的配置文件
log file = /var/log/samba/log.%I   不同客户机采用不同日志
log level=2                         记录日志级别,数字越大越详细
max log size = 50 日志文件达到50K, 将轮循rotate,单位KB

security = user   认证方式
    三种认证方式
    share: 匿名(CentOS7不再支持)
    user:  samba用户(采用linux用户,samba的独立口令)
    domain: 使用DC(DOMAIN CONTROLLER)认证

特定共享设置

[homes]         用户的家目录共享
[printers]      定义打印机资源和服务
[sharename]     自定义的共享目录配置

宏定义

%m 客户端主机的NetBIOS名
%M 客户端主机的FQDN
%H 当前用户家目录路径
%U 当前用户用户名
%g 当前用户所属组
%h samba服务器的主机名
%L samba服务器的NetBIOS名
%I 客户端主机的IP
%T 当前日期和时间
%S 可登录的用户名

添加samba用户

软件包:samba-common-tools

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

samba用户存放在
/var/lib/samba/private/secrets.tdb

samba用户密码存放在
/var/lib/samba/private/passdb.tdb

1.创建Linux系统账号

# useradd -r -s /sbin/nologin hunk2

2.添加samba账号

方法1:
# smbpasswd -a hunk2

New SMB password:
Retype new SMB password:
Added user hunk2.

方法2:
# pdbedit -a hunk3

new password:
retype new password:
Unix username:        hunk3
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1971519039-2121058063-1044659263-1001
Primary Group SID:    S-1-5-21-1971519039-2121058063-1044659263-513
Full Name:            
Home Directory:       \\hunk-samba\hunk3
HomeDir Drive:        
Logon Script:         
Profile Path:         \\hunk-samba\hunk3\profile
Domain:               HUNK-SAMBA

3.查看数据库中存在的samba用户列表

# pdbedit –L –v
# pdbedit -L
hunk2:998:
hunk3:997:

修改用户密码

smbpasswd <user>

删除用户和密码:

smbpasswd –x <user>
pdbedit –x –u <user>

查看samba服务器状态

smbstatus

实例

配置目录共享

语法:
[共享名称]          远程网络看到的共享名称
comment             注释信息
path                所共享的目录路径
public              能否被guest访问的共享,默认no,和guest ok 类似
browsable           是否允许所有用户浏览此共享,默认为yes,no为隐藏
writable=yes        可以被所有用户读写,默认为no
read only=no        和writable=yes等价,如与以上设置冲突,放在后面的设置生效,默认只读
write list          三种形式:用户,@组名,+组名, 用,分隔
                    如write list = +staff  write list = hunk,hunk2
valid users         特定用户才能访问该共享,如为空,将允许所有用户,用户名之间用空格分隔
[smbshare]
comment = smb share
path = /app/share
public = yes
writable = yes
printable = no
write list = +staff

在Windows访问

技术分享图片
技术分享图片

以上是关于网络文件系统-Samba 的主要内容,如果未能解决你的问题,请参考以下文章

Unit6—网络文件系统

samba文件共享服务

nfs 和samba

Samba文件共享服务器搭建详解

SAMBA服务配置

Samba文件共享服务