明天继续给你们介绍Linux基础知识,本文主要给你们介绍Linux用户和用户组。
一、Linux用户和用户组(一)用户和用户组简介
与windows类似,Linux也有用户和用户组的概念。在Linux系统中,每次登入系统都必须以一个用户的身分登入,但是登陆后的权限也会按照用户身分来确定。每一个进程在执行时,也会有其用户,该用户也和进程所能控制的资源有关。Linux系统下的每一个目录、文件,就会有其属于的用户和用户组,我们称其为属主和属组。由此讲义,用户和用户组与Linux系统的运行息息相关。在实际操作使用系统时,我们常常关注用户较多与关注用户组。
在Linux系统中,每位用户都有自己的用户ID,称为UID,每位用户组也有自己的用户组ID,称为GID,UID和GID在Linux系统中是不可重复的。Linux系统就是通过UID和GID来对用户和组进行管理的,而对于管理员来说,常常会设置用户名和组名,这样促使用户和用户组的使用管理更人性化。
在Linux系统中,一共有三种类型的用户组。
1、root用户
root用户时UID和GID都等于0的用户,是Linux系统中的“上帝”,拥有最大的权限。假如深入了解Linux系统,会发觉root用户真的拥有好多特权,例如:无视Linux对权限的设置而强行读、写、执行文件,切换其他用户登入不须要密码,可以强行切换到早已所用的用户,只有root可以为普通用户更改密码等等。
2、系统用户
系统用户一般用于运行服务,并且此用户无家目录,也不能用于登陆系统。比如red hat linux 下载,在yum安装apache、nginx等服务后,才会手动创建apache和nginx的用户和同名用户组。在CentOS6系统中,系统用户的UID范围是1-499,在CentOS7系统中,系统用户的ID是1-999。
3、普通用户
普通用户只能由root用户创建北京linux培训,该用户拥有家目录,但是可以登陆,该用户的权限由root分配。普通用户拥有指定的shell环境。
(二)用户和用户组关系
在Linux系统中,每位用户必将属于一个主组linux用户相关命令,默认情况下属于与其同名的用户组,最多可以有31个附属组,从用户权限的角度看,主组和附属组虽然差异不大,用户也会拥有其附属组的组相关权限。
(三)用户和用户组配置文件
Linux系统下用户和用户组相关的配置文件主要有以下个:
1、/etc/passwd
该配置文件内保存有所有的用户信息,如下所示:
在本配置文件中以逗号分割了用户的信息,从左到右依次是:
用户名:登入密码(以X取代):UID:GID:家目录:shell环境
在本文件中,但凡shell环境是/sbin/nologin的为不可登入系统用户
2、/etc/shadow
该配置文件保存了用户的密码信息,如下所示:
在该文件中,也是以逗号分辨各个信息,可以看出,其中只有pzz和root用户拥有密码。
※3、/etc/group
该文件保存了用户组的信息,并且该文件不是很常用,有兴趣的朋友可以自行查阅。
※4、/etc/gshadow
该文件保存了用户组的密码(虽然用户组也没有密码)信息,并且该文件更不是很常用,有兴趣的朋友可以自行查阅。
5、/etc/login.defs
该文件可以设置密码过期时间,密码最大宽度限制等内容。
二、Linux用户和用户组管理相关命令
我们一般通过以下命令对Linux的用户和用户组进行管理。
(一)useradd添加用户
useradd命令通常用于添加用户,该命令常见参数如下:
-M表示不创建家目录
-s表示指定用户的shell环境
-u表示指定用户的uid
-g表示指定用户的gid(须要指定的gid存在)
-p指定用户的密码(必须以密文的形式指定)
-G表示指定用户的附属组(须要指定的gid存在)
useradd命令使用示例:
<span class="token function">useradd</span> Linux <span class="token function">useradd</span> apache -M -s /sbin/nologin
登录后复制
里面第一条命令表示创建Linux的普通用户,第二条命令表示创建apache的系统用户。
(二)userdel删掉用户
userdel命令可以删掉用户,前面直接跟用户名可以直接删掉该用户。并且,我们通常在删掉用户时还会添加-r参数,表示连同该用户的家目录一起删掉。
userdel命令执行示例如下:
<span class="token function">userdel</span> -r linux
登录后复制
在不删掉家目录的情况下,删掉该用户后若果想要再创建同名用户时则会失败,如下所示:
但是删掉家目录也会被拒绝,如下所示:
删掉用户还须要注意一个问题,就是删掉该用户后,该用户创建的文件的属主和属组还会弄成UID和GID显示,如下所示:
(三)usermod更改用户
usermod命令常用于更改用户的信息,常用参数如下:
-d表示重新指定用户的家目录
-g表示重新指定用户的(主)组
-G表示给用户添加附属组
-L表示锁定用户linux用户相关命令,被锁定的用户难以登陆
-U表示解除对用户的锁定
注意:假如在锁定用户后使用passwd命令更改该锁定用户的口令,则该用户会被手动解锁。
usermod命令给用户降低附属组如下所示:
注意,在上述操作中,必须首先存在一个GID为1001的组。
(四)其他常用命令
1、su命令
su命令用于切换用户和重新登陆,直接执行命令su可以重新登陆,在Linux系统中,一些配置文件生效须要执行该命令。用户的重登陆过程十分快,执行后立刻可以完成。使用su命令切换用户,可以有两种形式:
<span class="token function">su</span> newuser <span class="token function">su</span> - newuser
登录后复制
这两条命令都可以切换新用户,并且区别在于采用上一条命令切换后当前目录不会发生改变,下一条命令切换后当前目录会切换成该用户的家目录。
2、id命令
id命令可以显示用户的信息,包括UID、GID等信息,id命令前面若果不加其他的命令参数表示查看的是当前登入用户的信息,倘若加上其他用户的用户名则查询的是该用户的用户信息。
3、passwd命令
passwd命令用于更改用户的口令。每位用户都可以执行passwd命令更改自己的口令,root用户可以执行命令:
<span class="token function">passwd</span> targetuser
登录后复制
更改targetuser用户的口令。
以上就是深入了解 Linux 用户和用户组:与系统运行息息相关的详细内容,更多请关注小闻网其它相关文章!
评论(0)