• 2019Linux系统教程189讲-0405_Linux下用户组管理、文件权限管理


    Linux下用户管理

    ㈠ 用户概念及作用(了解)

    用户:指的是Linux操作系统中用于管理系统或者服务的人
    一问:管理系统到底在管理什么?
    答:Linux下一切皆文件,所以用户管理的是相应的文件
    二问:如何管理文件呢?
    答:

    1. 文件基本管理,比如文件的创建、删除、复制、查找、打包压缩等;文件的权限增加、减少等;
    2. 文件高级管理,比如程序文件的安装、卸载、配置等。终极目的是对外提供稳定的服务。

    ㈡ 用户的分类(了解)

    1、超级用户
    超级用户,也叫管理员,root。该用户(root)具有所有权限,UID=0并且绝对只能是0。
    2、系统用户
    系统用户,也叫程序用户。一般都是由程序创建,用于程序或者服务运行时候的身份。
    默认不允许登录系统。1<=UID<=499
    比如后面要学的web服务的管理用户apache,文件共享ftp服务的管理用户ftp等
    注意:Centos7/RHEL8中,系统用户UID范围:1<=UID<=999
    3、普通用户
    普通用户,一般都是由管理员创建,用于对系统进行有限的管理维护操作。
    默认可以登录系统。500<=UID<=60000
    注意:Centos7/RHEL8中,普通用户UID范围:1000<=UID<=60000
    特别说明:

    1. 用户指的是操作系统上管理系统或服务的人,是人,就有相关的属性信息
    2. 用户的属性信息包括但不限于,如:家目录、唯一身份标识(UID)、所属组(GID)等
    3. 今天我们讨论的用户指的是普通用户,即由管理员创建的用户

    ㈢ 用户的基本管理(掌握)

    1、创建用户(useradd)

    useradd [选项] 用户名
    常用选项:
    -u 指定用户uid,唯一标识,必须唯一
    -g 指定用户的默认组(主组)
    -G 指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
    -d 指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
    -s 指定用户默认shell
    查看系统支持的shell(命令解释器)
    [root@heima ~]# cat /etc/shells
    /bin/sh 软连接文件
    /bin/bash 系统默认的解释器
    /usr/bin/sh 软连接文件
    /usr/bin/bash 系统默认的解释器
    其他shell:
    /sbin/nologin 不能登录操作系统,也叫非交互式shell
    /bin/dash
    /bin/tcsh
    /bin/csh

    ① 创建默认用户

    创建一个用户stu1
    [root@heima ~]# useradd stu1
    查看用户信息
    [root@heima ~]# id stu1
    uid=501(stu1) gid=501(stu1) groups=501(stu1)
    注意:当创建一个默认用户时,系统会给该用户以下东西,以stu1为例说明
    1)用户的UID(唯一标识) 501(系统自动分配)
    2)用户的默认组(主组) stu1组,默认跟该用户的用户名一致;组ID(501),默认和用户UID一致
    3)用户的家目录 /home/stu1
    4)拷贝相应的文件到用户的家里
    [root@heima ~]# su - stu1
    [stu1@localhost ~]$ ls -a
    . .. .bash_logout .bash_profile .bashrc .gnome2 .mozilla
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    ② 根据需求创建用户

    1. 创建用户stu2,但是不能登录操作系统
    注意:-s 指定用户的默认shell,/sbin/nologin表示不能登录系统,也叫非交互
    [root@heima ~]# useradd -s /sbin/nologin stu2
    验证:
    [root@heima ~]# id stu2
    uid=502(stu2) gid=502(stu2) groups=502(stu2)
    切换用户失败,说明该用户不能登录系统
    [root@heima ~]# su - stu2
    This account is currently not available.
    2. 创建用户stu2,同时指定该用户的家目录为/rhome/stu2
    注意:-d 指定用户的家目录,前提该用户家目录的上一级目录/rhome必须存在
    [root@heima ~]# mkdir /rhome
    [root@heima ~]# useradd -d /rhome/stu2 stu2
    [root@heima ~]# id stu2
    uid=502(stu2) gid=502(stu2) groups=502(stu2)
    说明:指定stu2家目录/rhome/stu2时,只需要/rhome存在即可,系统会默认在/rhome下创建stu2目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    2、用户密码设置(passwd)

    passwd 用户名 表示给指定用户修改密码
    passwd 直接回车 表示给当前用户修改密码
    [root@heima ~]# passwd stu1
    Changing password for user stu1.
    New password: 密码不显示
    BAD PASSWORD: it is WAY too short
    BAD PASSWORD: is too simple
    Retype new password: 密码不显示
    passwd: all authentication tokens updated successfully.
    说明:
    1.管理员root可以给任何用户修改密码
    2.普通用户可以自己给自己修改密码,但是密码复杂度要符合规范
    [root@heima ~]# echo 123|passwd --stdin stu2
    更改用户 stu2 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    说明:使用这种方法不用交互可以直接设置成功,一般用于脚本中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    ① 保存用户信息的文件

    1. 用户信息保存文件/et
    • 相关阅读:
      关系型数据库(二)---关系代数
      各省GDP可视化案列,附带csv Metabase处理
      mysql json类型映射查询
      C# 解析xml格式接口数据
      推荐一个react上拉加载更多插件:react-infinite-scroller
      腾讯T3整理分享的LeetCode算法小抄完整文档
      cl 和 “clangtidy“分别是什么?是同一样东西吗?
      nvm多node版本windows版安装与使用(踩坑记)
      Android 启动优化案例:WebView非预期初始化排查
      MATLAB算法实战应用案例精讲-【智能优化算法】算术优化算法-AOA(附matlab代码)
    • 原文地址:https://blog.csdn.net/peacezhi/article/details/126930102