• linux samba 服务配置及日志管理


    2012-01-16 
     
    安装samba共需3个rpm包 
     samba-common-3.0.23c-2.i386.rpm
     samba-3.0.23c-2.i386.rpm
     samba-client-3.0.23c-2.i386.rpm
    安装时按顺序安装即
    rpm -ivh  samba-common-3.0.23c-2.i386.rpm
    rpm -ivh  samba-3.0.23c-2.i386.rpm
    rpm -ivh samba-client-3.0.23c-2.i386.rpm
    安装完毕
    samba共享文件夹即权限配置
    path = /public   共享文件夹的路径
    writable = yes   可写
    public = yes
    browseable = yes 可见
    valid users = test  有效用户
    wirte users = test   可写入的用户
    create mode = 0775
    directory mode = 0775
    force user = root
    force group = users
    samba访问日志
    samba访问日志默认是放在/var/log/samba文件夹下的samba给每个客户端创建一个日志文件,文件名称为客户端的主机名或客户端的ip。
    默认情况下samba只记录客户端访问samba和断开samba的时间不记录客户端的操作若想记录客户端的具体操作添加
    log level=10
     
    ******************************************************************************************
    inotify监控samba文件系统脚本
    2011-06-15
     
    因对samba目录下有监控需求,所以最近都在研究,但网上都找不到比较好的samba监控软件,没有办法对目录下的文件操作进行监控。
    swat只可以对当下的samba连接用户和IP进行监控,但没有日志功能,最终决定用inotify来进行监控。
     
    整个脚本的思路如下:
    1.利用inotifywait对目录进行监控,并对相关操作进行日志记录。
    2.利用inotifywait对日志文件进行监控,一有改变,扫描当时通过smbd进行连接的IP地址。
    3.设置smb.conf中的全局设置,关闭60分钟内不打开任何文件的连接,
        因为如果有系统通过记录密码来连接samba服务器,就算重启服务器或客户端,都会自动重连,这样在扫描连接IP时就会出现很多其它连接信息,影响准确性。
        deadtime=60
     
     
    脚本1
    (主要是通过inotify对指定目录进行监控)
     
    #!/bin/bash
    #监控本机目录文件的改变,并写入log文件。
     
    pwdpath=$(pwd)      #取得当前目录
    logpath=$pwdpath'/inotify.log'
    inopath='/home/7ffile/'         #监控目录
     
    #只对监控目录中的移动、新建、删除事件进行记录
    $(inotifywait -rme move,create,delete
            --timefmt '%Y-%m-%d %H:%M:%S'
            --format '%T %w %Xe %f'
            --exclude '..*'
            $inopath >> $logpath)
     
    =========================================
    脚本2
    (主要是监控日录文件进行IP连接扫描)
     
    #!/bin/bash
    #如果inotifywait有记录写入log,就需要扫描当时通过smbd连接的IP并记录下来,日后进行交叉查询。
     
     
    pwdpath=$(pwd)
    logpath=$pwdpath'/inotify.log'
    logippath=$pwdpath'/inotifyip.log'
    ipmacinfo='/mnt/temp_ipmac'
     
    while inotifywait -e modify $logpath
    do
            dates=$(date +%Y-%m-%d' '%H:%M:%S)      #设置准确时间
     
            if tail -n1 $logpath | grep DELETE;then         #出现删除时扫描连接IP
                    #对lsof显示出来信息进行筛选后得出此时连接的IP地址
                    arrayip=($(lsof | grep smbd | grep 192.168.
                            | awk '{print $8}'
                            | awk -F> '{print $2}'
                            | awk -F: '{print $1}'))        
                    
                    echo $dates'监控目录文件删除时有以上IP地址通过smbd连接。' >> $logippath
            fi
    done
     
     
    最后通过inotify.log和inotifyip.log的交叉查询,就可以查出当监控目录有文件删除时,通过samba连接有哪些IP地址。
     
    --------------------------------------------------------
    安装samba
                                 sudo apt-get install samba
                       2,,检查安装是否成功
                              sudo dpkg -l samba*
                       3,  创建共享目录:
                              mkdir /home/komy/share
                             sudo chmod 777 /home/komy/sha
                       4, 创建Ubuntu Samba配置文件:
                                1. 保存现有的配置文件
                                            sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
                                 2. 修改现配置文件
                                           sudo gedit /etc/samba/smb.conf
                                           在smb.conf最后添加
                                           [share]
                                          path = /home/komy/share
                                          available = yes
                                          browsealbe = yes
                                           public = yes
                                           writable = yes
                           重启服务
                                        sudo /etc/init.d/smbd restart
     
    -----------------------------------
    ubuntu访问windows共享文件夹:
    打开一个文件夹,按Ctrl+L,然后地址栏敲smb://xxx.xxx.xxx.xxx(windows主机IP地址)即可。
     
    -------------------------------------------------------------------------------------------------

    Samba共享权限问题 -- 让XBT其它用户随意读写文件 

    [xbt_cfec]
        path = /home/huapox/xbt_cfec_share
        available = yes
        browsealbe = yes
        public = yes
        writable = yes
        create mask = 777
        directory mask = 777
        force create mode = 777
        force directory mode = 777
    ----------------------------------
    附:
    1.umask指定的是“该默认值需要减掉的权限”。因为r、w、x分别是4、2、1,所以。也就是说,当要去掉能写的权限,就是输入2,而如果要去掉能读的权限,也就是4
     
    2.umask为022,所以user并没有被去掉属性,不过group与others的属性被去掉了2(也就是w这个属性)
     
    3. 设置当前用户的文件可被其它用户读写:umask 000 加入到$home/~/.profile 

    属主的权限用数字表达:属主的权限是rwx,也就是4+2+1,应该是7;

    属组的权限用数字表达:属组的权限是r-x,也就是4+0+1,应该是5;

    其他用户的权限数字表达:其他用户权限是t-x,也就是4+0+1,应该是5。

    所以整个文件的权限用八进制描述就是755。

    八进制语法的数字说明
    单个权限 对应八进制数字
    R 4
    W 2
    X 1
    - 0
     
     
     
     
  • 相关阅读:
    【2017-3-1】数组
    【2017-2-27】三大类
    【2017-2-25】 循环语句 跳转语句 迭代法 穷举法 异常语句
    【2017-02-22】if语句 if语句的嵌套 及巩固练习------------练习补充
    【2017-02-22】if语句 if语句的嵌套 及巩固练习
    【2017-02-20】C#基础 -- 阶段总结
    【2017-02-20】C#基础
    【2017-02-19】C#基础
    【2017-02-18】C#基础
    Windows 64位下安装Redis详细教程
  • 原文地址:https://www.cnblogs.com/huapox/p/3516301.html
Copyright © 2020-2023  润新知