zoukankan      html  css  js  c++  java
  • Linux账号管理和ACL

    by zjmyster
    
    version :1.2
    
    Linux账号管理和ACL权限设置:
    
     
    
    主要相关配置文件:/etc/passwd   /etc/shadow  /etc/group  /etc/gshadow  /etc/skel
    
    /etc/passwd   vbird3:x:503:500::/home/vbird3:/bin/bash
    
    用户名:密码位:UID:GID:描述:主目录:shell
    
    /etc/shadow  vbird3:$1$.X7LGQAK$rUz3VtusMwDvPm/zKT7iG1:17270:0:99999:7:::
    
    用户名:密码加密形式:上次更改密码时间:多少天后能修改密码:密码需要修改时间:警告时间:密码失效时间(指在3和5字段过期后的宽限时间):账号失效时间:保留注释
    
    /etc/group  testgroup:x:500:vbird1,vbird2
    
    用户组:密码位:GID:组成员
    
    /etc/gshadow  testgroup:!:vbird1:vbird1,vbird2
    
    用户组:密码位:组管理员:组成员
    
    /etc/skel  用户信息
    
    当然值得一提的是,如果其他公司和你们公司合作开发项目,都要用到linux客服端,当然作为本公司得给其他公司成员一些登陆账号,当然这些账号一般是有期限的,而且密码得根据别人自己来设置的,所以得给一个简单的初始密码,然后强制第一次登陆修改密码。其实设置很简单,只要在/etc/shadow下把新用户的第3或第5个字段改为0即可解决强制修改密码的问题。或者直接命令passwd -l 用户使密码失效,然后-u 是使密码有效。
    
    如果作为管理员的你要停掉一些用户登陆,则可以在/etc/shadow下把用户的第8个字段改为0,如果你想给他30天的时间,即把第8个字段在第3个字段的基础上加30天。
    
    有效用户组和初始用户组:
    
    A:有效用户组则是创建文件时,文件所属的用户组,也就是此时真正有效的用户组。
    
    B:初始用户组就是/etc/passwd文件下的GID所代表的组。
    
     
    
    主要管理用户命令:useradd,usermod,passwd,userdel,groupadd,gpasswd,groupdel
    
    useradd –g testgroup vbird4 新创vbird4用户并添加到testgroup用户组
    
    usermod –c “testgroup” vbird4 给用户vbird4添加注释
    
    passwd vbird4 给用户vbird4修改密码
    
    echo “abc123abc” | passwd –stdin vbird4 新建密码
    
    userdel –r vbird4 删除用户vbird4,同时也删除了目录/home/vbird4
    
    groupadd testgroup2 新建用户组testgroup2
    
    groupdel testgroup2 删除用户组testgroup2
    
    gpasswd testgroup2 新建用户组管理员密码
    
    gpasswd –a vbird3 testgroup2 把用户vbird3添加到用户组testgroup2
    
    gpasswd –A vbird3 testgroup2 把用户vbird3设置成用户组testgroup2的管理员
    
    gpasswd –d vbird3 testgroup2 把用户vbird3从用户组testgroup2删除
    
    A:修改/etc/passwd
    
    添加一条数据 vbird5::505:500:wodexinyonghu5:/home/vbird5:/bin/bash
    
    B:修改/etc/shadow(当然也可以直接用 命令pwconv同步密码)
    
    添加一个数据 vbird2::17271:0:99999:7:::
    
    C:新建用户目录(主文件夹)
    
    mkdir /home/vbird5
    
    D:把用户信息cp到用户目录下
    
    cp –a /etc/skel /home/vbird5
    
    E:更改用户主文件夹属性
    
    chown -R 用户:用户组 用户主文件夹
    
     
    
    批量添加用户
    
    #!/bin/bash
    
    #add users
    
    userlist=$(cat users)
    
    for username in $userlist
    
    do
    
      useradd $username #新建用户
    
      echo “abc123abc” | passwd –stdin $username  #初始密码
    
      chage –d 0 $username  #设置强制登陆修改密码
    
    done
    
          
    
    ACL的使用:(比如在testgroup组里有3个用户,vbird1,vbird2,vbird3,但是我想给这三个组成员不用的权限,这个时候得用灵活的ACL权限设置)
    
    先查看ACL和启动acl
              mount
    
              mount –o remount,acl /
    
          2.设置ACL   setfacl –m u:vbird1:rx zz
    
             设置子目录默认acl权限  setfacl –m d:u:vbird1:r zz  (必须在设置了ACL,设置子目录默认ACL才真正起作用)
    
          3.查看ACL   getfacl zz 
    
     su以及sudo的用法:
    
    其实既然有了多用户的说法了,那么su切换用户就是必然的了,那么在普通用户模式下如果要使用到root才能使用的命令,不会每次都要切换到root模式,这样麻烦,而且重要的是root的密码也太没价值了吧。。所以考虑到这些,我们的sudo就出来了,它可以给普通用户用root的身份去执行命令或者使用root批准的一些命令。这样不必知道root的密码。
    
    要达到上述的说法就要修改/etc/sudoers,具体其他细节这里就不扩充了。。
  • 相关阅读:
    补交20145226蓝墨云班课 -- 程序设计中临时变量的使用
    补交20145226蓝墨云班课 -- MyCP
    补交20145226蓝墨云班课 -- MyOD
    补交20145226蓝墨云班课 -- Arrays和String单元测试
    补交20145226蓝墨云班课 -- 后缀表达式
    20145226夏艺华 《Java程序设计》 课堂实践
    20145226夏艺华 网络对抗技术 EXP9 web安全基础实践
    (转载)充分理解QML的属性绑定
    (转载)UML类图中的六大关系:关联、聚合、组合、依赖、继承、实现
    (转载)链路层MTU的概念?为什么MTU值普遍都是1500?
  • 原文地址:https://www.cnblogs.com/zengjieboke/p/6715430.html
Copyright © 2011-2022 走看看