zoukankan      html  css  js  c++  java
  • Linux用户管理

    一、Linux用户身份与能力

    1、用 户与角色分类 

    1. 管理员UID为0:拥有对系统的最高管理权限,系统的管理员用户---root用户;
    2. 系统用户UID为1-999:Linux系统默认服务程序会有独立的系统用户负责运行,进而有效控制安全,也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。例如系统默认的;
    3. 普通用户UID从1000开始:由管理员创建的用于日常工作的用户,只能对自己目录下的文件进行访问和修改,具有登录系统的权限。

    2、用户与用户组关系

    一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员。
    一对多:即一个用户可以存在多个用户组中。那么此用户具有多个组的共同权限。
    多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
    多对多:多个用户可以存在多个组中。其实就是上面三个对应关系的扩展。

    3、用户和组相关的配置文件

    /etc passwd 文件 :系统用户配置文件,是用户管理中最重要的一个文件。这个文件记录了 Linux 系统中每
    个用户的一些基本属性,并且对所有用户可读。
    /etc /shadow 文件 :用户影子文件,由于 etc passwd 文件是所有用户都可读的,这样就导致了用户的密
    码容易出现泄露,因此, linux 将用户的密码信息从 etc passwd 中分离出来,单独的放到了一个文件中,
    这个文件就是 etc /shadow ,该文件只有 root 用户拥有读权限。
    /etc /group 文件 :用户组配置文件,用户组的所有信息都存放在此文件中。
    /etc login.defs 文件 :用来定义创建一个用户时的默认设置,比如指定用户的 UID 和 GID 的范围,用户的过
    期时间、是否需要创建用户主目录等等。
    /etc / useradd 文件 :定义了新建用户的一些默认属性,比如用户的主目录、使用的 shell 等等,通
    过更改此文件,可以改变创建新用户的默认属性值。
    /etc skel 文件: 目录定义了新建用户在主目录下默认的配置文件,更改 etc skel 目录下的内容就可以改变
    新建用户默认主目录的配置文件信息。

    备注:

    用户的信息主要保存在/etc/passwd中,其主要内容为:

     用户密码信息保存在/etc/shadow中,其主要内容为:

    二、添加用户及用户组

    2.1、useradd命令

    作用:用于创建新的用户,且默认的用户家目录在/home目录下,默认的Shell解释器为/bin/bash,且默认会创建一个与用户名相同的基本用户组。

    格式:useradd <选项> 用户名

    选项:

    参数

    作用

    -d

    指定用户家目录

    -e

    账号到期时间,格式YYYY-MM-DD

    -u

    指定该用户的UID

    -g

    指定一个初始的用户组【必须已存在】

    -G

    指定一个或多个扩展用户组

    -s

    指定该用户的默认Shell解释器

    -N

    不创建与用户名相同的基本用户组

     备注:/sbin/nologin为Shell解释器,若设置为/sbin/nologin则用户无法登陆系统。

    2.2、groupadd命令

    作用:用于创建用户组;

    格式:groupadd <选项> 组名

    三、用户修改命令

    3.1、usermod命令

    作用:用于修改用户的属性。

    格式:usermod <选项> 用户名

    选项:

    参数

    作用

    -md

    即-d与-m合用重新指定新的家目录并将原数据移动到新的家目录

    -e

    账号到期时间,格式YYYY-MM-DD

    -u

    修改该用户的UID

    -g

    变更所属用户组

    -G

    变更扩展用户组

    -s

    修改Shell解释器

    -L

    锁定用户禁止其登陆系统

    -U

    解锁用户,允许其登陆系统

    3.2、passwd命令

    作用:修改用户的密码、过期时间、认证信息等。普通用户只能修改自己的密码,root用户可以修改其他用户的密码。

    格式:passwd <选项> 用户名

    选项:

    参数

    作用

    -L

    锁定用户禁止其登陆系统

    -U

    解锁用户,允许其登陆系统

    --stdin

    允许通过标准输入修改密码

    -d

    可以使用空密码登陆系统

    -e

    可以强制用户下次登陆时修改密码

    -S

    显示用户密码是否锁定,以及加密算法名称

    备注:--stdin:可以使用echo "密码值" | passwd –stdin 用户名

    3.3、userdel命令

    作用:用于删除用户

    格式:userdel <选项> 用户名

    选项:

    参数

    作用

    -f

    强制删除用户

    -r

    同时删除用户及其家目录

    3.4、groupdel命令

    作用:删除用户组,若用户组存在用户删除会失败。

    格式:groupdel <选项> 用户组

    3.5、newgrp命令

    作用:如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp 主要用于在多个用户组之间进行切换。 

    四、查看用户信息

    4.1、id命令

    作用:查看用户的基本信息,会打印出用户的UID及所属所有组(包括所属组及扩展组)的PID值。

    格式:id 用户名 或直接使用id查看当前用户信息。

    4.2、who命令

    作用:用于查看当前登入主机的用户终端信息

    格式:who

    五、sudo使用说明

    在进行sudo权限授权时只能用root用户进行授权,使用visudo进行编辑配置文件。

    /etc sudoers 文件默 认给 root 用户定义了一条规则
    root ALL=(ALL) ALL
    root  表示 root 用户。
    ALL  表示从任何的主机上都可以执行,也可以这样 192.168.100.0/24 。
    (ALL)  是以谁的身份来执行, ALL 就代表 root 可以任何人的身份来执行命令。
    ALL   表示任何命令。
    那么整条规则就是:
          root 用户可以在任何主机以任何人的身份来执行所有的命令。
    iivey 192.168.10.0/24=(root) / usr sbin useradd
    上面的配置只允许iivey 在 192.168.10.0/24 网段上连接主机并且以 root 权限执行 useradd 命令。
    www ALL=(root) NOPASSWD:ALL,!/usr / passwd [A Za z]*,!/ usr / passwd root,!/bin/ su
    允许www 用户执行所有命令,除了 passwd 后加任意字符、 passwd root 和 su 这三类操作。
    %wheel ALL=(ALL) ALL
    centos7默认已经开放 %wheel 这一行,之前的 centos 版本没有启用。
    %wheel ALL=(ALL) NOPASSWD:ALL
    NOPASSWD: ALL 不输入密码执行任何命令

  • 相关阅读:
    Java中的逆变与协变
    JAVA中使用DOM解析XML文件
    ReentrantLock的使用
    tomcat源码 Container
    tomcat源码 Connector
    tomcat源码 StandardService
    BlockingQueue队列
    tomcat源码 StandardServer
    tomcat源码 分析 Catalina
    tomcat整体架构
  • 原文地址:https://www.cnblogs.com/yxf-/p/11386197.html
Copyright © 2011-2022 走看看