转自:http://www.cnblogs.com/xmphoenix/archive/2012/07/09/2582031.html
1、安装好redhat 6.0 x86_64
2、rpm –qa | grep samba
[root@localhost samba]# rpm -qa | grep samba
samba-client-3.5.10-125.el6.i686
samba-winbind-clients-3.5.10-125.el6.i686
samba-common-3.5.10-125.el6.i686
3、在虚拟机上挂载镜像文件切换到Packages(/media/RHEL_6.3 i386 Disc 1/Packages)
ls samba*
samba-3.5.10-125.el6.i686.rpm
samba-client-3.5.10-125.el6.i686.rpm
samba-common-3.5.10-125.el6.i686.rpm
samba-winbind-3.5.10-125.el6.i686.rpm
samba-winbind-clients-3.5.10-125.el6.i686.rpm
4.安装没安装好的软件包
rpm -ivh samba-3.5.10-125.el6.i686.rpm
warning: samba-3.5.10-125.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba ########################################### [100%]rpm -ivh samba-winbind-3.5.10-125.el6.i686.rpm
warning: samba-winbind-3.5.10-125.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:samba-winbind ########################################### [100%]
5、设置Ip
刚刚安装好的操作系统没有ip,你自己设定ip并且让系统在此上电之后还是你设定的ip的方式有两种
setup
在出现的菜单里面设置network
另外的一种办法就是在修改/etc/sysconfig/network-scripts/ifcfg-eth0这个配置文件
6、添加samba用户
smbpasswd -a root
……(输入自己指定的密码)
7、修改配置文件(/etc/samba/smb.conf)在文件的末尾增加以下选项
# A add share directory for root
[share]
comment = Public Share
path = /
public = yes
browseable = yes
writable = yes
valid users = root
8、开启samba服务
在setup里面选定smb服务在开机的时候启动
reboot
9、验证
1、在的开始菜单运行输入\\192.168.0.139\share 回车在随后弹出的对话框输入帐号和密码就可以看到共享的文件
2、在工具->映射网络驱动器里面文件夹选项里面输入\\192.168.0.139\share回车。同样输入帐号和密码就可以看到你共享的文件
二、防火墙相关
转自:http://sunpfsj.blog.163.com/blog/static/17705009720135268314462/
启动samba服务
service smb start(restart:重启,stop关闭)
看到下图就说明samba安装成功并启动了。
注意:这时还不能访问samba,需要关闭防火墙。
关闭防火墙的方法为:
1. 永久性生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
2. 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop
最后输入linux的ip地址就可以访问samba的共享目录了
查看linux ip的命令 ifconfig
输入IP后需要输入用户名密码,这个用户名就是刚刚创建的账户,密码就是smbpasswd命令时输入的密码。
第四步
安装上述步骤操作后顺利的话应该只能看到共享目录,但是还无法访问文件夹的内容。
首先我们需要设置这个文件夹的访问权限
chmod 777 /XXX/XXX 这条命令是这是这个文件夹的访问权限全开。
这时也还不能访问文件夹内容,还需要关闭selinux。
Redhat使用了SELinux来增强安全,关闭的办法为:
1. 永久有效
修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。
2. 即时生效
setenforce 0
这时就可以访问samba的共享目录了
三、SELINUX相关转自:http://gaoshancn.blog.51cto.com/674227/1045805
Samba服务器可以访问,但无法写入故障原因之一
Samba服务器配置完成后,可以正常访问及打开共享目录,但无法看到目录中的文件列表,打开了写入的权限,仍无法任共享目录中写入任何内容。
在命令行模式下,指定IP及用户名访问,系统提示NT_STATUS_ACCESS_DENIED,如下所示:
[root@bogon samba]# smbclient -L 192.168.1.104 -U st02
Enter st02's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.5.4-68.el6]
Server requested LANMAN password (share-level security) but 'client lanman auth' is disabled
tree connect failed: NT_STATUS_ACCESS_DENIED
[root@bogon samba]# smbstatus
Samba version 3.5.4-68.el6
PID Username Group Machine
-------------------------------------------------------------------
<processes do not show up in anonymous mode>
Service pid machine Connected at
-------------------------------------------------------
share 9235 pc-201202160043 Fri Sep 7 03:27:46 2012
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
9235 99 DENY_NONE 0x100081 RDONLY NONE /home/public . Fri Sep 7 03:27:46 2012
原因就是被SELINUX阻挡了,只要关闭SELINUX便可以了。
SELINUX几种状态表示:
enforcing:强制模式,代表 SELinux 运行中,且已经正确的开始限制 domain/type 了;
permissive:宽容模式:代表 SELinux 运行中,不过仅会有警告信息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;
disabled:关闭,SELinux 并没有实际运行。
关闭SELIUNX:
[root@bogon samba]# getenforce
Enforcing
[root@bogon samba]# setenforce 0
[root@bogon samba]# getenforce
Permissive