Linux常见命令之用户管理

一 用户管理

  Linux用户分为三种:

    超级用户:root,UID=0

    普通用户:UID 500-60000

    伪用户:  UID 1-499

    伪用户:

      伪用户与系统和程序服务相关

      bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户

      mail、news、games、apache、ftp、mysql、sshd等,与Linux系统的进程相关

      伪用户通常不需要或无法登陆系统

      可以没有宿主目录

  用户组:

    每个用户都至少属于一个用户组

    每个用户组可以包括多个用户

    同一用户组的用户享有该组共有的权限

  配置文件

    用户信息文件:/etc/passwd

    密码文件:/etc/shadow

    用户组文件:/etc/group

    用户组密码文件:/etc/gshadow

    用户配置文件:/etc/login.defs

             /etc/default/useradd

    新用户信息文件:/etc/ske1

    登陆信息:/etc/motd /etc/issue

  1、useradd hark  创建hark用户。

    useradd设置选项 用户名 -D 查看缺省参数(=cat /etc/default/useradd)

      u: 指定UID

      g: 缺省所属用户组GID

      G: 指定用户所属多个组

      d: 宿主目录

      s: 命令解释器Shell

      c: 描述信息

      e: 指定用户失效时间

    

     在/etc/passwd文件中会多一条图上的数据。

    从左到右依次是hark是用户名,x表示密码位(不存密码),1001表示用户标识号,1001表示缺省组表示号,向由一个空白表示存放用户全名等信息,/home/hark表示用户登录后的缺省目录,/bin/sh表示用户使用的shell。

    /etc/passwd文件格式

字段

含义

用户名

用户登陆系统时使用的用户名

密码

密码位(不存密码)

UID

用户标识号

GID

缺省组标识号

注释性描述

例如存放用户全名等信息

宿主目录

用户登陆系统后的缺省目录

命令解释器

用户使用的Shell,默认为bash

     

     在/etc/shadow文件中会多一条图上的数据。

    /etc/shadow文件格式

字段

含义

用户名

用户登陆系统时使用的用户名

密码

加密密码

最后一次修改时间

用户最后一次修改密码的天数

最小时间间隔

两次修改密码之间的最小天数

最大时间间隔

密码保持有效的最多天数

警告时间

从系统开始警告到密码失效的天数

账号闲置时间

账号闲置时间

失效时间

密码失效的绝对天数

标志

一般不使用

  2、passwd hark  设置hark用户的密码

     

    执行过passwd hark后/etc/shadow中变成这样,/etc/passwd中没变。

     

 

     /etc/group中添加了上图内容。

    /etc/group文件格式

字段 含义
组名 用户登录时所在的组
组密码(位) 一般不使用
GID 组标识号
组内用户列表 属于该组的所有用户列表

  3、 su hark   切换用户(root换普通用户不需要密码,但是普通用户切root用户需要输入密码)

    

  4、userdel -r hark  删除用户(-r 删除用户目录)

  

  5、groupadd -g 888 hero 创建一个名叫hero,gid为888的组。

    

 

 

    执行后/etc/group文件中添加了组信息,如上图。

 

   6、usermod -G hero hark  将hark用户添加到hero组中

    

 

    执行后/etc/group文件中添加了组信息,如上图。

  7、usermod -l jark -d /home/jark -g hero hark  将用户hark改为jark主目录改成/home/jark添加到hero组中。

     

   执行后/etc/group文件中添加了组信息,如上图。

    

     执行后/etc/passwd文件中变成这样,如上图。

    

     执行后/etc/shadow文件中变成这样,如上图。

    

 

     但是属主目录并没有变,所以这个命令并不是那么完美,顺带一提我用的是centos6.5,也许在其他Linux系统上是完美的吧。

 

   8、groupdel hero

    

 

    如果要删除的组中包含用户,则删除组不成功,提示如上图。

   9、groupmod -n heros hero  修改hero组名称为heros  

    

 

 

   执行后/etc/group文件中添加了组信息,如上图。

  10、gpasswd设置组密码及管理组内成员

    gpasswd+组名 给组设置或改变密码  gpasswd heros 给heros组设置密码。

    

    -a 添加用户到用户组 gpasswd -a study heros  将study添加到heros组。

    

 

    -d 从用户组中删除用户 gpasswd -d jark heros  从heros族中删除jark.

    

 

    -A 设置用户组管理员 gpasswd -A heros study  设置study为heros组的管理员。

    -r 删除用户组密码 gpasswd -r heros  删除heros组的密码。

    -R 禁止用户切换为该组  gpasswd -R heros 禁止用户切换为heros组,但是再执行gpasswd -a jark heros可以成功。

    

 

 

posted on 2021-04-07 17:17  1548562170  阅读(181)  评论(0编辑  收藏  举报