linux上的用户管理

作为一个专业的服务器发行版,CentOS上存在着n多个用户,作为一个专业的运维工程师,linux的用户管理和用户组的管理是做为一个SA必不可少的工作. 下面我们就先来谈谈linux中的用户管理:

useradd可以在系统中新建一个用户

用法如下: useradd [选项] 用户名
常用选项:
    -u      指定用户的UID
    -g      指定用户的初始组ID
    -G      指定用户的附加组
    -c      为用户添加注释
    -d      指定用户的家目录
    -m      为用户添加家目录
    -M      添加用户时不添加家目录
    -s      为用户指定shell
    -N      为用户设定特定的初始组,不创建与用户同名的初始组
    -p      直接为用户定密码
    -o      为用户创建的UID允许是已经存在的UID
    -U      为用户创建一个跟用户名同名的组
    -r      创建一个系统用户(UID在1到499之间)
    -b      为用户指定特殊的家目录(未加这个选项的话,则在/home目录上为用户添加家目录)
    -e      指定用户密码过期的时间(格式为YYYY-MM-DD)
    -f      指定用户密码过期后等待的天数(0为密码过期后立即失效,-1为永不失效)

passwd可以设定用户的密码信息

任何用户输入这个命令都可以只可以更改自己的密码口令

只有管理员可以用这个命令接上别的用户名来更改别的用户的密码

命令如下: passwd [选项] [用户]

常用选项:
    -l          锁定用户
    -u          解锁用户
    --stdin     用标准输入的方式为用户添加密码(脚本批量添加用户经常使用)
    -d          快速删除指定用户的密码(只有root可以使用)
    -e          强迫用户下次登陆的时候必需修改密码
    -n          指定密码最短有效期限
    -x          指定密码最大使用期限
    -w          指定密码失效前多少天开始警告
    -i          指定密码过期之后还能使用多少天
    -S          输出指定用户的密码状态

系统中/etc/passwd和/etc/shadow这两个文件保存了该系统上的所有的用户信息.

/etc/passwd文件格式说明:
    root:x:0:0:root:/root:/bin/bash 
    bin:x:1:1:bin:/bin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

这个文件共分为七段,相隔两段之间用“:”隔开,
    第一段为用户的用户名,
    第二段为用户的密码占位符,在这个文件里以"*"代替,
    第三段为用户的UID,
    第四段为用户的确GID,
    第五段为用户的注释信息,
    第六段为用户的家目录,
    第七段为用户的SHELL。
/etc/shadow文件格式说明:
    bin:*:15980:0:99999:7:::
    daemon:*:15980:0:99999:7:::
    adm:*:15980:0:99999:7:::
    lp:*:15980:0:99999:7:::
    sync:*:15980:0:99999:7::: 
这个文件共分为九段,相隔两段也是用":“隔开,
    第一段为用户名,
    第二段为加密后的密码存放位置,
    第三段为上次修改密码的时间(从1970年1月1日起的天数),
    第四段为距离上次修改密码后多少天才可以再次修改密码
    第五段为密码过期的时间
    第六段为密码过期前,提前警告的天数
    第七段为密码失效日期之后多少天这个帐号将被锁定
    第八段为帐号失效日期
    第九段为保留字段
    ```
这两个文件是系统安全方面很重要的文件,尤其是/etc/shadow这个文件,我们可以看到系统上这个文件的权限:

    [root@localhost ~]# ls -lah /etc/passwd /etc/shadow
    -rw-r--r-- 1 root root 1.2K Mar 19 16:30 /etc/passwd
    ---------- 1 root root  782 Mar 19 16:30 /etc/shadow

所有的用户都没有权限读取到这个文件(当然root可以读取滴),所以管理员必须要小心保护好这个文件,以免这台服务器沦为不法分子的“肉鸡”。

说完了添加用户,再来说说用户管理方面的那些事。

usermod用来来更改用户的某些信息

命令如下: usermod [选项] 用户名

常用选项:
-a 为用户添加附加组
-c 为用户添加注释
-d 为用户指定家目录
-e 指定密码过期时间
-f 指定密码失效日期
-g 更改用户GID
-G 为用户添加附加组
-L 锁定用户密码
-m 移动用户家目录到新的目录
-p 为用户指定新的密码
-s 更改用户的SHELL
-u 更改用户的UID
-U 解锁用户的密码

####userdel用来删除某个用户。

用法如下: userdel [选项] 用户

常用选项:

    -f          强制删除用户
    -r          删除用户家目录(删除前请再三确认这个用户家目录里没有很重要的文件,否则。。。。。)
####chage命令:这个命令可以用来修改帐号和密码的有效期限。

用法如下: chage [选项] 用户名

常用选项
-m 密码可更改的最小天数,即为上次修改密码之后过多久用户可以再次修改自己的密码,为0则代表任何时候都可以更改密码
-M 密码最大有效天数
-w 密码到期前的警告天数
-E 帐号到期的天数
-d 上一次更改密码的时间,从1970年1月1日到今天的总共天数
-I 密码失效日期,密码过期之后的多少天帐号将被锁定而不能登陆

这些信息保存在/etc/login.defs中
PASS_MAX_DAYS 99999 密码最大有效天数
PASS_MIN_DAYS 0 密码可更改的最小天数
PASS_MIN_LEN 5 密码最小长度
PASS_WARN_AGE 7 密码过期前的警告天数
```
管理员可以修改这个配置文件中的这部分来为新增加的用户增强帐号的安全级别.

祝大家工作学习愉快!!

上一篇:SQLite 数据库访问


下一篇:包安装nodejs 14版本