[原创] 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
扫描二维码关注公众号,回复: 3755673 查看本文章

一、安装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

 3.2 修改目录的用户组

 必须设置,下面会给用户组所有权限,并

chgrp -R samba /home/admin

 3.3 修改目录权限

chmod 2775 /home/admin/

、常用命令


;======================= 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 = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
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

 

[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

猜你喜欢

转载自www.cnblogs.com/project/p/9864273.html