Category: Linux

  • 可以使用Gigolo开机自动挂载samba

    在ubuntu下自动挂载可以用cifs,后来我发现用gigolo可以先连接到samba,永久记住密码,添加一个书签后选择开机自动连接。

    gigolo挂载

    gigolo书签

    gigolo开机挂载

    这样,在开机后自动挂载,很方便。还可以看到windows分区。

    感觉像windows里的资源管理器。

    这样办公用的libre office等可以直接保存到这些网络存储中。

  • ubuntu快捷键

    第一个要学习的快捷键就是Super键(windows键),长按会显示帮助

    ctrl+alt+d 最小化所有窗口

    super+tab 切换启动器上的程序,松手就可以打开选中程序

    Ctrl + Alt +方向键切换工作区

    Shift+ Ctrl + Alt +方向键 把当前窗口移到另一个工作区

    Ctrl + Alt + Backspace 重启会话

    Ctrl + Alt + L 锁定屏幕

    Ctrl + H 显示隐藏文件

    Alt + Enter 显示文件或文件夹的属性

    Ctrl + D 进入某目录,将某目录加入到nutilus的bookmarks中

     

  • samba配置文件分布式写法

    要求:有两个部门A和B,分别分配一个区,A部门人员不能看到B区,B部门人员也不能看到A区,同时有共享区share,两部门都可以自由使用。

    如果不采用分布式写法,则用户能看到所有区,但只能进入有权限的区,虽可实现使用,但不符合要求,只要按相同的方法,分布式写配置文件,可控制samba用户只看到自己有读权限的文件和文件夹。

    vi /etc/samba/smb.conf

    #%U代表单独用户,%G代表用户组的配置文件

    include = /etc/samba/smb.conf.%U
    include = /etc/samba/smb.conf.%G

    这时我jpuyy,如果在A组,则把我加入到A的用户组里,关键点,是将jpuyy的首选组设为A,(如果不这样,可能会产生看不到A的情况),命令是:

    usermod -g A jpuyy

    然后在 /etc/samba/下添加一个A组的配置文件

    vim smb.conf.A

    添加

    [A-读写]
    comment = A区
    path = /home/data/A
    valid users = @A
    write list = @A

    当然也可以针对用户来写,同理就是规定了这个用户的权限了。

    参考:http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

  • SAMBA文件服务器部署

    以下操作适用于CentOS6.2 x64

    1.关闭selinux

    vim /etc/selinux/config
    将SELINUX=enforcing用#注释,设为

    SELINUX=disabled

    重启 reboot

    2.安装samba

    yum install cups-libs samba samba-common

    查看smb.conf的[global] 部分

    vi /etc/samba/smb.conf

    确认有如下代码

    [...]
     # Backend to store user information in. New installations should
     # use either tdbsam or ldapsam. smbpasswd is available for backwards
     # compatibility. tdbsam requires no further configuration.
     security = user
     passdb backend = tdbsam
     [...]

    3.设置开机启动smb服务,并启动smb

    chkconfig --levels 235 smb on
    /etc/init.d/smb start

    4.检查防火墙的配置

    vim /etc/sysconfig/iptables

    加入(注意是eth0改为实际的接口名)

    -A INPUT -i eth0 -p tcp -m state --state NEW -m multiport --dports 139,445 -j ACCEPT
    -A INPUT -i eth0 -p udp -m state --state NEW -m multiport --dports 137,138 -j ACCEPT

    重启生效

    service iptables restart

    5.创建部门区

    /home/data/market-read
    /home/data/market-share

    创建个人区

    /home/users/abc
    /home/users/jpuyy

    5.
    建立用户,改变其家目录

    useradd jpuyy -m -d /home/users/jpuyy -s /sbin/nologin
    useradd abc -m -d /home/users/abc -s /sbin/nologin

    为用户分配不同的组

    groupadd finance
    groupadd market
    usermod -a -G finance jpuyy
    usermod -a -G market abc

    将目录权限和用户组对应起来
    如:

    chown -R root:dev /home/data/market-share/
    chmod -R 775 /home/data/market-read/
    chown -R ray:ray /home/users/ray
    chmod -R 775 /home/users/ray

    6.将系统用户添加为smb用户

    smbpasswd -a abc (添加用户用-a)
    smbpasswd -a jpuyy

    ps:smbpasswd –help可以得知

    smbpasswd -d abc  禁用abc
    smbpasswd -e abc  启用abc
    smbpasswd -x abc  删除abc

    要注意,usermod -g和usermod -G的区别

    -g<群组>  修改用户所属的群组。
    -G<群组>  修改用户所属的附加群组。

  • 按时按登录IP记录Linux所有用户操作日志的方法

    转自:http://www.ha97.com/4733.html

    PS:Linux用户操作记录一般通过命令history来查看历史记录,但是如果因为某人误操作了删除了重要的数据,这种情况下history命令就不会有什么作用了。以下方法可以实现通过记录登陆IP地址和所有用户登录所操作的日志记录!

    在/etc/profile配置文件的末尾加入以下脚本代码就可以实现

    #PS1="`whoami`@`hostname`:"'[$PWD]'
    history
    USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
    if [ "$USER_IP" = "" ]
    then
    USER_IP=`hostname`
    fi
    if [ ! -d /tmp/history ]
    then
    mkdir /tmp/history
    chmod 777 /tmp/history
    fi
    if [ ! -d /tmp/history/${LOGNAME} ]
    then
    mkdir /tmp/history/${LOGNAME}
    chmod 300 /tmp/history/${LOGNAME}
    fi
    export HISTSIZE=4096
    DT=`date +"%Y%m%d_%H%M%S"`
    export HISTFILE="/tmp/history/${LOGNAME}/${USER_IP} history.$DT"
    chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null

    通过上面的代码可以看出来,在系统的/tmp新建个history目录(这个目录可以自定义),在目录中记录了所有的登陆过系统的用户和IP地址,这也是监测系统安全的方法之一。

  • 更改linux用户的组,usermod的用法

    执行usermod命令需root权限,因为其是对/etc/passwd进行操作的,只有root用户才能写入。

    强行设置某个用户初始用户组为abc,(初始用户组为用户新建文件的用户组,也是groups jpuyy查看到的第一个用户组), 改变后家目录中的文件属主会发生变化

    usermod -g abc jpuyy

    把某个用户改为 abc,bcd,cde

    usermod -G abc,bcd,cde jpuyy

    把用户添加进入某个组bcd

     usermod -a -G bcd loginname

    查看当前用户的组

    groups

    查看jpuyy的组

    groups user_name

    也可以通过查看 /etc/group 查看组与组员之间的关系。

    usermod 命令的参数:
    -c 修改用户帐号的备注文字。
    -d登入目录> 修改用户登入时的目录。
    -e 修改帐号的有效期限。
    -f 修改在密码过期后多少天即关闭该帐号。
    -g 修改用户所属的群组。
    -G 修改用户所属的附加群组。
    -l 修改用户帐号名称。
    -L 锁定用户密码,使密码无效。

    # usermod -L user

    -s 修改用户登入后所使用的shell。
    -u 修改用户ID。
    -U 解除密码锁定。