1、文件服务器Samba
在我们使用Windows作为客户机的时候,通常有文件、打印共享的需求。作为Windows网络功能之一,通常可以在Windows客户机之间通过Windows Network固有的功能实现这些要求。然而,通过Samba我们也可以让一台CentOS主机来兼Windows网络,实现同样的功能,进而充分发挥CentOS主机的可用性。注:Samba是一个工具套件,是在Linux和UNIX系统上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。
(1)首先,通过 yum 来在线安装Samba。
yum -y install samba
(2)配置Samba配置文件
安装完成之后,编辑 /etc/samba/smb.conf ,根据需求配置Samba。将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。
vi /etc/samba/smb.conf
- 找到全局设置标签[global],并在其下加入文字编码的参数设置。
UTF-8
unix charset = UTF-8
display charset = UTF-8
directory mask = 0777
force directory mode= 0777
directory security mask = 0777
force directory security mode= 0777
create mask = 0777
force create mode = 0777
security mask = 0777
force security mode= 0777
- 同时,找到workgroup = MYGROUP此行,将工作组名称改为 Windows 网络所定义的工作组名WORKGROUP。并设置hosts allow = 192.168.0.127,指定内网IP地址及本地,只允许这两种情况的访问,取消行前的“;”符号。
workgroup = WORKGROUP
server string = Samba Server Version %v
hosts allow = 127. 192.168.121.
client code page = 939 //支持简体中文共享名
- 然后在配置文件的末尾填如下几行,定义公众共享目录:
[public]
comment = Public Stuff
path = /home/myserver/mysamba
public = yes
writable = yes
(3)配置Samba目录
接下来,创建将要通过Samba共享给Windows网络的专用目录。
mkdir -p /home/myserver/mysamba
chown -R nobody. /home/myserver/mysamba
chmod 777 /home/myserver/mysamba
(4)配置防火墙
(5)用户配置:此设置的作用是将Linux中的系统用户(/etc/passwd)导入到samba密码文件中
(/etc/samba/smbpasswd)
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
smbpasswd -a my //此步为添加Samba用户,my用户必须在linux已经存在
(6)测试并启动samba服务器
testparm //测试
service smb start
pstree | grep mbd //查看是否启动
(7)FAQ文件名乱码:根据locales的设置,修改该文件:
- 如果locale是zh_CN.UTF-8,做如下设置:
display charset = UTF-8
unix charset = UTF-8
dos charset = UTF-8
- 如果locale是zh_CN.GBK或zh_CN.gb2312,做如下设置:
display charset = cp936
unix charset = cp936
dos charset = cp936
必须写在 [global] 段中
重启samba:
service smb restart
(5)用户配置: 此设置的作用是将 Linux 中的系统用户(/etc/ passwd )导入到samba密码文件中