Samba提供Linux的档案和印表机,SMB(Server Message Block)是一种区域网路上,
分享档案和印表机的协议(Client-Server)。最大功用就是Linux和Windows可互相分享档案和印表机,
当然也可以用于Linux和Linux,而我主要分享zookeeper和kafka给Windows,提高我查询Log效率。
拜读鸟哥详细Samba文章,原来安装Samba还挺简单的,主要步骤如下
安装samba相关套件
Server设定,如NetBIOS主机名、密码使用状态..等
设定预计要分享目录和可供使用的帐号密码
针对分享出去的档案设定相关存取权限
设定开机自动启动
@install samba的包
$ yum install samba samba-client samba-common -y
注意:如果您遇到百胜锁定问题,请输入以下命令
rm -f /var/run/yum.pid #force杀死yum进程
@vi / etc / samba / lmhosts和/ etc / hosts
192.168.1.199 kafkaserver
@vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
netbios name= kafkaserver
map to guest= bad user
dns proxy = no
passdb backend = tdbsam
unix password sync = yes #讓 Samba 與 Linux 密碼同步
passwd program = /usr/bin/passwd %u #以 root 呼叫修改密碼的指令
pam password change = yes #並且支援 pam 模組
[KafkaLogs]
comment = Logs Directories
path = /opt/kafka1.0/kafka_2.11-1.0.0/logs
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
[Zookeeper]
comment = zookeeper Directories
path = /usr/lib/zookeeper-3.4.10/zookeeper-3.4.10
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
PS没用的记得comment
@创建一个组和用户访问桑巴
$ groupadd smbgrp
$ useradd smbuser -G smbgrp
$ smbpasswd -a smbuser
注意:$ passwd smbuser#改变用户密码
@设置文件夹和文件权限
$ chown -R smbuser:smbgrp /opt/kafka1.0/kafka_2.11-1.0.0/logs
$ chmod -R 0770 /opt/kafka1.0/kafka_2.11-1.0.0/logs
$ chcon -t samba_share_t /opt/kafka1.0/kafka_2.11-1.0.0/logs #將 SELinux type 轉為 samba_share_t
$ chown -R smbuser:smbgrp /usr/lib/zookeeper-3.4.10/zookeeper-3.4.10
$ chmod -R 0770 /usr/lib/zookeeper-3.4.10/zookeeper-3.4.10
$ chcon -t samba_share_t /usr/lib/zookeeper-3.4.10/zookeeper-3.4.10
@start桑巴服务
$ systemctl start smb.service
$ systemctl start nmb.service
$ systemctl enable smb.service
$ systemctl enable nmb.service
@为samba设置防火墙
$ firewall-cmd --permanent --zone=public --add-service=samba
$ firewall-cmd –reload
Check samba
$ testparm
桑巴进程的检查
ps -ef | grep -E 'smb|nmb'
@check端口使用samba
netstat -tunlp | grep -E 'smbd|nmbd'
@client win10
目前我安装的Samba version $ smbstatus
透过UNC存取Samba share
如果你和我一样,点选samba share会发生无法存取或找不到网路路径,我最后是关闭SMB2Protocol。
Select
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Disable
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Enable
Set-SmbServerConfiguration -EnableSMB2Protocol $true
点选相关folder会要求输入当时所设定的samba帐号密码,如果你遇到一直要求输入正确密码,
那么可以先重新设定samba user密码,并重新启动samba service。
非必要:window 10可以先改为send NTLMv2 response only, Refuse LM and NTLM。
运行> Secpol.msc
PS:必须重新启动
最后,我终于可以从windows顺利存取了samba share