参考网址:https://www.cnblogs.com/lxyqwer/p/7271369.html
samb服务基础
软件包:samba
协议:SMP(TCP139)CIFS(445)
配置文件路径:/etc/samba/smb.conf
安装软件
yum -y install samba
重启服务
systemctl restart smb
samba帐号的管理
samba用户:a、提前建立同名的系统用户(可不设置密码)
b、采用独立于系统的密码
管理工具:pdbedit
添加用户:-a
查询用户:-L
删除用户:-x
添加用户示例:
[[email protected] ~]# useradd user //添加系统用户
[[email protected] ~]# pdbedit -a user //添加与系统用户同名的samba用户
new password: //交互式设置密码
retype new password:
Unix username: //添加成功后显示的内容
配置文件解读:
[[email protected] ~]# vim /etc/samba/smb.conf
[global] //全局配置
workgroup = MYGROUP
[homes] //家目录共享
[printers] //打印机共享
[samba]
path = /smb/ //共享目录路径
; public = yes|no //默认no;公用的
; browseable = yes|no //默认yes;是否可以浏览
; read only = yes|no //默认yes;只读
; writable = yes|no //默认yes;可写
write list = user //默认无;可写入的用户列表
valid users = user,user1//默认所有用户;有效的用户列表
; hosts allow = 客户地址 //允许的客户机地址
; hosts deny = 客户地址 //禁止的客户机地址
; comment = 注释 //说明
权限设置:
修改用户对目录的读写执行权限
[email protected] ~]# setfacl -m u:user:rwx /smb
设置SELinux对samba共享的保护
a、用getseboolbool查看selinux开关
[[email protected] ~]#getsebool -a | grep samba_export
samba_export_all_ro --> off
samba_export_all_rw --> off //是否允许可读写共享
b、用setsebool控制SELinux开关
[[email protected] ~]# setsebool -P samba_export_all_rw=on
[[email protected] ~]# setsebool -P samba_export_all_ro=on //打开
客户端访问共享目录
所需软件包:samba-client
1、列出共享资源:smbclient -L 服务器地址
[[email protected] ~]smbclient -L 192.168.4.7
Enter root's password: //此处无需输入密码,直接回车
Anonymous login successful
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.3]
Sharename Type Comment
--------- ---- -------
................................
[[email protected] ~]# smbclient -U user //192.168.4.7/tools(共享名)
Enter user's password: //输入samba用户user的密码
Domain=[SAMBA] OS=[Windows 6.1] Server=[Samba 4.2.3]
smb: \> ls
. D 0 Fri Jul 28 22:02:25 2017
.. DR 0 Fri Jul 28 21:32:58 2017
D 0 Fri Jul 28 22:02:25 2017
1、客户端登录samba时出现以下提示:
session setup failed: NT_STATUS_LOGON_FAILURE
该错误提示表示用户有误,可能是用户不存在,也可能是密码错误,或者只是在samba用户和系统用户及密码出现错误,总之就是用户和密码的问题。
tree connect failed: NT_STATUS_BAD_NETWORK_NAME
该错误表示坏的网络名,表示共享目录不存在,或共享目录权限问题
可用setfacl -m给用户加权限
Connection to 192.168.4.7 failed (Error NT_STATUS_HOST_UNREACHABLE)
2、客户端连接到samba共享目录时出现以下提示:
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
文件权限不足,或者存在selinux限制
调整文件的权限,并打开selinux开关
3、执行setsebool -P 操作启用SElinux开关参数时失败,提示:Killed
内存不足,而且交换空间也不足
添加交换分区(1GB)在重试
待完善。。。。。。