在CentOS-7 部署samba服务器
有3部分需要注意
1. 防火墙firewalld
2. selinux安全访问机制
3. samba服务器套件
希望达成的目的:
每一个用户登录到samba服务器后,可以访问两个目录
1. /home/username /* /home/username 这个目录只能自己访问 权限 rwx------ */
2. /home/work /* 只能由属于work组的用户访问,通常是一个开发小组 */
那么就来创建这些目录和用户
# useradd -m smbuser1
# groupadd work
# usermod -G work smbuser1
# mkdir /home/work
# chgrp work /home/work
首先来安装samba
# yum install -y samba samba-client
设置:
# vim /etc/samba/smb.conf
CentOS-7中这个文件已经和以前的版本不同,但设置方式更加简单
------------------------------------------/etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = no
cups options = raw
time server = yes
[homes]
comment = Home Directories
path = /home/%U
valid users = %S, %D%w%S
browseable = no
read only = no
inherit acls = yes
create mode = 0664
directory mode = 0775
[work]
comment = Samba Shared Directory
path = /home/work
browseable = yes
writable = yes
valid users = @work /* 对work组的用户有效 */
write list = @work /* 可以执行写操作的用户 */
------------------------------------------/etc/samba/smb.conf
# testparm /* 查看smb.conf 语法是否有错误 */
# pdbedit -a smbuser1 /* 添加可以访问samba的用户 */
new password: /* 设置密码,登录samba用的密码 */
retype new password: /* 确认密码 */
# pdbedit -L /* 查看能访问samba服务器的用户 */
------------------------------------------
启动samba服务器
# service smb start
# service nmb start
设置selinux 不建议将其关闭
# getsebool -a | grep "samba"
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> on
samba_export_all_ro --> on
samba_export_all_rw --> on
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
tmpreaper_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
# setsebool -P samba_enable_home_dirs=on
# setsebool -P samba_export_all_rw=on
# setsebool -P samba_export_all_ro=on
测试能否登录
smbclient -L //192.168.0.101 -U username
Enter twalker's password:
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
Sharename Type Comment
--------- ---- -------
work Disk Samba Shared Directory /* samba 共享出来的目录 */
IPC$ IPC IPC Service (Samba 4.4.4)
username Disk Home Directories /* 登录samba时,可以访问自己的主目录 */
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.4.4]
Server Comment
--------- -------
CENTOS-7 Samba 4.4.4
Workgroup Master
--------- -------
SAMBA CENTOS-7
WORKGROUP DESKTOP-EHLETSK
测试是否能挂载samba共享的目录
# mount -t cifs //192.168.0.101/work /mnt -o username=smbuser1,password=xxxx
# ls /mnt
关闭firewalld防火墙,其实不建议关闭防火墙
# systemctl stop firewalld
执行以下命令永久的放行samba
# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
完成以上的设置后,就可以在Windows端来登录linux端的samba服务器
在 ‘我的电脑’ 中输入:\\192.168.0.101
或者 win+R 输入: \\192.168.0.101