首页 > 代码库 > CentOS安装Samba服务

CentOS安装Samba服务

1、在线安装samba服务

# yum install samba samba-client samba-swat

2、备份samba 主配置文件,文件目录 /etc/samba/samba.conf

# cp smb.conf smb.conf.backup

3、修改samba.conf配置文件

修改之后如下:其他没有显示的代码全部关掉

[global]
netbios name = MDITIP_SERVER                   \\网络显示服务器名称
server string = Samba Server Version %v        \\服务器一些描述信息
security = SHARE                               \\安全级别
log file = /var/log/samba/log.%m               \\日志信息
idmap config * : backend = tdb
hosts allow = 127., 192.168.17., 192.168.1.     \\允许访问的IP段

[public]
comment = Gene pictures                         \\对共享目录的说明文件,自己可以定义说明信息
path = /work/mditip/pictures                    \\共享路径
read only = No                                  \\是否只读
guest ok = Yes                                  \\所有人可查看,等效于public = yes


安全级别说明:
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。

2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。
    账号和密码要在本Samba Server中建立。

3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。
    此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,
    使用 Windows NT进行Samba认证远程服务器可以自动认证全部用户和口令,
    如果认证失败,Samba将使用用户级安全模式作为替代的方式。

4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

4、修改共享文件的权限 /work/mditip/pictures

chmod 777 -R /work/mditip/pictures

5、重新启动smb服务

service smb restart
service nmb restart

6、如果遇见windows客户端无法写入的情况(提示没有权限)可能是SELinux开启有关

解决办法
运行:setenforce [0|1]
参数说明:

0 :转成 permissive 宽容模式;
1 :转成 Enforcing 强制模式

7、之后就可以访问了

SELinux说明


1、SELinux的启动、关闭与查看

并非所有的 Linux distributions 都支持 SELinux 的
目前 SELinux 支持三种模式,分别如下:
1)、enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;
2)、permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。
    这种模式可以运来作为 SELinux 的 debug 之用;
3)、disabled:关闭,SELinux 并没有实际运作。

2、查看SELinux的模式

# getenforce 
Enforcing  <==就显示出目前的模式为 Enforcing

3、查看 SELinux 的政策 (Policy)

# sestatus
SELinux status:                 enabled    <==是否启动 SELinux
SELinuxfs mount:                /selinux   <==SELinux 的相关文件资料挂载点
Current mode:                   enforcing  <==目前的模式
Mode from config file:          enforcing  <==设定档指定的模式
Policy version:                 21
Policy from config file:        targeted   <==目前的政策为何?

4、通过配置文件调整SELinux的参数

# vi /etc/selinux/config
SELINUX=enforcing     <==调整 enforcing|disabled|permissive
SELINUXTYPE=targeted  <==目前仅有 targeted 与 strict

5、SELinux 的启动与关闭

【重要常识】
    上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;
    如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。
    这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!
    同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!
  【重点】如果要启动SELinux必须满足以下两个点:
    所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,
    并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢?
    [root@www ~]# vi /boot/grub/menu.lst
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-92.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0
    initrd /initrd-2.6.18-92.el5.img
    # 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!

    【问题】如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?
    【答案】将强制模式改为宽松模!
    [root@www ~]# setenforce [0|1]
    选项与参数:
        0 :转成 permissive 宽容模式;
        1 :转成 Enforcing 强制模式

    范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看
    [root@www ~]# setenforce 0
    [root@www ~]# getenforce
        Permissive
    [root@www ~]# setenforce 1
    [root@www ~]# getenforce
        Enforcing

6,查看已启动程序的type设定

[root@master oracle]# ps aux -Z
    LABEL                           USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    system_u:system_r:init_t        root         1  0.0  0.4   2060   520 ?        Ss   May07   0:02 init [5
    system_u:system_r:kernel_t      root         2  0.0  0.0      0     0 ?        S<   May07   0:00 [migra]
    system_u:system_r:kernel_t      root        11  0.0  0.0      0     0 ?        S<   May07   0:00 [kacpi]
    system_u:system_r:auditd_t      root      4022  0.0  0.4  12128   560 ?        S<sl May07   0:01 auditd
    system_u:system_r:auditd_t      root      4024  0.0  0.4  13072   628 ?        S<sl May07   0:00 /sbin/a
    system_u:system_r:restorecond_t root      4040  0.0  4.4  10284  5556 ?        Ss   May07   0:00 /usr/sb

    说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!

CentOS安装Samba服务