Linux(11)用户基础(用户、组)

当我们使用Linux时,需要以一个用户的身份登入,一个进程也需要以一个用户的身份运行,用户限制使用者或进程可以使用、不可以使用那些资源

  组用来方便组织管理用户

每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名

每个用户属于一个主组,属于一个或多个附属组

每一个组拥有一个GroupID

每个进程以一个用户身份运行,并受该用户可访问的资源限制

每个可登陆用户拥有一个指定的shell

用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下

用户分为以下三种:

-root 用户 (ID为0的用户为root用户)

-系统用户 (1-499) 没有shell,目的是给进程使用

-普通用户  (500以上)

系统中的文件都有一个所属用户及所属组(一个用户最多31个附属组)

使用id 命令可以显示当前用户的信息

使用passwd命令可以修改当前用户密码

  相关文件

  /etc/passwd 保存用户信息

  /etc/shadow 保存用户密码(加密的)

  /etc/group 保存组信息

  查看登陆的用户

  命令whoami 显示当前用户

  命令who显示有哪些用户已经登陆系统

  命令w 显示有哪些用户已尽登陆并在干什么

    创建一个用户

  命令useradd 用以创建一个新用户


  useradd 用户名

  这个命令会执行以下操作

  1.在/etc/passwd中添加用户信息

  2.如果使用passwd 命令创建密码,则将密码加密保存在/etc/shadow中

  3.为用户建立一个新的家目录/home/用户名

  4.将/etc/skel中的文件复制到用户的家目录中

  5.建立一个与用户用户名相同的组,新建用户默认属于这个同名组

  命令useradd支持一下参数

  -d 家目录

  -s 登陆shell

  -u userid

  -g 主族

  -G 附属组(最多31个,用“,”分割)

  也可通过直接修改/etc/passwd的方式实现,但是不建议

    useradd -u 1010 -G lisi zhaoliu (userid 为1010 附属组为lisi)

  修改用户信息

  命令usermod用来修改用户信息

  usermod 参数 username

  命令usermod支持一下参数

    -l 新用户

    -u 新userid

    -d 用户家目录位置

    -g 用户所属主组

    -G 用户所属附属组

    -L 锁定用户使其不能登陆

    -U 解除锁定

    删除用户

  命令userdel 用以删除指定用户:

    userdel 用户名    (保留用户的家目录)

    userdel -r 用户名  (同时删除用户的家目录) 

      组

几乎所有操作系统都有组的概念,通过组,我们可以更加方便的归类、管理用户。一般来讲,我们使用部门、职能或地理区域的分类方式来创建使用组。

  每个组有一个组ID

  组信息保存在/etc/group中

  每个用户拥有一个主组,同时还可以拥有最多31个附属组

创建、修改、删除组

命令groupadd用以创建组

  groupadd 组名

命令groupmod用以修改组信息

  groupmod -n newname oldname      修改组名

  groupmod -g newGid 要修改的组名    修改组id


命令groupdel 用以删除组

  groupdel 组名

推荐阅读更多精彩内容