linux 用户 组区别吗,Linux系统的用户和用户组有什么区别

1.用户和用户组的概念

Linux是一个多用户系统,要使用系统资源就必须在系统内拥有合法的用户账号, Linux系统可以存在多个用户,但是需要使用唯一的用户名来区分不同的用户,同时所有非系统用户都需要设置密码才可以登录到系统。

和人类不同, Linux系统只能使用数字来记录用户。在实现上,Linux系统采用一个32位的整数来记录用户,这意味着在一套 Linux系统中最多可以记录40亿个不同的用户。这个用来区分不同用户的数字被称为 user id,简称UID。

在 Linux系统中,有三类用户,分别是系统用户、普通用户和根用户。普通用户是 Linux的真实用户,这类用户可以通过用户名和密码登录到系统中,通常普通用户的UD大于500;系统用户是系统运行时的一些特殊用户,这类用户往往不能登录到系统中,但是一些进程需要使用这类用户运行,比如系统中的htpd进程就是使用用户 apache运行的;根用户又叫root,它的UID为0,也是系统中的超级用户,拥有至高无上的权限。

除了用户之外, Linux系统中还存在用户组,而用户组也是用数字来区分的,即 Group ID,简称为GID。

UID和GID之间存在某些关系。比如 Centos系统在创建用户时,系统会在创建这个用户的同时,创建一个同名的用户组。而在内部,系统在分配给该用户一个UID的同时会创建一个用户组(这个用户组也会得到一个唯一的GID),并且默认情况下UID的值等于GID,创建出来的这个用户默认属于这个用户组。用户组除了在创建用户时被创建,也可以独立创建出来。

上面的解释似乎有点晦涩,这里举个例子:在学校里,每个学生都会被分配到一个学号,这个学号一定是唯一的,所以才能区分不同的学生我们可以拿学号类比一个UID;同时,每个学生都可以自己创建自己的兴越小组,这个兴趣小组的编号类比于系统中的GID,为了保证唯一,创建的这个兴趣小组的编号的数值可以简单地等于UID,这样可以保证GID也是唯一的。当然,默认情况下,一开始每个兴趣小组的成员都只有一个。当某个学生对其他某个兴趣小组感兴趣时,他可以随时加入其他的小组这时该学生就属于两个组了,而他加入其他小组的个数越多,他从属于的组就越多, Linux中也是一样,一个用户在創建后,至少属于一个组,而且后期随时可以加入、退出不同的组。

2新增和删除用户

在 Centos中新増和删除用户可以分别使用 useradd和 userdel命令完成。比如现在想要添加一个用户名为john的用户:

{root@localhost-}#useradd john

需要注意的是,如果仅使用 useradd添加用户,该用户并不能登录到系统,必须给该用户设置密码后才可以。同时请记住,新増一个用户的操作,也就默认新増了一个同名的用户组(在这里意味着同时新増了一个名为 john的用户组)。

{root@localhost-}# passwd john

Changing password for user john

New password

Retype new password:

passwd: all authentication tokens updated successfully

刪除用户

{root@localhost-}#userdel john

在一个账号使用一段时间后,该用户往往会在个人家目录中留下不少个人文件,使用上面的命令删除用户,这些文件还会得以保留。如果确认该用户的文件需要在删除用户时也一并彻底删除,可使用以下命令完成:

{root@localhost-}#userdel -r john

3.新增和删除用户组

也可以使用 groupadd/ groupdel单独创建/删除用户组。示例如下:

{root@localhost-}#groupadd groupl

{root@localhost-}# groupdel groupl

4.用户切换

很多情况下需要切换用户,比如原先使用了一个普通用户登录系统后来由于权限问题需要切换为root执行相关命令。或是需要从普通用户1切换为普通用户2,或是从root切换为普通用户等。切换用户的命令为su。

root由于拥有至高无上的权限,所以,root用户可以随时切换为任意的用户,比如下面的例子中,root用户切换为john,注意用户切换成功后,命令提示行中的用户变为用户john了:

{root@localhost-}# su-john

{john@localhost-}$

但是,从普通用户切换至root,是必须要知道root的密码的,下面的例子中第一次故意输入了一个错误的密码,系统会拒绝这次用户切换第二次输入正确的密码后,就可以正确切换为root了。

{john@localhost-}$ su-root

password:

su: incorrect passwd

{john@localhost-}$

{john@localhost-}$ su-root

password:

{root@localhost-}#

最后,从一个普通用户切换为另一个普通用户的操作,也需要知道被切换的用户的密码,原因应该很好理解。当然,这里也存在一个很明显的问題:用户1切换为用户2的前提是用户1必须知道用户2的密码,这似乎给密码安全带来了一些问題。那么有没有方法可以解决这个问题呢?答案是肯定的。感兴趣的读者可以搜索查看一下sudo命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Opserver配置Redis、SqlServer监控

简介 Opserver是Stack Overflow的开源监控解决方案,由Stack Exchange发布,基于.NET框架构建。开源地址:https://github.com/opserver/Opserver 使用 github下载源代码编译后,发布至IIS,需要先修改Opserver/Config目录下…

Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...

最近有位用户向小编反映,声称自己在Linux中使用vsftpd启FTP服务,并在FTP用户下挂载一个Windows的共享盘,但是登陆FTP后却无法显示该挂载的共享盘。出现这种问题真是令人十分头疼呢,想要快速解决这个问题又找不到合适的方法。该怎么…

以太坊智能合约Hello World示例程序

简介 以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区块链(BlockChain)平台. 本文介绍了一个简单的以太坊智能合约的开发过程. 开发环境 在以太坊上开发应用,首先需要安装其客户端,本文使用基于Go语言的Geth, 其官网为https://github.c…

play 打包 模块_全新的Play模块资料库

play 打包 模块早在11月,我就Play框架的 Nicolas Leroux谈到了如何创建模块存储库。 他同意这将是一个好主意,但是时间不足使我无法开始。 在上周Google Play小组发生了暴风雨之后,我决定将其优先处理。 可以在几周内提供可用的原型。 概述&a…

linux统计字符串频数,Linux 统计某个字符串出现的次数

系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** .…

【读书笔记】《深入浅出nodejs》第五章 内存控制

海量请求长时间运行 -> 内存控制 -> 一切资源高效循环利用 1. V8的垃圾回收机制与内存限制 在Node中通过JavaScript使用内存时,只能使用部分内存(64位系统下约1.4GB,32位系统下约为0.7GB)。 在V8中,所有的JavaSc…

Java到LDAP教程(包括如何安装LDAP服务器/客户端)

本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前,我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP,建议您参考这篇文章,其中提供了一个很好的定义示例。 (简而言之&#xff0…

linux 嗅探密码,Linux下嗅探又一实例截取

在SecureCRT下利用rz命令上传我们用到的arpsniffer.c,然后编译:[rootbbs111 root]# gcc -I/usr/local/include -L/usr/local/lib -o arpsniffer arpsniffer.c -lpcap -lnet报错,可能是没装libnet的缘故,看说明Make: first you mus…

清北学堂十一培训酱油记

【day0】 要坐大巴去北京……(没错是大巴!)然而说好的六点走,生生等到了七点……不过一路上还是很happy的!某导游兔子 然而到华电之后,身子都散架了……这次的酒店在北农,感觉还可以&#xff0c…

在linux下赋予000权限,【linux】对于文件权限的理解

本篇博文旨在介绍linux下的权限问题;介绍了Linux下,查看权限、修改权限等方法;并通过分别在超级用户(root)和普通用户下进行测试,探索不同等级的用户进入目录需要的权限,以及进入后,显示和创建文件需要的权…

手把手教你制作简易计算器

实现过程&#xff1a; HTMLCssJS 具体通过标签实现计算器整个的框架 通过Css样式实现计算器页面布局及框架优化 通过JavaScript算法实现计算器计算过程 次实验过程&#xff1a; 背景图片背景音乐&#xff08;看个人意愿加&#xff01;&#xff09; 安排&#xff1a; <!--HT…

【dp】导弹拦截

拦截导弹 (missile.pas/c/cpp) 来源&#xff1a;NOIP1999(提高组) 第一题 【问题描述】 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它的第一发炮弹能够到达任意的高度&#xff0c;但是以后每一发炮弹都不…

安装tron_具有Tron效果的JavaFX 2 Form

安装tron这是一个具有TRON效果的简单JavaFX登录表单。 在此示例中&#xff0c;我使用CSS设置TextField和Button的样式。 这是CSS和Effect代码的片段&#xff1a; .text-field{-fx-background-color: transparent;-fx-border-color: #00CCFF;-fx-text-fill: white; }.password-f…

linux版本photoshop,在linux上使用ps(转载)

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼用Photoshop的&#xff0c;虽说GIMP也是不错&#xff0c;但是用起来总有点不顺的感觉&#xff0c;决定搞一个运行在Linux下的Photoshop&#xff0c;找了好多资料都没有虚拟CS的&#xff0c;不过倒是了解了不少虚拟Photoshop 这方面…

优美三角剖分_递归

问题 D: 优美三角剖分 时间限制: 1 Sec 内存限制: 64 MB提交: 13 解决: 4[提交][状态][讨论版]题目描述 小X同学为了搞好和小C同学的关系&#xff0c;特意寻找了一些优美的图像作为礼物。这是一些由无穷无尽三角形组成的极为优美的图形&#xff0c;小X同学很想实现这些极富美…

在Spring 4.2中更简单地处理异步事务绑定事件

介绍 如您可能已经知道的&#xff08;例如&#xff0c;从我以前的博客文章中 &#xff09;&#xff0c;不再需要创建一个单独的类&#xff0c;该类使用onApplicationEvent方法实现ApplicationListener以便能够对应用程序事件做出响应&#xff08;包括来自Spring Framework本身和…

linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限

1、chattr命令命令格式&#xff1a; chattr [-] [选项] 文件名或者目录名&#xff1b;参数说明&#xff1a;&#xff1a;增加权限&#xff1b;-&#xff1a;删除权限&#xff1b; 等于某权限&#xff1b;选项说明&#xff1a;i&#xff1a;如果对文件设置i属性&#xff0c;则不…

初等数论及其应用——中国剩余定理

在线性代数中&#xff0c;我们用高斯消元解决多元的线性方程组&#xff0c;而在数论中&#xff0c;面对一元变量的线性模方程组&#xff0c;我们利用中国剩余定理去求解x。 转载于:https://www.cnblogs.com/rhythmic/p/5928483.html

linux下编译openjdk7,Ubuntu 14.04.3 64位环境下OpenJDK7编译

系统环境&#xff1a;Ubuntu 14.04.3 -amd64 in VMWare1.安装openjdk7依赖sudo apt-get build-dep openjdk-7sudo apt-get install openjdk-7-jdksudo apt-get install build-essential gawk m4 libasound2-dev libcups2-dev libxrender-dev xorg-dev xutils-dev x11proto-prin…

jQuery选择器的效率问题

jQuery提供了功能强大&#xff0c;并兼容多种css版本的选择器&#xff0c;不过发现很多同学在使用选择器时并未注重效率的问题。 a) 尽量使用Id选择器&#xff0c;jQuery选择器使用的API都是基于getElementById或getElementsByTagName&#xff0c;因此可以知道效率最高的是Id选…