• samba详解


    Samba详解 

    原文  http://blog.csdn.net/seward_wang/article/details/12614263

    samba-client.i386
    samba-common.i386
    samba.i386
    samba-swat.i386

    1、安装软件包
    # yum install samba* -y

    配置目录 /etc/samba

    man smb.conf

    # vim /etc/samba/smb.conf

    [global]
            workgroup = MYGROUP
            server string = Samba Server Version %v
            security = user
            passdb backend = tdbsam
            load printers = yes
            cups options = raw

    [homes]
            comment = Home Directories
            browseable = no
            writable = yes
    [printers]
            comment = All Printers
            path = /var/spool/samba
            browseable = no
            guest ok = no   # <--- yes匿名可以访问,no拒绝匿名访问
            writable = no   # <--- yes 资源可以写,no只读
            printable = yes

    [share]
    comment = This is rhce testing
    path = /common
    browseable = yes # <---让资源可见
    hosts allow = .example.com  # <---只允许example.com域下的用户访问
    valid users = user1  # <---该资源只对user1用户有效,别的用户不能访问
    writable = yes  # <--资源可写
    2、创建目录并且修改selinux上下文

    # mkdir /common
    # chmod 775 /common

    # chcon -R -t samba_share_t /common
    # setsebool -P samba_export_all_ro on
    或者
    # setsebool -P samba_export_all_rw on

    3、创建samba独立的帐号
    注意:这些帐号必须是系统上本身就拥有的帐号

    [  useradd user1  ]

    # smbpasswd --help

    # smbpasswd  -a user1 <---添加user1到smb专用的帐号数据文件里
    4、设定iptables
    samber有两个进程:
    nmbd 137 , 138
    smbd 139 , 445

    iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -p tcp -m multiport --dports 137,138,139,445 -j ACCEPT
    iptables -A INPUT -p udp -m multiport --dports 137,138,139,445 -j ACCEPT
    5、测试
    # service smb restart

    # smbclient -L //192.168.0.249 -U user1   <--列出可以访问的资源
    # smbclient //192.168.0.249/share -U user1 <--访问名字叫share的资源
    如果共享的目录是公共的目录,也就是该目录也被别的服务共享,selinux上下文这样设定:
    # chcon -t public_content_t /common
    # chcon -t public_content_rw_t /common/pub

    总结:
    如果/common目录被nfs,vsftp,samba同时共享出去
    selinux设定:
    如果要求对该目录有写的权限:
    chcon -R -t public_content_rw_t /common
    如果是只读:
    chcon -R -t public_content_t /common

    文件系统权限:
    如果要求对该目录有写的权限:
    chmod 775 /common
    chown root:XXXX /common   《 --XXXX代表通过samba在该目录写文件的哟用户所在的组
    iptables设定(samba,nfs,ftp):

    modprobe ip_conntrack_ftp  <- --非常重要
    echo "modprobe ip_conntrack_ftp"  >> /erc/rc.d/rc.local iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -p tcp -m multiport --dports 20,21,137,138,139,445,875,32803,32769,892,662,2020,111,2049 -j ACCEPT

    iptables -P INPUT DROP

    练习:

    1、通过samba共享/common目录,要求不允许t113.org域的所有用户访问。只允许user2访问该资源

    [share]
    comment = "test"
    path = /common
    hosts deny = .t113.org
    valid users = user2

    useradd user2
    smbpasswd -a user2

    2、分别通过smbclient访问用户的家目录资源,测试是否支持上传等操作
    给我找到和samba家目录有关的selinux布尔值设定
    getsebool 命令 找到
    # getsebool  -a | grep samba
    samba_domain_controller --> off
    samba_enable_home_dirs --> off  《-----
    samba_export_all_ro --> off
    samba_export_all_rw --> on
    samba_share_nfs --> off
    use_samba_home_dirs --> off  《-----
    virt_use_samba --> off

    setsebool -P samba_enable_home_dirs=1
    setsebool -P use_samba_home_dirs=1

    3、通过samba共享/share目录,要求所有人都可以访问,而且匿名也可以访问,并且匿名也可以上传文件。

    [pub]
    comment = "Public source"
    path = /share
    guest ok = yes
    browseable = yes
    writable = yes

    # chcon -t public_content_rw_t /share/

    还需设定目录权限和selinux策略
    chmod 777 /share
    setsebool -P allow_smbd_anon_write=1

    测试
    # smbclient -L //192.168.0.249
    # smbclient  //192.168.0.249

  • 相关阅读:
    python第三周练习
    python第一周作业
    SQLite3—数据库的学习—python
    python实现跳一跳辅助的实验报告
    Python——自己的第一个网页(文件的使用)
    第一次爬虫和测试
    numpy和matplotlib使用
    Python作业———预测球队比赛成绩
    PIL库的学习
    Pytho作业——Jieba库的使用和好玩的词云
  • 原文地址:https://www.cnblogs.com/mrcrazy/p/3768677.html
Copyright © 2020-2023  润新知