[原创] Debian9上配置Samba

Posted project

tags:

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

Samba概述


Samba是一套使用SMB(Server Message Block)协议的应用程序,通过支持这个协议,Samba允许Linux服务器与Windows系统之间进行通信,使跨平台的互访成为可能。Samba采用C/S模式,其工作机制是让NetBios( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

Samba服务器包括两个后台应用程序:Smbd 和 Nmbd。Smbd 是Samba的核心,主要负责建立 Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问;Nmbd主要负责对外发布Linux Samba服务器可以提供的NetBIOS名称和浏览服务,使Windows用户可以在“网上邻居”中浏览Linux Samba服务器中共享的资源。另外Samba还包括一些管理工具,如 smb-client,smbmount,testparm,Smbpasswd 等程序。

Samba服务器可实现如下功能:WINS和DNS服务;网络浏览服务;Linux和Windows域之间的认证和授权;UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

 

 

准备工作


【更新系统

没啥,就他喵想用个最新的。

apt update && apt upgrade

 

 

一、安装samba


官方网站:https://www.samba.org/

命令流程:

apt install -y samba

 

 

二、创建用户


 2.1 创建系统用户组

groupadd samba

 

 

 2.2 创建系统用户

 创建一个禁止登陆系统的用户,并让它加入samba组中。

useradd -g samba -M -s /sbin/nologin admin

 

 2.3 设置系统用户密码

passwd admin

 

 2.4 设置Samba用户登陆密码

 此密码需要单独设置,用来登陆SMB。可以和用户系统密码一样,也可以不一样。

smbpasswd -a admin

 

 

三、创建目录


 3.1 创建用户专属目录

 

mkdir /home/admin

 

 

 2.删除元数据。

mdadm --zero-superblock /dev/sdb

 

 

 

、常用命令


 

;======================= Global Settings =======================
[global]
workgroup = WORKGROUP     ;工作组名称
server string = Samba Server Version %v ;主机的简易说明
dns proxy = no
log file = /var/log/samba/log.%m    ;产生日志文件的命名,默认以访问者IP地址命名
max log size = 1000                 ;日志文件最大容量,默认50,单位为KB,0表示不限制
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Entersnews*spassword:* %n
 *Retypesnews*spassword:* %n
 *passwordsupdatedssuccessfully* .
pam password change = yes
map to guest = bad user
usershare allow guests = yes

;======================= Share Definitions =======================
[guest]
comment = Guest Directories ;共享描述,当鼠标悬浮在目录上时会显示
path = /home/guest          ;共享目录路径
browseable = yes/no         ;设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问
writable = yes/no           ;设置共享是否具有可写权限
read only = yes/no          ;设置共享是否具有只读权限
valid users = username      ;设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
write list = username       ;设置在共享具有写入权限的用户,例如例如write list  = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)
invalid users = username    ;设置不允许访问共享的用户
public = yes/no             ;设置共享是否允许匿名访问
guest ok = yes/no           ;功能同public一样
create mask = 0700          ;创建的文件权限为700
directory mask = 0700       ;创建的目录权限为700

 

 

 

 

chmod -R 666 /home/guest

#chmod 2775 /home/samba/guest/
#chmod 2770 /home/samba/demo/

 

 

 

 

 

 

[global]
workgroup = WORKGROUP
server string = 我操你大爷
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
server role = standalone server
passdb backend = tdbsam
security = user
map to guest = bad user

[guest]
comment = Guest Directories
path = /home/guest/
public = yes
read only = yes

[demo2]
comment = Demo Directories
path = /home/demo/
public = no
valid users = demo,admin
write list = demo
writable = yes

以上是关于[原创] Debian9上配置Samba的主要内容,如果未能解决你的问题,请参考以下文章

Samba原理和配置

“500 oops socket” Debian 9 running via Linux Deploy上成功部署vsftpd的解决方案(201901原创)成功完美简单极致

CentOS 7下安装samba

ubantu 与Windows 资源共享

如何在 Ejabberd 16.09-4 Debian9 上启用 omemo?

centOS7上安装samba