【Linux】Linux用户与用户组那些事
Hello,各位小伙伴周六早上好~
今天也是元气满满,努力工作的一天呢~
什么?你说你要过六一儿童节?嗯?
还是跟我一起看看今天分享的专题吧~
今天呢,小编准备跟大家一起分享一下Linux下的用户、用户组是怎么一回事。文末也会对Windows用户、用户组操作做一点基本介绍,Here we go ~
一、为什么需要用户?
首先我们来看看Liunx下的系统进程
会发现每一个进程都有一个相关联的用户,这些用户是干嘛的呢?
抛开进程,我们系统上的所有文件也都有一个特定的用户,用户能否访问文件由用户的权限决定。如下图,第一列为文件所属用户,第二列为用户组。
再说回进程,centos官方文档上指出,系统上的每一个进程(或者说程序)都是作为一个特定用户来运行的。
这句话代表什么呢?说明一个进程(程序)运行起来以后,与这个进程相关联的用户确定了这个进程可以访问的文件和目录。
也就是说用户的权限,决定了进程的权限。
二、用户与用户组
首先我们来看一张图
- 用户分为超级用户(Superuser)root 以及其他普通用户。
- root账号可以理解为拥有该系统下的所有权限。
- 处于相同用户组(Group)的一群用户,拥有相同的用户组权限。
一个文件既有所属用户,也有所属用户组,如果你不是这个文件的所属用户,也可以看看自己是不是在这个文件的所属用户组里~
三、创建用户基本操作
好啦,原理说清楚了,我们来看看用户、用户组的一系列基本操作吧~
(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 删除用户组
四、为用户分组
(1)useradd -g 在用户创建时指定组
- -g 指定初始主组喝附加组
- 如果不指定会创建一个同名用户组hunter,并加入其中
(2)usermod -G 修改附加组
(3)gpasswd 修改附加组
gpasswd -a 加入一个用户组
gpasswd -M 加入多个用户组;-d 指定用户退出用户组
注意:实际操作中,用户的主组名为自己的同名组即可,我们一般将用户增加到不同的附属组,来增加用户的权限。
五、三个重要的文件
(1)/etc/passwd 存放用户名信息
从左往右依次是:
username:密码占位符:uid:gid:/home目录:使用的bash类型
(2)/etc/passwd 存放用户密码信息
!!表示未设置密码
(3)/etc/group 存放用户组信息
以monster用户为例,gid未1012,组成员包含user02
(4)查询某个用户的全部信息
可以使用以下方法,查询到用户的全部信息:
是不是很方便呢?
六:windows下的用户权限
(1)基本说明
以windows server 2013为例进行演示:
windows 有两个自带内置用户:
- Administrator,系统管理员账户,拥有完全控制权限。
- Guest,来宾账户,供访问共享资源的网络用户使用,仅具有最基本权限,默认被禁用。
三个内置的用户组:
- Administrators,管理员组。
- Users组,新建用户默认所属的组。
- Guests组,权限最低。
安装了IIS之后,系统中会自动添加两个帐号:
- IUSR_*,Web客户端的匿名访问账号,Guests组的成员。
- IWAM_*,IIS应用程序的运行账号,IIS_WPG组的成员。
因此在渗透测试中,我们获取了Webshell,其实就是获得了IUSR_*账号的使用权限。通常仅对于本站目录具有读、写、修改权限。
查看用户账号如下:
(2)基本操作:
- lnet user administrator 显示administrator用户的信息
- lnet user test 123 /add
- 添加一个名为test、密码为123的用户帐户(密码可省略)
- l net user test abc 将test用户的密码更改为abc
- l net user test /del 将test用户删除
- lnet user test /active:no 将test用户禁用
- net localgroup administrators 显示管理员组中的所有成员
- net localgroup administrators test /add 将test用户加入到管理员组中
- net localgroup administrators test /del 将test用户从管理员组中删除
好啦,以上就是今天的全部内容了,大家都明白了吗?
最后,欢迎关注我的个人微信公众号。
Peace !