前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux】Linux用户与用户组那些事

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

作者头像
一名白帽的成长史
发布2019-10-08 15:21:14
10.8K0
发布2019-10-08 15:21:14
举报
文章被收录于专栏:一名白帽的成长史
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 !

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档