编辑
Samba
的主配置文件
smb.conf
vi /etc/samba/smb.conf
修改
security = share
,这一选项是确定
Samba
服务器对客户机采取何种用户认证方式,默认是
user
认证方式,也就是必须通过用户名和密码验证才能进入相应的目录,现在要求所有用户不需要输入用户名和密码就可以访问
Samba
服务器上的共享资源,因此选用参数
share
,既不需要输入用户名和密码就可以进入
Samba
服务器。
注释掉
[homes]
下的配置行,禁止所有用户通过
Samba
用户账户登录到
Samba
服务器。因为网吧的
Samba
服务器是不需要为每个用户建立共享目录的,只需要有一个公共的共享目录即可。
添加公共目录
[movies]
和
[games]
,要求任何用户都可以访问公共目录,并且只具有读取的权利,
path = /home/wangba/movies
设置公共目录对应的
Linux
系统目录。此目录搭建
vsftp
服务器时创建。
public = yes
表示该共享目录对于所有
Samba
用户是可见的。
only guest = yes
表示所有用户在使用该目录时的用户身份都是
guest
,即
Linux
系统用户
nobody
。
guest ok = yes
表示允许所有匿名用户登录。
writable = no
表示该共享目录对于所有用户不可写。
特别注意:
chmod
�C
R 1777 /home/
chmod 777 /home
二、
Vsftp
服务器的配置过程
修改
vsftpd
的主配置文件
vsftpd.conf
vi /etc/vsftpd/vsftpd.conf
在
Vsftpd
服务器上新建一个用户
wangba
,并设置相应的密码,用户登录
FTP
服务器。
在用户宿主目录
wangba
中添加文件夹
movies
和
games
两个目录,并且修改其属主为
wangba
用户。并查看其权限,只允许给所有用户的权限为读和执行权限。
设置完成之后,重启
vsftpd
和
samba
服务,使
smb.conf
和
vsftpd.conf
的修改生效。
三、
解决
Samba
服务器和
FTP
中文同步问题
打开
Samba
服务器的主配置文件
smb.conf
,并且在全局目录
[global]
中添加
dos charset = gb2312
和
unix charset = gb2312
两条记录,然后重启启动
Samba
服务,即可生效。
然后再次使用
UNC
路径访问
Samba
服务器,可以看出刚才显示的中文乱码解决了。
四、
解决
Samba
服务器公共目录的中文问题
众所周知,在
Linux
的字符界面下是不能够输入中文的,输入了只会显示乱码,那么如何将
[movies]
和
[games]
这两个目录显示中文呢,这就需要将
smb.conf
配置文件提取到
Windows
环境下修改成中文,然后再覆盖先前的配置文件。
将
Linux
中的文件提取到
Windows
下的方法很多,这里可以将
smb.conf
复制到
FTP
目录下,然后在
Windows
环境里使用
ftp
下载即可。
复制到
Windows
环境下之后,可以使用写字板或者技术本打开文件
smb.conf
,并修改
[movies]
为
[
影视频道
],[games]
为
[
游戏天地
]
。
修改完成只会,然后再上传到
FTP
服务器上,在
Linux
下通过
cp
命令覆盖到默认目录下即可
可以查看
smb.conf
目录,可以看到所显示的为乱码。
修改完成之后,重启启动
smb
服务。
在
windows
环境下通过
ftp
访问共享目录显示为英文字幕。而通过
UNC
路径访问可以显示为中文
测试使用
wangba
用户登录到
FTP
服务器,然后创建一个文件,然后使用
UNC
路径访问,可以看到测试成功。