Linux笔记二 用户管理


用户管理

一、用户的作用

用户账号可以用来登陆系统,可以实现对系统资源的访问及控制。

新用户模板目录/etc/skel
/etc/skel目录是用来存放新用户配置文件的目录,也就是模板目录,当管理员用户创建新用户时,这个目录下的文件将被自动复制到新用户的家目录下。
在这里插入图片描述

二、用户类型

在Linux中用户被分为三个类型:
超级用户(root):UID=0
系统伪用户:UID为1~999
普通用户:UID为1000~65535
超级用户也就是root用户拥有系统的所有权限、系统伪用户它们通常与系统和程序服务有关,不需要或者无法登录系统而且可以没有家目录、普通用户是管理员创建的普通用户,可以登陆系统根据已有的权限对系统进行有限的管理。

三、用户基本管理

1.创建用户

  • useradd命令用于创建新的用户
  • 命令格式:useradd [-选项] 用户名
  • 常用选项:
    -u 指定用户的UID
    -d 指定用户家目录
    -c 指定用户描述信息
    -g 指定用户基本组
    -G 指定用户附加组
    -s 指定用户的shell
创建普通用户user1
[root@jiangjiang ~]# useradd user1
创建用户并指定用户UID为1002的user2
[root@jiangjiang ~]# useradd -u 1002 user2
创建用户并指定家目录为/opt的user3
[root@jiangjiang ~]# useradd -d /opt/user3 user3
创建用户并指定UID和描述信息的user4
[root@jiangjiang ~]# useradd -u 1004 -c 185XXXXXXXX user4
新建一个组
[root@jiangjiang ~]# groupadd xiaoheizi
创建用户指定用户UID、描述信息、基本组
[root@jiangjiang ~]# useradd -u 1579 -c kunkunzuishuai -g xiaoheizi user5
[root@jiangjiang ~]# id user5
uid=1579(user5) gid=1658(xiaoheizi) 组=1658(xiaoheizi)

2.id命令

  • id命令是用于查看系统用户和用户所在组的信息
  • 命令格式:id [-选项] 用户名
[root@jiangjiang ~]# id root
uid=0(root) gid=0(root) 组=0(root)

3./etc/passwd用户信息文件

所有用户的基本信息都存放在/etc/passwd文件中

[root@jiangjiang ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
字段含义:用户名:密码占位符:UID:基本组GID:用户描述信息:用户家目录:用户解释器

4./etc/default/useradd文件

/etc/default/useradd文件用于存放用户默认值信息

[root@jiangjiang ~]# vim /etc/default/useradd
# useradd defaults file
GROUP=100   ##用户默认组
HOME=/home  ##用户默认家目录
INACTIVE=-1 ##用户密码过期宽限天数,为-1则表示密码永不失效 (同时对应该用户/etc/shadow文件的第7个字段)
EXPIRE=     ##密码失效时间 (对应该用户/etc/shadow的第8个字段)
SHELL=/bin/bash  ##用户默认解释器
SKEL=/etc/skel   ##用户模板目录
CREATE_MAIL_SPOOL=yes ##是否建立邮箱

5./var/spool/mail/用户邮件目录

当你在用户默认值信息文件中确定创建邮箱,每次创建新用户都会对应的在/var/spool/mail/下创建出该用户的邮箱

[root@jiangjiang ~]# ls /var/spool/mail/
jiang  rpc  user1  user5

6.passwd设置用户密码

  • passwd 命令用于设置用户密码
  • 命令格式:passwd [-选项] 用户名
  • 密码规范:长度不能少于8个字符,复杂度(数字加字母区分大小写加特殊字符),不能与上次修改的密码太接近。
  • 常用选项:
    -S 查看密码信息
    -l 锁定用户密码
    -u 解锁用户密码
    -d 删除用户密码
    –stdin 通过以管道方式设置用户密码
  • 非交互式设置用户密码:
    命令格式:echo ‘密码’ | passwd --stdin 用户名
设置用户密码
[root@jiangjiang ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:1
无效的密码: 密码是一个回文
重新输入新的 密码:1
passwd:所有的身份验证令牌已经成功更新。

查看用户密码信息
[root@jiangjiang ~]# passwd -S user1
user1 PS 2022-05-17 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

锁定用户密码(当密码锁定后 用户无法进行登录,已登录的不受影响但退出后无法登录)
[root@jiangjiang ~]# passwd -l user1
锁定用户 user1 的密码 。
passwd: 操作成功

解除锁定用户密码
[root@jiangjiang ~]# passwd -u user1
解锁用户 user1 的密码。
passwd: 操作成功

删除用户密码
[root@jiangjiang ~]# passwd -d user1
清除用户的密码 user1。
passwd: 操作成功

非交互式设置用户密码
[root@jiangjiang ~]# echo 'xiaoheizi' | passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。

7./etc/shadow用户密码文件

前面说过用户的基本信息都在/etc/passwd中,但是用户的密码是单独存放在一个文件中,这个文件可以说是/etc/passwd的影子文件,这个文件任何人都没有任何权限(不包括root)。

查看/etc/shadow文件
[root@jiangjiang ~]# cat /etc/shadow
root:$6$ny7oROUhto0L1wNo$z8.jZUsKucbmPL8ZD/5UMCxe3aPMwk5foH6AvZS.wrBvAp0iRYBeDaVeu1N2WDk9ukB.nHvdc6Q1CWXnetPsw0::0:99999:7:::
可以看到它有九个字段每个字段都有不同的含义:
第一字段:用户名
第二字段:密码,当密码位为'*'或者'!!'时都表示密码已过期不可以登录系统
第三字段:密码最后一次修改时间,日期是从1970年1月1日开始计算,每过一天时间戳加1
第四字段:密码修改期限,若为0则表示随时可修改,若为10则表示10天内不可以修改密码
第五字段:密码有效时间
第六字段:密码到期前警告天数,若为7则表示密码到期前提前7天警告用户密码快过期
第七字段:密码到期后的宽限天数
第八字段:账号失效时间,日期从1970.1.1开始计算
第九字段:保留

8.su命令

  • su命令用于切换当前用户身份到其他用户身份
  • 命令格式:su [-选项] 用户名
切换用户身份 但环境没有发生变化
[root@jiangjiang ~]# su user1
[user1@jiangjiang root]$ ls
ls: 无法打开目录.: 权限不够
[user1@jiangjiang root]$ cd
[user1@jiangjaing ~]$ exit
exit

切换用户身份,联同环境一起切换
[root@jiangjiang ~]# su - user1
上一次登录:二 5月 17 15:12:07 CST 2022pts/0 上
[user1@jiangjiang ~]$ pwd
/home/user1

普通用户切换到root用户(需要root密码)
[user1@jiangjiang ~]$ su - root
密码:
上一次登录:二 5月 17 12:34:45 CST 2022从 172.16.0.1pts/0 上

9.usermod 修改用户属性

  • usermod 命令用于修改已存在用户的基本信息
  • 命令格式:usermod [-选项] 用户名
  • 常用选项:
    -u 修改用户UID
    -d 修改用户家目录
    -c 修改用户描述信息
    -g 修改用户基本组
    -G 修改用户附加组
    -s 修改用户解释器
修改用户UID (如果用户已登录系统则不允许修改)
[root@jiangjiang ~]# usermod -u 1317 user1
usermod: user user1 is currently used by process 18989
[root@jiangjiang ~]# usermod -u 1317 user1
[root@jiangjiang ~]# id user1 
uid=1317(user1) gid=1657(user1) 组=1657(user1)

修改用户描述信息
[root@jiangjiang ~]# usermod -c xxoo@163.com user1
然后我们查看/etc/passwd就可以发现user1的描述信息发生了变化
[root@jiangjiang ~]# cat /etc/passwd
user1:x:1317:1657:xxoo@163.com :/home/user1:/bin/bash

修改用户的附加组
[root@jiangjiang ~]# usermod -G xiaoheizi user1
[root@jiangjiang ~]# id user1
uid=1317(user1) gid=1657(user1) 组=1657(user1),1658(xiaoheizi)

修改用户解释器,当解释器为/sbin/nologin时禁止用户登录系统
[root@jiangjiang ~]# usermod -s /bin/bash 

10.userdel 删除用户

  • userdel 用于删除给定的用户及与用户相关的文件,该命令不加选项的时候使用仅删除用户账号,不删除用户相关的文件
  • 命令格式:userdel [-选项] 用户名
  • 常用选项:
    -r 删除用户时的同时删除与用户相关的所有文件
不加选项删除用户时,仅删除账号,不删除用户相关文件
[root@jiangjiang ~]# userdel user5
[root@jiangjiang ~]# ls /home/
user1  user3  user5
[root@jiangjiang ~]# id user5
id: user5: no such user

删除用户连同用户家目录一并删除
[root@jiangjiang ~]# userdel -r user3
jiang  user1  user5  xiaohu
[root@jiangjiang ~]# ls /home/
user1  user5
[root@jiangjiang ~]# id user3 
id: user3: no such user
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值