CentOS7 SAMBA服务器搭建

samba有三个模式: share|user|domain,平常使用也就是用user模式,也就是使用samba服务器本身的密码资料库,跟passsdb backend有关。

安装软件:

# yum install samba -y

配置SMABA:

# vim /etc/samba/smb.conf
Bash
[global]
workgroup = SAMAB
netbios name = CentOS
server string = This is  samba server
unix charset = utf8
display charset = utf8
dos charset = cp950
log file = /var/log/samba/log.%m
max log size = 50
load printers = no
#与密码有关的设定项目
security = user <==这行就是重点啦!改成user层级
passdb backend = tdbsam <==使用的是TDB资料库格式!
# 分享的资源设定方面:删除temp加入homes与project
[homes] <==分享的资源名称,登入samba的账户的家目录,这个可以不考虑配置
comment = Home Directories
browseable = no <==除了使用者自己外,不可被其他人浏览
writable = yes <==挂载后可读写此分享
create mode = 0664 <==建立档案的权限为664
directory mode = 0775 <= =建立目录的权限为775
[project] <==共享资源
comment = smbuser's project
path = /home/project <==实际的Linux上面的目录位置
browseable = yes <==可被其他人所浏览到资源名称(非内容)
writable = yes <==可以被写入
write list = @users <==写入者有哪些人的意思

每次改完smb.conf都重新检查一下语法正确:

# testparm

创建相应的目录:

# mkdir /home/project
# chgrp users /home/project
# chmod 2770 /home/project

创建系统账号,并设置密码

# useradd -G users smb1
#echo 1234 | passwd --stdin smb1

新增samba账号,使用刚刚创建好的系统账号:

# pdbedit -a -u smb1

输入两次密码即可

# pdbedit -L 可以列出已存在的账号
# smbpasswd smab1可以修改账号密码
# pdbedit -x -u smb1可以删除账户

设置开机自启服务

# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl start smb.service
# systemctl start nmb.service

匿名登录smb服务器测试:

# smbclient -L //smbserverip

使用账号登录smb服务器测试:

# smbclient -L //serverip -U smb1

挂载测试:

# mount -t cifs //serverip/smb1 /mnt -o username=smb1

防火墙设置:

# firewall-cmd --zone=public --add-service=samba --permanent
# firewall-cmd --reload

Selinux设置:

这一步很重要,不然没法正常用的

# getsebool -a | grep samba查看samba的selinux规则
# setsebool -P samba_enable_home_dirs=1
# chcon -t samba_share_t /home/project也可以用# restorecon -Rv '/home/project'

完事在windows上挂载试试就没问题了。

标签:SambaCentos 发布于:2019-10-28 23:06:46