本文以Fedora 12为例,介绍了如何配置Samba以实现Linux和Windows系统之间的文件共享
安装Samba
1. 使用如下命令查看是否已经安装samba和samba-client
yum info samba samba-client
如果已经安装的话,在命令输出的第一行会显示 Installed Packages;如果显示Available Packages,则表明没有安装,请继续第2步进行安装
2. 使用如下命令安装(以root用户或者使用sudo)
yum install samba samba-client
从Fedora访问Windows共享
samba-client为mount命令提供了对CIFS文件系统的支持,包括Windows共享。
如果只是临时访问某个Windows共享,可以手动运行以下命令(root用户或者sudo)挂载Windows共享(假设我们要访问的是192.168.1.2上的win_share目录,用户名和密码分别是username和password,要挂载到/mnt/win_share目录,owner是linux用户linux_user):
如果需要长期使用这个共享,把下面的内容加到/etc/fstab里面即可,这样系统每次都会自动挂载这个共享目录:
更多选项,请参考mount.cifs的man页面: man mount.cifs
从Windows访问Fedora共享
假设我们要实现以用户linux_user和读写方式从Windows访问Fedora(IP为192.168.1.3)上的/opt/share目录(共享名为opt_share)的访问。
1. 编辑/etc/smb.conf文件
在[global] 部分设定Window工作组名称 workgroup=Group_Name
在文件的末尾增加如下内容:
注意: /opt/share目录要对用户linux_user可写
2. 为linux_user增加对应的samba用户,并设置密码:
sudo smbpasswd -a linux_user
3. 启动Samba服务
sudo /etc/init.d/smb start
如果想让samba服务随开机自动启动,运行以下命令:
sudo /sbin/chkconfig --level 35 smb on
4. 修改防火墙配置以允许Samba访问
运行sudo system-config-firewall,在打开的Trusted Services配置页面,选中Samba和Samba Client,并Apply
5. 修改SELinux设置
如果启用了SELinux,做完了上面的配置还是只能以只读方式访问,需要修改SELinux的设置:
sudo chcon -t samba_share_t /opt/share
6. 在Windows机器上使用linux_user和刚才设置的密码访问//192.168.1.3/opt_share来访问即可.
7. 使用符号链接(Symbolic Link)
如果想使用符号链接把某个目录(比如/something/else)挂载到Samba共享的目录下面,需要以下几个步骤
- 修改/etc/samba/smb.conf文件,在[global]部分添加如下设置,然后重启samba服务(sudo /etc/init.d/smb restart )
follow symlinks = yes
wide links = yes
unix extensions = no - ln -s /something/else /opt/share/something_else
- chcon -t samba_share_t -R /something/else/
- 如果需要写入该目录,请赋予linux_user对/something/else的写权限