专栏首页一名白帽的成长史【Linux】Linux用户与用户组那些事

【Linux】Linux用户与用户组那些事

Hello,各位小伙伴周六早上好~

今天也是元气满满,努力工作的一天呢~

还是跟我一起看看今天分享的专题吧~

今天呢,小编准备跟大家一起分享一下Linux下的用户、用户组是怎么一回事。

文末也会对Windows用户、用户组操作做一点基本介绍,Here we go ~

Part.1

引言

为什么需要用户?

首先我们来看看Liunx下的系统进程:

会发现每一个进程都有一个相关联的用户,这些用户是干嘛的呢?

抛开进程不说 ,系统上的所有文件也都有所属的用户,和用户组。用户能否访问文件正是由文件的所属用户和用户组的权限决定。

如下图,第一列为文件所属用户,第二列为文件所属用户组。

再说回进程,官方文档上指出,系统上的每一个进程(程序)都是作为一个特定用户来运行的。

这句话代表什么呢?说明一个进程(程序)运行起来以后,与这个进程相关联的用户确定了这个进程可以访问的文件和目录

也就是说用户的权限,决定了进程的权限。

明白了用户是干嘛的,接下来我们就正式开始吧~

Part.2

用户与用户组

1、用户基本说明

首先我们来看一张图:

  • 用户分为超级用户(Superuser)root 以及其他普通用户。
  • root账号可以理解为拥有该系统下的所有权限,俯瞰众生。
  • 处于相同用户组(Group)的一群用户,拥有相同的用户组权限。

前面提到文件既有所属用户,也有所属用户组。如果你不是这个文件的所属用户,也可以看看自己是不是在这个文件的所属用户组里呀~

文件的所属用户和所属用户组有他们各自的操作权限,可根据需求更改,这个我将在下一篇文章“文件权限”中详细说明。

2、创建用户基本操作

好啦,原理说清楚了,我们来看看用户、用户组的一系列基本操作吧~

(1)id 查看用户信息

  • id查看当前登陆用户信息,也可以加上用户名查看特定用户信息。
  • uid用于标识用户id,如同root账号uid为0,test账号uid为1011
  • gid用于标识该用户的主组,一个用户只能属于一个主组。
  • groups用于标识附加组,一个用户可以加入多个附加组。

(2)useradd 创建新用户

  • useradd 加上新用户名即可创建一个新用户。
  • 如果创建用户时,不指定任何主组或者附属组,系统会自动创建一个和用户同名的组作为主组和附属组,如上图都为monster

当用户创建完成后,系统会在/home目录下创建一个同名用户目录,用于用户存储文件,如下:

注:root账号的用户目录存在于根目录下,为/root

(3)passwd 修改用户密码

passwd 加上用户名即可修改指定用户的密码:

注意:

  • root用户可以给任意普通用户修改密码,且无需提供原密码(俯瞰众生。)
  • 普通用户只能修改自己的密码,且需要先输入原密码。

(4)userdel 删除用户

userdel 加上用户名即可删除指定用户,但不会删除用户目录,如下:

使用userdel -r 参数可同时删除对应目录:

(5)groupadd 创建用户组

  • groupadd 加上用户名即可创建一个用户组
  • groupadd -g 可以指定用户组的gid,如user2 为2019
  • groupdel 删除用户组

Part.3

用户组相关操作

用户组操作

(1)useradd -g 在用户创建时指定组

  • -g 指定初始主组和附加组
  • 如果不指定会创建一个同名用户组hunter,并加入其中

(2)usermod -G 修改附加组

(3)gpasswd 修改附加组

gpasswd -a 加入一个用户组

gpasswd -M 加入多个用户组;-d 让指定用户退出用户组

注意:实际操作中,用户的主组名为自己的同名组即可,我们一般将用户增加到不同的附属组,来增加用户的权限。

Part.4

三个重要文件

三个重要文件

(1)/etc/passwd 存放用户名信息

从左往右依次是:

username:密码占位符:uid:gid:/home目录:使用的bash类型

(2)/etc/shadow 存放用户密码信息

!!表示未设置密码

(3)/etc/group 存放用户组信息

以monster用户为例,gid未1012,组成员包含user02

(4)查询某个用户的全部信息

可以使用以下方法,查询到用户的全部信息:

是不是很方便呢?

Part.5

附赠:Windows下的用户管理

windows下的用户权限

(1)基本说明

以windows server 2013为例进行说明。

windows 有两个自带内置用户:

  • Administrator,系统管理员账户,拥有完全控制权限。
  • Guest,来宾账户,供访问共享资源的网络用户使用,仅具有最基本权限,默认被禁用。

三个内置的用户组:

  • Administrators,管理员组。
  • Users组,新建用户默认所属的组。
  • Guests组,权限最低。

安装了IIS之后,系统中会自动添加两个帐号:

  • IUSR_*,Web客户端的匿名访问账号,Guests组的成员。
  • IWAM*,IIS应用程序的运行账号,IISWPG组的成员。

查看用户账号如下:

(2)基本操作:

  • net user administrator 显示administrator用户的信息
  • net user test 123 /add
  • 添加一个名为test、密码为123的用户帐户(密码可省略)
  • net user test abc 将test用户的密码更改为abc
  • net user test /del 将test用户删除
  • net user test /active:no 将test用户禁用
  • net localgroup administrators 显示管理员组中的所有成员
  • net localgroup administrators test /add 将test用户加入到管理员组中
  • net localgroup administrators test /del 将test用户从管理员组中删除

Part.6

尾声

以上就是今天的全部内容,大家都明白了吗?

Peace !

本文分享自微信公众号 - 一名白帽的成长史(monster-liuzhi),作者:Monster刘智

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Mysql】通过实验掌握Mysql基本操作

    在Mysql数据库5.0版本中存在着一个元数据库information_schema,其中存放着用户在Mysql中创建的所有其他数据库的信息。

    一名白帽的成长史
  • 【XSS漏洞】XSS漏洞相关总结v1.0

    通常指攻击者通过“HTML注入”篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击手段 。

    一名白帽的成长史
  • 【XXE漏洞】XXE漏洞是怎样形成的?

    XXE(XML External Entity),即xml外部实体注入。引用外部实体时,不同的程序可支持不同的协议:

    一名白帽的成长史
  • Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令

      上篇博客我们介绍了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow;然后介绍了用户组信息文件/etc/gr...

    IT可乐
  • [译] 更好地将免费用户变成订阅用户的小窍门

    Android 开发者
  • Hacker基础之Linux篇:基础Linux命令十三

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统

    用户1631416
  • 进一步保护隐私,谷歌推出位置历史自动删除功能

    此前,谷歌、苹果、Twitter等此前都被批评,所谓的保护用户隐私安全的措施,大部分工作仍然依赖用户自己设置。

    镁客网
  • 深度学习在推荐领域的应用:Lookalike 算法

    当2012 年Facebook 在广告领域开始应用定制化受众(Facebook CustomAudiences)功能后,受众发现这个概念真正得到大规模应用。什么...

    博文视点Broadview
  • 用户画像,该怎么分析?

    有同学问:陈老师,我领导让我做用户画像分析,可是我做了一大堆数据,却被批:也没分析什么东西啊?该咋办?今天系统解答一下。

    数据森麟
  • 用户之声

    腾讯ISUX

扫码关注云+社区

领取腾讯云代金券