FC11 samba共享文件夹

http://blog.csdn.net/yanwudingkou/archive/2010/01/18/5206267.aspx

 

Redhat Enterprise Linux中如何关闭SELinux?

红帽企业 Linux 4 包括了一个 SELinux 的实现。SELinux 代表了用户,程序以及进程间相互交流的主要变化。在这个发行

版本中,SELinux 被默认安装并被开启使用。

在安装的过程中,您可以选择禁用 SELinux,或是设置它只记录警告信息,或是使用它的只在以下守护进程中有效的目标化

策略:dhcpd、httpd、mysqld、named、 nscd、ntpd、portmap、postgres、snmpd、squid、syslogd

目标化策略在默认的情况下被启用。

红帽企业 Linux 4 使用在 ext2/ext3 文件系统上的扩展属性来支持 SELinux。这就意味着,当一个文件被写到默认挂载的

ext2/ext3 文件系统中时,一个扩展的属性也会被写入。

当系统有 红帽企业 Linux 4 和 红帽企业 Linux 2.1 双重启动的时候,这就可能会产生一些问题。红帽企业 Linux
2.1 内核不支持文件的扩展属性,当它遇到文件的扩展属性时,系统可能会崩溃。

有Linux桌面用户在安装了Redhat Enterprise Linux 4.0后,可能会需要关闭SELinux,正确的方法是:
修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
By wangzhijun, # 24. January 2006, 04:09:06

SELinux中的Apache和MySQL设定

Fedora Core 3 在安装时默认把SELinux的选项激活了。SELinux比普通的Linux内核提供了更高的安全性,理论上说,在系统

因为未知漏洞溢出的时候,普通用户是不可能得到超级用户的权限了。但是,就是因为SELinux安全性的提高,导致我们在使

用时,会发生一些我们以前从没遇到的问题。
前两天我在使用Fedora Core 3搭建PHP+MySQL的WebServer时就遇到了一些问题。现在整理一下,如果您也遇到同样的问题,

那么,看过这篇文章,就应该可以轻而易举的解决了。
1. Apache - Document root must be a directory 问题。
有可能和这个问题并发的问题还有 403 Forbidden 禁止访问的问题。
现象描述:
不使用系统默认的 /var/www/html作为系统的Document Root,自己新建一个目录后修改 /etc/httpd/conf/httpd.conf 中的

配置,然后重起Apache的Daemon,发现Apache无法起动,系统报错:
  Document root must be a directory
但是,我们设置的DocumentRoot 的确是一个目录,而且apache用户具有可读权限。
另一种情况:新建一个虚拟目录或文件后,无法访问,显示 Forbidden, 403 Error,但文件或目录有可读权限。
问题产生的原因:
一开始我想来想去想不出为什么,但是给我感觉是权限的问题,用传统的Linux的思维方式来看,权限绝对没有问题。但是仔

细一想,SELinux是不是会有其他安全的设定?
检查 avc message,查看 /var/log/messages文件,发现有类似以下内容的这样一段:
Dec 24 17:54:59 hostname kernel: audit(1098222899.827:0): avc: /
denied { getattr } for pid=19029 exe=/usr/sbin/httpd /
path=/var/www/html/about.html dev=dm-0 ino=373900 /
scontext=root:system_r:httpd_t tcontext=user_ubject_r:user_home_t /
tclass=file
嘿嘿,问题找到了,果然是SELinux的新特性搞的鬼。我把目录或文件设成了user_home_t类型,因此apache的进程没有权限

,无法访问。针对Apache的进程所使用的SELinux target policy规定了apache的进程只能访问httpd_sys_content_t类型的

目录或文件。
解决办法:
很简单,把目录或文件的策略类型改成 httpd_sys_content_t 就可以了
使用root用户
# chcon -t httpd_sys_content_t 目录名或文件名
然后可以用 ls -laZ 命令查看文件目录的策略类型

 

=========================================================
fedora10 samba共享[转] - [LINUX]Tag:samba linux selinux fedora samba共享 版权声明:转载时请以超链接形式标明

文章原始出处和作者信息及本声明
http://sphinz.blogbus.com/logs/61247545.html

 

实验环境:虚拟机+fedora9
实验目的:练习fedora9的samba共享
教程适用:想在fedora9上面使用共享的菜鸟
一、
samba 简介

SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之后,Microsoft就使用

NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server

Message Block)协议,这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。因

此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在 Unix/Linux计算机中安装支持SMB协议的软件。这样使用

Windows的客户端不需要更改设置,就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源

了。
Samba 使SMB协议运行在NetBIOS协议上,并且使用Windows的 NetBEUI协议让Unix/Linux服务器可以在Windows的网络邻居上

被访问到。
二、
Samba 的守护进程
1. smbd
监听 139
TCP端口     设置共享目录、打印等
2. nmbd
137. 138 UDP端口     管理群组、NetBIOS 等解析工作
这里要注意的是fedora9基于安全考虑,把smb和nmb两个服务给分离了,平时我们在使用samba服务的时候,在启动smb服务的

同时nmb这个服务也会跟着启动,fedora9中则不然,这就造成了我们设置好fedora9中共享的时候,只能使用

[url=file://ip/]//ip[/url] 来访问,而不能使用[url=file://计算机名/]//计算机名[/url] 来访问,解决的办法就是同

时启动smb和nmb服务
三、
软件的安装
使用rpm –qa|gerp samba来检查是否安装了samba 软件包,如果没有安装的话请自行安装以下的软件包
# rpm –ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh system-config-samba-1.2.63-1.fc9.noarch.rpm
或者你用yum install samba* -y就可以一次搞定了。
四、启动samba服务
# service smb start
( /etc/init.d/smb start )启动 smb 服务
# service nmb start ( /etc/init.d/nmb start )启动 nmb 服务
当然你也可以使用chkconfig –-level smb 35 on 来设置启动级别,这个不多说了。
我们来检查一下是是否正常启动两个服务,使用命令 pstree | grep mb
显示为如下如果则为正常启动:
|-nmbd

|-smbd---2*[smbd]

|-tomboy---2*[{tomboy}]
五、
配置smb.conf文件
知识点,samba 有四种安全级别,它们分别是:
share :用户不需要用户名和就可登陆samba 服务器
user :用户需要输入用户名和密码才可以登陆samba服务器
server :请自行查资料,不常用,略
domain :请自行查资料,不常用,略
对于我们小菜来说,我们使用user级别就可以了,如果偷懒的话你可以用share
我们先备份配置文件smb.conf
# cp /etc/samba/smb.conf
/etc/samba/smb.conf.bak
//在文件的最后建立一个共享名为share的共享
[share]
comment = samba
//描述信息
path = /home/share
//共享路径
public = yes//是否允许guest用户访问(相当于guest ok = yes/no)
writable = yes //是否可写
printable = no
browseable = yes
        create mask = 0664
        guest ok = yes
write list = lovehack //可以写入的用户列表(@<</font>FONT>代表用户组)

 

[global]这段是全局配置,是必写的
workgroup 就是Windows中显示的工作组;在这里我还是workgroup
netbios name 就是在Windows中显示出来的计算机名WUSHUAN
server string 就是Samba服务器说明,可以自己来定义;这个可以省略
security 这是验证和登录方式,这里我们用了uesr ;验证方式有好多种,这是其中一种;如果用share呢,就是不用设置用

户和密码了;
[share] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为

browseable=no
create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;
guest ok 匿名用户以guest身份是登录;


下面建立共享目录并添加权限
#mkdir /home/share
#chmod 777 /home/share

六、添加用户并测试共享

添加访问samba的用户,命令smbpasswd –a 用户名
# smbpasswd –a lovehack
//lovehack为事先建立好的用户
然后输入两次密码就可以了,注意这里的密码和你登陆系统的密码是不一样的,只是用来访问共享的密码。
现在我们就可以来测试一下配置文件是否正确:testparm 一般是没有什么问题的。
现在我们可以用 [url=file://ip/]//ip[/url] 或者[url=file://计算机名/]//计算机名[/url]来访问共享了。
七、解决fedora9中selinux拒绝访问共享的问题

在其它版本的 linux 中( AS5,AS4 , Centos )中做如上设置后就可以正常访问共享了,但是在 fedora9 中却不行,我们

只能看到共享,但是访问的时候会出现拒绝访问的情况,这是为什么呢? 因为 selinux 对 samba 共享做了限制,我们只用

把 selinux 中对 samba 的限制给解决了就行了,我们做如下设置就 OK 了,这也是我做此教程的目的:
#setsebool –P samba_enable_home_dir on
#setsebool –P samba_export_all_ro on
#setsebool –P samba_export_all_rw on
我们可以用命令getsebool –a | grep samba
查看上面三项是否打开,打开的话你的共享应该就正常了。


如果共享目录的权限,smb.conf的权限设置全部正确,那么唯一的可能就是 selinux,selinux默认会阻止samba访问标签不

匹配的文件夹,如果selinux开启的话,输入setenforce 0暂时把selinux设置为允许模式。


=============

http://hi.baidu.com/66621206/blog/item/b3e155d214a467d7a9ec9aaf.html

 

RedHat的 /etc/sysconfig/selinux

在新版本中的Red Hat 和 Fedora 上,修改档案/etc/sysconfig/selinux:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=enforcing

# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

把 SELINUX设定为disable, 下次启动系统后将会停止SElinux。
Linux核心参数(Kernel Parameter)

或者可以在核心参数后加上: selinux=0 (停止) 或 selinux=1 (开启)参数

档案/boot/grub/menu.lst

title Fedora Core (2.6.18-1.2798.fc6)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet selinux=0
        initrd /initrd-2.6.18-1.2798.fc6.img

检查SELinux现时况态

那要如何才能知道当前的状态呢?执行下面的命令:

# selinuxenabled;echo $?

结果返回0,表示启用;返回-256,表示禁用。

要知到你现在是否使用 SELinux:

# getenforce
disabled

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值