在centos 7使用过程中,使用hostnamectl指令修改了主机的hostname,但是未在/etc/hosts文件中加入新设置的hostname导致samba连接的时候出现Samba - protocol negotiation failed
的问题。
在samba设置过程中使用了security = user
的安全等级。在目录配置中将使用valid users设置合法的登陆用户。
在smb.conf中的目录设置如下所示:
[folder]
path = /home/user/folder
available = yes
browsable = yes
valid users = user
writable = yes
create mask = 0660
directory mask = 0770
还需要将用户添加至samba,使用指令smbpasswd -a user
将用户名为user的用户加入samba,加入时还需要设置密码。
在smb.conf文件中说明了需要对selinux进行一些设置使得配置的文件夹能够被外部所访问到:
# Set SELinux labels only on files and directories you have created. Use the
# chcon command to temporarily change a label:
# chcon -t samba_share_t /path/to/directory`
完成上面的步骤之后发现从windows访问samba文件夹依然存在问题。还需要运行: setsebool -P samba_export_all_rw on
来配置samba共享的文件夹是可读写的。
之后就可以从windows访问、修改共享的文件夹及文件了。