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,具体其他细节这里就不扩充了。。
原文地址:https://www.cnblogs.com/zengjieboke/p/6715430.html