Linux用户与组管理

目录

一,用户管理​

(一)概述

(二)模版目录

(三)查看历史命令

(四)相关文件

二,用户操作

(一)创建用户 

(二)选项   useradd

三,密码设置

(一)passwd

(二)chpasswd

四,年龄信息  chage

五,组管理

六,用户信息查看



一,用户管理​

(一)概述

(1)概念:使用者在操作系统中的身份映射

(2)类型

超级管理员目录​​​​​​:

root     #

使用所有系统及程序命令

UID 用户在系统中的唯一标识符

0

普通用户:

$

使用有限的系统命令和具有使用权限的程序命令

UID   1000~65535

程序用户:

一般不允许登录系统     

不创建家目录 

运行程序指令

UID  1~999

(二)模版目录

(1)/etc/skel/           当用户新建并创建家目录时,复制该目录下的所有内容

(2)作用:

定义用户登录终端时的显示样式及环境变量设置

~/.basharc   定义显示样式

(3)运维案例

家目录异常:用户误删除家目录文件

家目录迁移过程

故障再现:把/etc/skel/的内容移动到/opt

创建用户user03

su -user03

-bash-4.2$   显示结果异常

恢复:使用user03用户  cp /opt/skel/ .basharc /home/user03     

exit

验证:  su -user03

Linux用户与组管理_第1张图片

(三)查看历史命令


    history    默认保留1000条

Linux用户与组管理_第2张图片

(四)相关文件


    /etc/passwd        存储用户信息
    /etc/shadow        存储用户密码信息
    /etc/group           存储组信息

二,用户操作

(一)创建用户 

  useradd           adduser

创建一个新用户或更新默认新用户信息

(1)案例:

useradd user10

tail -1 /etc/passwd

user10:x:1014:1014::/home/user10:/bin/bash

(2)创建用户的特点:

创建新用户,假如没有跟新用户同名的组或没有指定用户的基本组,则肯定会创建同名用户

(3)shell:

查看系统支持的可登录shell

cat/etc/shells

Linux用户与组管理_第3张图片

可登录系统:

/bin/bash    CentOS默认shell

不可登录系统:

/sbin/nologin  程序用户一般都设置为该shell

/bin/sync

/sbin/sync

/sbin/shutdown

/sbin/hait

(二)选项   useradd

(1)-d,--home-dir    指定用户的家目录
    useradd  -d  /path username
(2)-e, --expiredate    指定用户的失效时间
    useradd -e  YYYY-MM-DD username
(3)-f, --inactive    密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1 表示禁用这个功能。
    useradd -f n  (n为数字) username
(4)-g, --gid    用户初始登录组(基本组)的组名或GID。组名必须已经存在。组号码必须指代已经存在的组。
    useradd -g  GID username
(5)-G, --groups    指定用户的附加组,该组必须已经存在
    useradd -G  GID username
(6)-M, --no-create-home    不创建用户的主目录    常用于程序用户的创建
    useradd -M username
 (7)-N, --no-user-group    不创建同名的组
    useradd -g GID -N username
(8)-p, --password PASSWORD    加密后的新账户密码
    useradd -p 加密后的密码 username
(9)-s, --shell SHELL    新账户的登录 shell
    useradd -s shell的路径  username
(10)-u, --uid UID    新账户的用户 ID
  useradd -u  指定的ID号  usern

(三)修改属性usermod
      usermod [选项option] username
      选项
        -d,--home-dir            修改用户的家目录
            usermod  -d  /path username
        -e, --expiredate            修改用户的失效时间
            usermod-e  YYYY-MM-DD username
        -f, --inactive          密码过期后,账户被彻底禁用之前的天数。0表示立即禁用,-1 表示禁用这个功能。
            usermod -f n  (n为数字) username
        -g, --gid            用户初始登录组(基本组)的组名或GID。组名必须已经存在。组号码必须指代已经存在的组。
            usermod -g  GID username
        -G, --groups            修改用户的附加组,该组必须已经存在
            usermod -G  GID username
        -L, --lock            锁定用户密码,账户不能登录系统
            usermod -L username
        -m, --move-home            与-d选项配合,将老的家目录内容移动到-d指定的新家目录
            usermod -m -d /newdirpath username
        -p, --password PASSWORD            修改账户密码
            usermod -p 加密后的密码 username
        -s, --shell SHELL          修改账户的登录 shell
            usermod-s shell的路径  username
        -u, --uid UID            修改账户的用户 ID
            usermod -u  指定的ID号  username
        -U, --unlock        解除密码锁定
            usermod -U username

三,密码设置

(一)passwd

   (1)   单个用户密码设置
   (2) 语法        passwd  [选项] username
   (3) 选项
        -l, --lock            锁定用户密码,账户不能登录系统
            passwd -l username


        --stdin              读取标准输入的内容作为密码
            passwd --stdin  username

Linux用户与组管理_第4张图片

 
         -u, --unlock            解除密码锁定
            passwd -u usernameLinux用户与组管理_第5张图片


        -d, --delete             删除用户密码
            passwd  -d username
      Linux用户与组管理_第6张图片

  -e, --expire            设置密码有效期
            passwd -e YYYY-MM-DD username

     

   -S, --status            查看给定账户的密码状态(锁定或不锁定)      

     passwd -S username


  

(4) 非交互式修改密码        echo a | passwd --stdin user1

(二)chpasswd

(1)批量用户设置密码
(2)语法
    生成用户与密码的对应关系       

   username:password
   echo -e "username1:password1\nusername2:password2" [> filename]
    echo -e "username1:password1\nusername2:password2" | chpasswd
    chpasswd < filename        <            重定向输入
    cat filename | chpasswd
(3)案例
    vim  upwd.txt        user1:123.com    user2:1234.com
    cat upwd.txt | chpasswd   或者 chpasswd < upwd.txt

(三)userdel
(1)    语法
        userdel [选项] username
(2)    选项        -r, --remove
            用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。            userdel -r username

Linux用户与组管理_第7张图片
(3)    案例

       现有用户user2            useradd user2

  

        查看/home中的user2文件的属性
            drwx------  3    user2    user2        78 6月  14    14:18 user2Linux用户与组管理_第8张图片

        删除user2用户            userdel user2

        查看/home中的user2文件的属性
            drwx------  5    1002    1002 128 6月  14 11:36 user2

        新建用户user3            useradd user3
  

     查看/home中的user2文件的属性
            drwx------  3 user3   user3   78  6月  14 14:18  user2
            drwx------  3 user3   user3    78 6月  14 14:28  user3

 Linux用户与组管理_第9张图片

        再次创建user2用户            useradd user2
    Linux用户与组管理_第10张图片

    查看/home中的user2文件的属性
            drwx------  3 user3   user3   78 6月  14  14:18 user2
            drwx------  3 user3   user3    78 6月  14 14:28 user3
Linux用户与组管理_第11张图片

       切换到user2用户         su - user2
     发现家目录异常
            su: 警告:无法更改到 /home/user2 目录: 权限不够
            -bash: /home/user2/.bash_profile: 权限不够
             -bash-4.2$

 


四,年龄信息  chage

(一)语法


    chage [选项] username

 

(二)使用场景


    修改已创建用户的密码属性

(三)选项

-l, --list    显示账户年龄信息
    chage  -l username


-d, --lastday    将最近一次密码设置时间设为“最近日期”
    chage -d  YYYY-MM-DD username

   chage -d 0 username        强制用户下次登录必须修改密码

-E, --expiredate    将帐户过期时间设为“过期日期”

    chage -E YYYY-MM-DD username
    chage -E -1 username        取消账户失效时间

-I, --inactive    过期N天数后,设定密码为失效状态
    chage -l N username

-m, --mindays    密码修改最短天数
    chage -m N username
    chage -m 0 username        随时可以修改密码

-M, --maxdays    密码最长使用天数
    chage -M N username
    chage -M -1 username        取消密码有效期

-W, --warndays    将过期警告天数设为N天
    chage -W N username

五,组管理

概述:用户账户的集合

作用:方便权限设置

(一)组操作

(1)创建组   groupadd
    语法        groupadd [选项] groupName
    选项        -g, --gid             指定GID
            groupadd -g GID groupName

(2)修改  groupmod

语法    groupmod [选项] groupName
选项    -g, --gid        修改GID
        groupmod -g GID groupName

(3)删除 gpasswd

语法  gpasswd [选项] groupName 
选项  -a, --add    添加用户到组
          gpasswd -a userName  groupName
         -d, --delete    将用户移除
           gpasswd -d userName groupName
         -M, --members    批量添加用户到组
          gpasswd -M userName1,userName2,...... groupName


六,用户信息查看

(一)id

显示真实有效的UID和GID

语法  id 【userName】

(二)finger

默认没有需要安装    rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/finger-0.17-52.el7.x86_64.rpm
用户信息查找命令
语法    finger [选项] [userName]
显示结果    Login     Name       Tty      Idle  Login Time   Office     Office Phone   Host

(三)whoami  显示当前登录用户名

(四)who  显示用户登录信息,不详细

(五)w    详细显示登录用户信息,包括正在运行的程序

显示结果    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
应用场景    当有人非法远程登录你的计算机时,可以使用w命令查看

你可能感兴趣的:(linux)