第一步安装samba
用rpm –qa | grep samba检测是否已安装(即使看到有samba包,也有可能没有安装,查看/etc/rc.d/init.d/smb比较靠谱点),如果没有就用yum -y install Samba在线安装吧。
第二步配置samba
编辑/etc/samba/smb.conf,下面是我smb.conf。
[global] workgroup = WORKGROUP server string = Samba Server security = user log file = /var/log/samba/log.%m max log size = 50 dns proxy = no [homes] comment = Home Directories browseable = no writable = yes
也可以写成下面这样:
[global] workgroup = WORKGROUP server string = Samba Server security = user log file = /var/log/samba/log.%m max log size = 50 dns proxy = no [homes] comment = Home Directories browseable = no writable = yes [share] path = /home/test #test是系统中另外的一个文件夹 writable = yes #使windows有共享目录中写权限这种写法,在Windows访问的时候就是可以再多看到一个目录share。此时就要保证smb用户对目录/home/test有访问权限。
实际上也可以只需要修改文件/etc/samba/smb.conf的下面这一行代码即可:
原来是
[global] workgroup = MYGROUP
[global] workgroup = WORKGROUP
添加smb用户,用于在windows中登录时用
# smbpasswd -a smb
如果samba已运行,需要重启samba(#service smb restart)才会使smb.conf的修改生效。
注意:smb用户必须是linux的一个有效用户,这样配置出来的samba服务器,就会访问/home/smb这个文件夹。
第三步 启动samba
# chkconfig smb on 设置samba自启动
# chkconfig --list smb 确认samba启动标签,确认2-5为on的状态
# chkconfig nmb on 设置nmb自启动
# chkconfig --list nmb 确认nmb启动标签,确认2-5为on的状态
# /etc/rc.d/init.d/smb start(or #service smb start) 启动samba服务
# /etc/rc.d/init.d/nmb start(or #service nmb start) 启动nmb服务
以上就是安装samba的全过程了,在windows运行中输入\\你的linux的ip,就OK了。
注意:一般在按上面步骤配置好以后,如果windows不能访问该共享目录,一般就是linux防火墙设置的问题,可以直接关闭防火墙。fedora要关闭SELinux。
注意点:
1,修改共享目录权限
如/home/smb
Home至少要有x权限即chmod 100 xue
xue至少要有rx权限即chmod 500 xue,如果要有写权限则必须加上w权限。
否则windows虽然能看到共享目录,但是打不开。
2,Linux防火墙设置
把防火墙打开
# vi /etc/sysconfig/iptables 编辑 iptables 配置文件
添加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT
下面重新启动iptables修改生效 # /etc/rc.d/init.d/iptables restart。显示ok就行了。
或者
直接关闭防火墙iptables -F 。
3,关闭selinux
关闭SELinux的方法:
修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux
查看selinux状态:
/usr/bin/sestatus -v
如下:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted
getenforce/setenforce查看和设置SELinux的当前工作模式
如果以上步骤都实施了,windows应该就可以访问linux共享目录了。
参考:
http://hi.baidu.com/%C9%CF%CA%F7%B5%C4%D6%ED2009/blog/item/4823c2f1c8150b7edcc4746b.html
http://hi.baidu.com/gtfcugb/blog/item/89381aeafd7de3d4d439c92e.html