Debian9上配置Samba
- 更新系统
没啥,就他喵想用个最新的。
apt update && apt upgrade
- 安装samba
命令流程:apt install -y samba
- 创建系统用户组.
groupadd samba - 创建系统用户. 创建一个禁止登陆系统的用户,并让它加入samba组中。
useradd -g samba -M -s /sbin/nologin admin
- 设置系统用户密码
passwd admin
- 设置Samba用户登陆密码
此密码需要单独设置,用来登陆SMB。可以和用户系统密码一样,也可以不一样。
smbpasswd -a admin
创建共享目录
- 创建用户专属目录.
mkdir /home/admin - 修改目录权限.
chmod 777 /home/admin/ - Samba配置文件.
vim /etc/samba/smb.conf
;======================= Global Settings =======================
[global]
workgroup = WORKGROUP
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
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 =======================
[Blu-ray]
comment = bu
path = /home/admin
public = no
valid users = admin
write list = admin
create mask = 0777
directory mask = 0777重启Samba服务器
/etc/init.d/samba restart
;======================= 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 ;创建的目录权限为700cento系统下面需要做以下操作:
设置selinux:
确保setlinux关闭,用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。
getenforce 查看selinux状态为Permissive就行了vim /etc/selinux/config #永久关闭selinux
set SELINUX=disabled #SELINUX=enforcing改为SELINUX=disabled