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,具体其他细节这里就不扩充了。。
A man can fail, may be poor, but it must not be a pussy.