linux用户和组 之 用户管理

一. linux 用户和组的基本介绍

1.linux下 有三种用户:

 1. root: 权限最大的。

 2. 系统用户: UID小于1000的。系统服务管理用户,一般是不允许登录系统的。(比如mysql用户)

 3. 普通用户:(UID大于999的,权限比较小,可以登录,只能使用bin目录下的命令)

2. linux 组

  组: 一个用来保存用户的容器。用来装不同的用户的,没有其他意义(win中 组可能涉及到权限)

  在默认的情况下,新建用户的同时,系统会创建一个同名组,装载这个用户。

  在linux中每个用户必须要 属于一个组, 绝对不能够独立于组外。

  在linux中,每个文件都有所有者,所在组,其他组的概念。

linux用户和组 之 用户管理

二。用户管理

su - user01  切换到user01用户

1. useradd 新建用户   - create a new user or update default new user infomation

  语法: useradd [option] username

  -c, --comment 描述

  -d, --home HOME_DIR 家目录   (家目录放在哪里)

  -e, expiredate EXPIPE_DATE 过期时间。

  -f, --inactice INACTIVE 是否启用过期机制

  -g, --gid GROUP 指定组的ID号  (不建同名组,进入到其他组里面)

  -G, --groups GROUP1,[GROUP2,...[GROUPN]]] 附加组 (及创建同名组,还附加一些其他组。)

  -m, --create-home  建立家目录

  -M, 不建立家目录

  -N, --no-user-group  不指定用户同名组

  -r, --system  指定该账号是 系统账号

  -s, --shell SHELL 指定登录shell   (-s /sbin/nologin    这个shell就是非交互式的,不允许登录的shell)

  -u, --uid UID 指定用户ID

  -U, --user-group 指定用户创建用户同名组

  -o, 创建用户时可以uid 重复

  密码的设置: passwd -update user's authtications tokens

    passwd [option] username

    -l  lock   锁定用户(不准登录了)

    -u unlock (解锁)

    -d delete a passwd for an account  (删除一个用户的密码,就是无密码)

    -S this will output a short information about the status of the password given account.(显示给定帐户密码状态的简短信息)

    --stdin (标准输入,方式设置密码。)(echo "123" | passwd --stdin user01)

    需要注意一点的就是,在对自己进行修改密码时,就不需要 username 的后缀了。直接写passwd就好了

2. userdel 删除用户  --delete a user account and related files(删除用户以及相关的文件,比如家目录和邮箱等,  /home/user05      /var/mail/usero5)

  userdel [option] username

  -f, --force  强制

  -r, --remove  删除主目录以及邮箱

3. usermod 修改用户属性

  usermod -modify a user acccount

  语法:  usermod [option] username

  -a,  --append

  -L,  --local     锁定

  -U, --unlock   解锁

  -m, --move-home with -d    移动家目录 ( usermod -m -d /home/user01) 指定家目录到/home/user01   。  这种的有一个要求就是 user01  这个目录不能在登录状态,否则是不准使用的。

其他:

查看用户密码的一些信息。

[root@python ~]# passwd -S python_web
python_web PS 1969-12-31 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

使用change 可以交互的进行设置这些内容。

[root@python ~]# chage python_web
正在为 python_web 修改年龄信息
请输入新值,或直接敲回车键以使用默认值 最小密码年龄 []: 0 # 设置几天之内不能修改代码
最大密码年龄 []: 99999 # 密码的有效期,99999天
最近一次密码修改时间 (YYYY-MM-DD) [-]: 2019-7-02 # 最后一次修改密码的时间
密码过期警告 []: 2 # 过期前2天给与警告
密码失效 [-]: 5 # 密码失效之后,还可以使用几天
帐户过期时间 (YYYY-MM-DD) [-]: --5 # 账号的过期时间。
[root@python ~]# passwd -S python_web
python_web PS 2019-07-02 0 99999 2 5 (密码已设置,使用 SHA512 算法。)

或者不想使用交互式的,可以使用一条命令搞定:

  chage [option] username

  -h, --help display this help message and exit

  -m, 密码可更改的最小天数, 为0时代表任何时候都可以更改密码

  -M, 密码保持有效的最大天数。

  -W, 用户密码到期前,提前收到警告信息的天数。

  -E, 账号到期的日期。

  -d, 上一次更改的日期

  -I,(这是 i ) 停滞时期, 如果一个密码已过期之后,还可以使用几天。

  -l, (这是 L)列出当前的设置。

如果想要一个用户在登录某个账户时,强制的让他修改密码。
只需要将最后一次密码的更改时间修改为 0   也就是 -d 这个命令。这样用户在登录时就会强制行的让他修改密码。

4. /etc/passwd 密码文件

  [username]:[password]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell]

linux用户和组 之 用户管理

5. /etc/shadow  影子文件

  用户名:这是用户登陆时使用的用户名,在系统中是唯一的

  口令:存放加密的口令

  最后一次修改的时间:表示从某一时刻开始到用户最后一次修改口令的天数

  最小时间间隔:两次修改口令之间的最小天数

  最大时间间隔:口令保持有效的最多天数,就是多少天之后必须修改口令

  警告时间:从系统开始警告到正式失效的天数

  不活动时间:口令过期多少天后,该账号被禁用

  失效时间:指口令失效的绝对天数(从1970.1.1开始算起)

linux用户和组 之 用户管理

这俩文件 最好不要修改。

上一篇:Linux 用户与组的基本操作及文件权限位的设置方法


下一篇:一个Java Dao测试用例