Share&Joy

Ginger' Blog


  • 首页
  • 归档
  • 标签
  •   

© 2018 1-riverfish

Theme Typography by Makito

Proudly published with Hexo

Linux入门基础12

发布于 2017-09-10 tech Linux 

Linux入门基础12

Linux用户基础

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

组用来方便阻止管理用户

  • 每个用户拥有一个UserID,操作系统实际使用的是用户ID,而非用户名
  • 每个用户属于一个主组,属于一个或多个附属组(最多31个)
  • 每个组拥有一个GroupID
  • 每个进程以一个用户身份运行,并受该用户可访问的资源限制
  • 每个可登陆用户拥有一个指定的shell

用户

  • 用户ID为32位,从0开始,但是为了和老式系统兼容,用户ID限制在60000以下。
  • 用户分为以下三种:
    • root用户 (ID为0)
    • 系统用户 (1-499) 没有shell,功能单一
    • 普通用户 (500以上)
  • 系统中的文件都有一个所属组及所属用户
  • 使用id 命令可以显示当前用户
  • 使用passwd 命令可以修改当前用户的密码

相关文件

  • /etc/passwd 保存用户信息
  • /etc/shadow 保存用户密码(加密)
  • /etc/group 保存组信息

查看登录的用户

  • whoami 显示当前用户
  • who 显示有哪些用户已经登录系统
  • w 显示有哪些用户已经登录并且在做什么

创建一个用户

命令useradd 用以创建一个用户

1
2
3
>useradd 1-riverfish
>
>

这个命令会执行以下操作

  1. 在/etc/passwd中添加用户信息
  2. 如果使用passwd创建密码,则将密码加密保存在/etc/shadow中
  3. 为用户建立一个新的家目录 /home/1-riverfish
  4. 将/etc/skel中的文件复制到用户的家目录中(刚创建用户时的初始文件)
  5. 建立一个与用户名相同的组,新建用户默认属于这个同名组

命令useradd 支持以下参数

  • -d 家目录
  • -s 登录shell
  • -u userid
  • -g 主组
  • -G 附属组 (最多31个,用”,”分割)

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

修改用户信息

  • 命令usermod用来修改用户信息

    usermod 参数 username

  • 命令usermod支持以下参数

    -l 新用户名(家目录不变)

    -u 新userid

    -d 用户家目录所在位置

    -g 用户所属主组

    -G 用户所属附属组

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

    -U 解除锁定

删除用户

1
2
userdel username		(保留用户的家目录)
userdel -r username (同时删除用户的家目录)

组

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

  • 每个组有一个组ID
  • 组信息保存在/etc/group
  • 每个用户拥有一个主组,同时还可以拥有最多31个附属组

创建,修改,删除组

  • groupadd 创建组

  • groupmod -n newgame oldgame 修改组名

    groupmod -g newGid groupname 修改组ID

  • groupdel 删除组

Any question please contact 1-riverfish

分享到 

 上一篇: Linux入门基础13 下一篇: Linux入门基础11 

© 2018 1-riverfish

Theme Typography by Makito

Proudly published with Hexo