基本介绍

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

用户登录与注销

  • 登录尽量少用root账号登录,可以用普通用户登录,登录后再用su -用户名命令来切换成系统管理员身份
  • logout 即可注销用户

    使用细节

  • logout注销指令在图形运行级别无效 在运行级别3下有效

  • 运行级别的概念后续介绍

    添加用户

    基本语法

    1. useradd 用户名

    案例

    添加tom用户

  1. [root@localhost ~]# useradd tom
  2. [root@localhost ~]# cd /home/
  3. [root@localhost home]# ll
  4. 总用量 4
  5. drwx------. 15 admin admin 4096 5 19 11:17 admin
  6. drwx------. 3 tom tom 78 7 1 14:02 tom

细节说明

  • 当创建用户成功后,会自动的创建和用户同名的家目录
  • 也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录

    指定/修改密码

    基本语法

    1. passwd 用户名

    案例

    给用户tom 指定密码

  1. [root@localhost ~]# passwd tom
  2. 更改用户 tom 的密码
  3. 新的 密码:
  4. 无效的密码: 密码少于 8 个字符 # 很容易认为这儿是一个错误,其实可以直接忽略,重新输入密码
  5. 重新输入新的 密码:
  6. passwd:所有的身份验证令牌已经成功更新。

补充:显示当前用户所在的目录 pwd

删除用户

基本命令

  1. userdel 用户名

案例

删除用户 milan,但是要保留家目录 userdel milan

  1. [root@localhost ~]# cd /home/
  2. [root@localhost home]# ll
  3. 总用量 8
  4. drwx------. 5 milan milan 4096 7 2 22:44 milan
  5. drwx------. 5 tom tom 4096 7 2 22:44 tom
  6. [root@localhost home]# userdel milan
  7. [root@localhost home]# ll
  8. 总用量 8
  9. drwx------. 5 1001 1001 4096 7 2 22:44 milan
  10. drwx------. 5 tom tom 4096 7 2 22:44 tom

删除用户以及用户主目录, 比如 milan, userdel -r milan

  1. [root@localhost home]# ll
  2. 总用量 8
  3. drwx------. 3 milan milan 4096 7 2 22:49 milan
  4. drwx------. 5 tom tom 4096 7 2 22:44 tom
  5. [root@localhost home]# userdel -r milan
  6. [root@localhost home]# ll
  7. 总用量 4
  8. drwx------. 5 tom tom 4096 7 2 22:44 tom

细节说明

是否保留家目录的讨论? 一般情况下,我们建议保留

查询用户信息

基本语法

  1. id 用户名

案例

查询root 用户信息

  1. [root@localhost home]# id root
  2. uid=0(root) gid=0(root) 组=0(root)

细节说明

当没有此用户时,返回无此用户

切换用户

基本语法

  1. su - 切换的用户名

案例

创建一个用户 jack, ,指定密码,然后切换到 jack

  1. [root@localhost home]# useradd jack
  2. [root@localhost home]# passwd jack
  3. 更改用户 jack 的密码
  4. 新的 密码:
  5. 无效的密码: 密码少于 8 个字符
  6. 重新输入新的 密码:
  7. passwd:所有的身份验证令牌已经成功更新。
  8. [root@localhost home]# su - jack
  9. [jack@localhost ~]$ exit
  10. 登出
  11. [root@localhost home]#

细节说明

  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
  • 当需要返回到原来用户时,使用 exit/logout 指令

    查看当前用户/登录用户

    基本语法

    1. who am i

    案例

    查看当前用户root

  1. [root@localhost home]# who am i
  2. root pts/1 2021-07-02 22:44 (192.168.78.1)
  3. [root@localhost home]# su - jack
  4. 上一次登录:五 7 2 22:57:12 CST 2021pts/1
  5. [jack@localhost ~]$ who am i
  6. root pts/1 2021-07-02 22:44 (192.168.78.1)

细节说明

显示的是第一次登录系统的用户

用户组

介绍

类似于角色,系统可以对有共性/权限的多个用户进行统一的管理

新增组

基本语法

  1. groupadd 组名

删除组

基本语法

  1. groupdel 组名

修改用户的组

基本语法

  1. usermod g 用户组 用户名

案例

增加用户时直接加上组

基本语法

  1. useradd -g 用户组 用户名

指令如下

  1. [root@localhost home]# groupadd wudang
  2. [root@localhost home]# useradd -g wudang zwj
  3. [root@localhost home]# id zwj
  4. uid=1002(zwj) gid=1002(wudang) 组=1002(wudang)

将用户从现有组加入其他组

  1. [root@localhost home]# groupadd mojiao
  2. [root@localhost home]# usermod -g mojiao zwj
  3. [root@localhost home]# id zwj
  4. uid=1002(zwj) gid=1003(mojiao) 组=1003(mojiao)

细节说明

  • 如果新建用户时没有声明加入那个组,默认会建一个与新建用户同名的组,并将新建的用户添加进去

    用户组和组相关文件

    /etc/passwd 文件

    用户(user)的配置文件,记录用户的各种信息
    每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
    1. [root@localhost etc]# cat passwd
    2. root:x:0:0:root:/root:/bin/bash
    3. bin:x:1:1:bin:/bin:/sbin/nologin
    4. ...
    5. tom:x:1000:1000:tom:/home/tom:/bin/bash
    6. jack:x:1001:1001::/home/jack:/bin/bash
    7. zwj:x:1002:1003::/home/zwj:/bin/bash

    /etc/shadow 文件

    口令的配置文件
    每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
    1. [root@localhost etc]# cat shadow
    2. root:$6$BR04y3XDs6PDW1b6$BQvZ6W.W8QHQrxiaoV/u5cMQ2HPwep/lpFsGd0Zun9A1Krr755SMBDCAgn14dLVDWoqa61dLTTN.81.VCTJ/U1::0:99999:7:::
    3. ...
    4. tom:$6$q9jbVbM29x0wd7lm$cDeDHOEctjwaKvHDxkpZ1aESE8ybuIPYcJ30EriAmOd2j4qTrUdPECsPnG6kNH2EgTYUOU3hNkjQqRMA44O1h/::0:99999:7:::
    5. jack:$6$tE1Gk5kK$HObsG1PFVamYTl.D0/Vlf1vLzAwYS0lW/z9aKenitAlV8btQl5QvuL5d4wLm8DsZ.To1DOfeI4spzTgEWOFFJ0:18810:0:99999:7:::
    6. zwj:!!:18810:0:99999:7:::

    /etc/group 文件

组(group)的配置文件,记录 Linux 包含的组的信息
每行含义:组名:口令:组标识号:组内用户列表

  1. [root@localhost etc]# cat group
  2. root:x:0:
  3. ...
  4. tom:x:1000:tom
  5. jack:x:1001:
  6. wudang:x:1002:
  7. mojiao:x:1003: