linux组和用户组的区别

linux组和用户组的区别,第1张

1、root用户

root用户时UID和GID都等于0的用户,是Linux系统中的“上帝”,拥有最大的权限。如果深入了解Linux系统,会发现root用户真的拥有很多特权,比如:无视Linux对权限的设置而强行读、写、执行文件,切换其他用户登录不需要密码,可以强行切换到已经所用的用户,只有root可以为普通用户修改密码等等。

2、系统用户

系统用户通常用于运行服务,但是此用户无家目录,也不能用于登录系统。例如,在yum安装apache、nginx等服务后,就会自动创建apache和nginx的用户和同名用户组。在CentOS6系统中,系统用户的UID范围是1-499,在CentOS7系统中,系统用户的ID是1-999。

3、普通用户

普通用户只能由root用户创建,该用户拥有家目录,并且可以登录,该用户的权限由root分配。普通用户拥有指定的shell环境。

(二)用户和用户组关系

在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命令使用示例:

useradd Linux

useradd apache -M -s /sbin/nologin

登录后复制

上面第一条命令表示创建Linux的普通用户,第二条命令表示创建apache的系统用户。

(二)userdel删除用户

userdel命令可以删除用户,后面直接跟用户名可以直接删除该用户。但是,我们一般在删除用户时都会添加-r参数,表示连同该用户的家目录一起删除。

userdel命令执行示例如下:

userdel -r linux

登录后复制

在不删除家目录的情况下,删除该用户后如果想要再创建同名用户时则会失败,如下所示:

并且删除家目录也会被拒绝,如下所示:

删除用户还需要注意一个问题,就是删除该用户后,该用户创建的文件的属主和属组就会变成UID和GID显示,如下所示:

(三)usermod修改用户

usermod命令常用于修改用户的信息,常用参数如下:

-d 表示重新指定用户的家目录

-g 表示重新指定用户的(主)组

-G 表示给用户添加附属组

-L 表示锁定用户,被锁定的用户无法登录

-U 表示解除对用户的锁定

注意:如果在锁定用户后使用passwd命令修改该锁定用户的口令,则该用户会被自动解锁。

usermod命令给用户增加附属组如下所示:

注意,在上述 *** 作中,必须首先存在一个GID为1001的组。

(四)其他常用命令

1、su命令

su命令用于切换用户和重新登录,直接执行命令su可以重新登录,在Linux系统中,一些配置文件生效需要执行该命令。用户的重登录过程非常快,执行后立马可以完成。使用su命令切换用户,可以有两种方式:

su newuser

su - newuser

登录后复制

这两条命令都可以切换新用户,但是区别在于采用上一条命令切换后当前目录不会发生改变,下一条命令切换后当前目录会切换成该用户的家目录。

2、id命令

id命令可以显示用户的信息,包括UID、GID等信息,id命令后面如果不加其他的命令参数表示查看的是当前登录用户的信息,如果加上其他用户的用户名则查询的是该用户的用户信息。

3、passwd命令

passwd命令用于修改用户的口令。每个用户都可以执行passwd命令修改自己的口令,root用户可以执行命

方法步骤:

1、创建用户

adduser phpq //新建phpq用户

passwd phpq //给phpq用户设置密码

2、建工作组

groupadd tes //新建test工作组

3、新建用户同时增加工作组

useradd -g test phpq //新增phpq用户并增加到test工作组

注:-g所属组 -d家目录 -s所用的shell

4、给已有的用户增加工作组

usermod -G groupname username或者gpasswd -a user group

5、临时关闭

在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了,想恢复该用户,去掉*即可,或者使用如下命令关闭用户账号:passwd

peter -I

重新释放:passwd peter -u

6、永久性删除用户账号

userdel peter、groupdel peter、usermod -G peter

peter(强制删除该用户的主目录和主目录下的所有文件和子目录)

7、从组中删除用户

编辑/etc/group找到GROUP1那一行,删除A,或者用命令gpasswd -d A GROUP

8、显示用户信息

id user、cat /etc/passwd

linux的用户和组是为了划分权限建立的,不同的权限不同的人访问,这就好比你不能去看高考试卷,因为你没权利看。你也不能看红头文件,即便警察,官员级别不够也不能看红头文件,目的就是为了保密和权限分级,否则改错了,改坏了,系统死了,谁负责啊。组和用户,就好比大学的时候的学生和社团一样,用户就好比是学生,组就好比是社团。学生可以加入社团,因为在社团可以享有一些特殊的权利,学生也有属于自己的权利,私人的,隐私的,别人没有的。------------------------------文件权限分3类1,用户 2,组3,其他人每个文件都有一个权限属性类似drwxr-xr-x 2 root root 4096 Mar 27 18:51 wildcat-rw-r--r-- 1 root root 3979635 Nov 13 2009 sun-javadb-core-10.5.3-0.2.i386.rpm权限就是前面这组字符 drwxr-xr-x 第一位d代表目录 -代表文件234位是用户权限567位是组权限8910位是除此之外其他人的权限r代表可读w代表可写x代表可执行----------------------------------------------------drwxr-xr-x 翻译过来意思就是 用户可以读,写,执行这个文件组可以读,不能写,可以执行其他人可以读,不能写,可以执行----------------------------------------------------具体文件和目录还不一样,具体用的时候有几个细节。1、目录的x权限代表可以进入目录,没有x权限连目录都进不去和谈修改啊,没有x前面的rw就是胡扯的。文件的x权限仅仅代表可执行2、文件本身的主人也就是用户,可以随意修改自己的权限,即便看上去可能是r--r--r-- 或者干脆啥都没有d--------- 或者 ---------- 只要你是文件的用户,你就可以随便加,因为你是他的创造者,创造者不受限制。3,组里的人可以修改组权限,但不能动用户权限4,组是一个概念,组是不能登录的,只有用户可以登录,就好比社团啊,单位啊都是实体,而能动的还是人啊,不有一句话吗,科技以人为本。人是本。这套理论的基础就是用户为本,加入组可以获得组里的某些权力5,root 除外,root不论是用户,还是加入root组的其他人,都拥有随便改的权利,而且随便看,随便读,权力随便加,不能写的都可以加上叹号随便写,总的来说一句,root有没有权限没所谓,root的神一样的权力。6,特殊权限 ---sr-x--x 或者 -rwx--sr-x 或者-r-x-wx--t1)如果s放在第4位,则表示权力中的“其他人”,执行该文件的时候可以拥有建立者,也就是用户的权力,如果是小写的s表示没加s之前,这一位是x,也就是可写。大写的S表示这一位是-,不可写。其实就是个区分,否则不这么分怎么分啊,无非是作者的一个想法而已。passwd就是这种文件,[root@localhost ~]# ls -al /usr/bin/passwd-rwsr-xr-x 1 root root 27768 Jan 7 2007 /usr/bin/passwd2)同理s放在第7位上代表,“其他人” 执行的时候可以拥有组的权力。3)t放在最后代表,谁建立的谁可以删,别人不能动,但还是那句话,root怎么都行。具体可以看看鸟哥,我就是凭一时的记忆写的,应该还是不全。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8743754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存