Linux之用户和用户组

目录

一、简介

1.1 用户账号分类

二、用户

2.1 useradd

2.2 userdel

2.3 usermod

2.4 passwd

2.5 su

2.6 登出

三、用户组

3.1  groupadd

3.2  groupdel

3.3  groupmod

3.4  newgrp

四、用户账号系统

4.1 /ect/passwd

4.2 常见的伪用户如下所示

五、思维导图


一、简介

1.如果要使用系统资源,就必须想系统管理员申请一个账号,然后通过这个账号进入系统,这个账号即用户

2.Linux系统中的用户组就是具有相同特性的用户集合

1.1 用户账号分类

  • 超级用户root(0)

        默认是root用户,其UID均为0

        在每台unix/Linux操作系统重都是唯一且真是存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限

        在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全

  • 程序用户(1~499)

        与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况下是不能登录系统

        它们是系统正常运行必不可少的,他们的存在主要是方便管理系统,满足相应的系统进程都文件属主的要求

        例如系统默认的bin/adm/nodoby用户等,由于服务角色不同,有部分用不到的系统服务器被禁止开机执行,因此,在做系统安全优化时,被禁止开机启动了服务对应的虚拟用户也是可以处理掉的(删除或注释)

  • 普通用户(500~65535)

        这类用户一般是由具备系统管路员root的权限的运维人员添加

二、用户

2.1 useradd

添加新的用户账号

1. useradd  选项   用户名

2. 参数说明:
    选项:

  • -d   目录

        指定用户目录,如果此目录不存在,则同时使用-m选项,可以创建主目录

  • -g   用户组

        指定用户所属的用户组

  • -G   用户组,用户组

        指定用户所属的附加组

  • -s  Shell文件

        指定用户的登录Shell

  • -u 用户号

        指定用户的用户号,如果同时有 -o选项,则可以重复使用其他用户的标识号

  • 用户名

        指定新账号的登录名

  • -c comment

        指定一段注释性描述

2.2 userdel

删除账号

1. 如果一个用户的账号不再使用,可以从系统中删除,删除用户账号就是要将/ect/passwd等系统文件中的该用户记录删除,必要时还要删除用户的主目录

2. userdel  选项   用户名

常用的选项是 -r,他的作用是把用户的主目录一起删除

示例:

userdel -r  sam

此命令删除用户sam在系统文件中(主要是/ect/passwd,  /ect/shadow,  /ect/grupde 等)的记录,同时删除用户的主目录

2.3 usermod

修改账号

1. 修改用户账号就是根据实际情况更改用户的有关属性,如用户号,主目录,,用户组、登录Shell等

2. usermod  选项  用户名

3. 常用的选项包括-,-d,-m,-s,-u以及一等,这些选项的意义与useradd命--令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用选项:-1新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

示例:

usermod-s  bin/ksh  -d  /home/z  -g developer sam

此命令将用户sam的登录Shel1修改为ksh,主目录改为/ome/z,用户组改为developer

2.4 passwd

  1. 用 户口令的管理 :passwd  选项 用户名
  2. 可使用的选项:

        -l :锁定口令,即禁用账号

        -u :口令解锁

        -d :使账号无口令

        -f :强迫用户下次登录时修改口令

        如果默认用户名,则修改当前用户的扣

示例:

示例1:修改密码

(1)超级用户,可以用下列形式指定任何用户的口令
passwd sam
New password:******
Re-enter new password:*******

(2)假设当前用户是sam,则下面的命令修改该用户自己
passwd
0ld password:*****
New password:*******
password:*******
Re-enter new password:*******

注:普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,
如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令

示例2:用户指定空口令时

passwd -d sam

此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再允许该用户登录了

示例3:passwd 命令还可以用  -l(lock)选项锁定某一用户,使其不能登录,解锁使用-u

passwd -l sam

2.5 su

切换用户:su  username

2.6 登出

  • exit
  • logout
  • Ctrl+d

三、用户组

3.1  groupadd

  1. 增加一个用户组

        groupadd  选项 用户组

     2. 选项

  •   -g GID

        指定新用户组的组标识号(GID)

  • -o

        一般与-g选项同时使用,表示新用户组的GID可以与系统已有的用户组的GID相同

     3. 示例

        示例1:groupadd group1

        此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1

        示例2:groupadd-g 101 group2

        此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

3.2  groupdel

删除一个用户组

groupdel  group1

3.3  groupmod

  1. 修改用户组的属性

        groupmod  选项  用户组

     2. 常用选项

  • -g  GID 为用户组指定新的组标识号。
  • -o  与~g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同
  • -n  新用户组 将用户组的名字改为新名字 

     3. 示例

        示例1:

        groupmod -g 102 group2此命令将组group2

        此命令将组group2的组标识号修改为102

        示例2:

        groupmod-g 10000-n group3 group2

        此命令将组group2的标识号改为10000,组名修改为group3

3.4  newgrp

  1. 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组
  2. 示例

        newgrp root

        这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组

四、用户账号系统

4.1 /ect/passwd

root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:0wer of system commands: /bin:
sys:x:3:3:0wer of system files: /usr/sys:adm:
adm:x:4:4:System account ing:/usr/adm:
uucp:x:5:5:1UUCP administrator: /usr/lib/uucp:
auth:x:7:21:uthentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:Asr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer adinistrator: /usr/spool/lp:
sam:x:200:50:Sam san:/home/sam:/bin/sh

从上面的例子我们可以看到,/etc/assw中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下

  1. 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录She11
  2. "用户名"是代表用户账号的字符串。
  3. “口令”一些系统中,存放着加密后的用户口令字
  4. “用户标识号”是一个整数,系统内部用它来标识用户
  5. “组标识号”字段记录的是用户所属的用户组。
  6. “注释性描述”字段记录着用户的一些个别情况
  7. “主目录”,也就是用户的起始工作目录。
  8. 用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即She11。
  9. 系统中有一类用户称为伪用户(pseudo users)。

4.2 常见的伪用户如下所示

  1. 伪用户含义
  2. bin 拥有可执行的用户命令文件
  3. sys 拥有系统文件
  4. adm 拥有帐户文件
  5. uucp UUCP使用
  6. lp lp或lpd子系统使用
  7. nobody NFS使用

五、思维导图

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

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

相关文章

自动驾驶---Motion Planning之LaneChange

1 背景 在Apollo中,有比较多的Decider(决策器),上篇博客《自动驾驶---Motion Planning之Decider》中笔者也大概介绍了每个Deicder的作用。 本篇博客笔者主要介绍换道的决策内容,因为在自动驾驶中(严格意义上来讲,目前还属于辅助驾驶),变道的灵活性是用户评价该功能是否…

安装和配置awscli

1、 安装awscli curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip ./aws/install ln -s /usr/local/bin/aws /usr/bin/aws安装完成,检查awscli版本号 aws --version输出内容 aws-cli…

igolang学习3,golang 项目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆红解决

Odoo17 不再支持视图中的attrs和states

在最新的视图设计中&#xff0c;属性写法发生了改变。以前我们使用的attrs和states属性不再被支持&#xff0c;因此在现有模块的视图中&#xff0c;之前写在attrs属性中的invisiable、readonly、required等属性需要全部拆分成独立的属性表达式。 odoo17之前的写法 <field …

回调函数(Language C)

#源于指针的深入学习 对于回调函数&#xff0c;其实我们只需要了解一下函数指针即可使用回调函数了 什么是回调函数&#xff1f; 通俗的来讲&#xff0c;它是一个函数指针变量&#xff08;注意&#xff1a;它不是指针函数&#xff0c;它们是不同的一个概念&#xff09; 函数…

靡语IT:JavaScript_概述、基础

一、JavaScript 概述 javaScript 语言主要是完成页面的数据验证&#xff0c;因此它运行在客户端&#xff0c; 需要运行浏览器来解析执行 JavaScript 代码。js 是网景公司 &#xff08;Netscape&#xff09;的产品&#xff0c;最早取名为 LiveScript 最后借 java 的热度 改为 j…

C++多线程同步(上)

多线程同步 引言总述详情互斥锁示例运行结果分析条件变量示例一实现分析优化运行结果示例二实现代码运行结果示例三实现代码运行结果读写锁示例实现代码注意分析运行结果附言实现运行结果运行结果个人心得引言 项目中使用多线程,会遇到两种问题,一种是对共享资源的访问时需要…

关于运行flutter app 运行到模拟器出现异常提示

Exception: Gradle task assembleDebug failed with exit code 1 解决方案&#xff1a; 1.讲当前文件的distributionUrl值改为 https://mirrors.cloud.tencent.com/gradle/gradle-7.4-all.zip

Redis 学习笔记 3:黑马点评

Redis 学习笔记 3&#xff1a;黑马点评 准备工作 需要先导入项目相关资源&#xff1a; 数据库文件 hmdp.sql后端代码 hm-dianping.zip包括前端代码的 Nginx 启动后端代码和 Nginx。 短信登录 发送验证码 PostMapping("code") public Result sendCode(RequestP…

超市售货|超市售货管理小程序|基于微信小程序的超市售货管理系统设计与实现(源码+数据库+文档)

超市售货管理小程序目录 目录 基于微信小程序的超市售货管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 &#xff08;1&#xff09;商品管理 &#xff08;2&#xff09;出入库管理 &#xff08;3&#xff09;公告管理 …

CrossOver2024虚拟机软件的优缺点分别是什么?

CrossOver虚拟机软件的优缺点分别如下&#xff1a; 优点&#xff1a; 无需双系统&#xff1a;用户可以在Mac或Linux系统上直接运行Windows应用程序&#xff0c;无需安装双系统&#xff0c;从而节省了硬盘空间并避免了系统切换的麻烦。易于安装和使用&#xff1a;CrossOver具有…

文件上传---->生僻字解析漏洞

现在的现实生活中&#xff0c;存在文件上传的点&#xff0c;基本上都是白名单判断&#xff08;很少黑名单了&#xff09; 对于白名单&#xff0c;我们有截断&#xff0c;图片马&#xff0c;二次渲染&#xff0c;服务器解析漏洞这些&#xff0c;于是今天我就来补充一种在upload…

RAW 编程接口 TCP 简介

一、LWIP 中 中 RAW API 编程接口中与 TCP 相关的函数 二、LWIP TCP RAW API 函数 三、LwIP_Periodic_Handle函数 LwIP_Periodic_Handle 函数是一个必须被无限循环调用的 LwIP支持函数&#xff0c;一般在 main函数的无限循环中调用&#xff0c;主要功能是为 LwIP各个模块提供…

web前端安全性——JSONP劫持

1、JSONP概念 JSONP(JSON with Padding)是JSON的一种“使用模式”&#xff0c;可用于解决主流浏览器的跨域数据访问的问题。由于同源策略&#xff0c;协议IP端口有任意不同都会导致请求跨域&#xff0c;而HTML的script元素是一个例外。利用script元素的这个开放策略&#xff0…

vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet

问题 CMD下载完yarn可以查看到yarn版本&#xff0c;但是进入到vscode控制台报错无法识别&#xff0c;报错内容如下&#xff1a; vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff…

@ 代码随想录算法训练营第8周(C语言)|Day57(动态规划)

代码随想录算法训练营第8周&#xff08;C语言&#xff09;|Day57&#xff08;动态规划&#xff09; Day53、动态规划&#xff08;● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划 &#xff09; 1143.最长公共子序列 题目描述 给定两个字符串 text1 …

C#面:i++ 和 ++i 的区别

i 先参与左边的运算&#xff0c;之后 i 自增&#xff1b; int i 5; int result i; // result的值为5&#xff0c;i的值变为6 i i 先自增&#xff0c;之后的值&#xff0c;参与左边的运算&#xff1b; int i 5; int result i; // result的值为6&#xff0c;i的值也为6…

【一步步由简入深,搞定FFT,持续更新中...】

作为一个倾向于形象思维的工程师&#xff0c;总想把复杂深奥的知识搞的方便理解&#xff0c;虽然上学时学过数字信号处理&#xff0c;仍然一知半解&#xff0c;现在想借着项目中涉及到的频谱相关知识总结下来&#xff0c;在了解中逐步完善。 好了&#xff0c;首先要明确的概念是…

ffmpeg for android编译全过程与遇到的问题

编译前准备 编译环境&#xff1a;Ubuntu16&#xff0c;可自行下载VMWare最新版并百度永久许可证或在服务器上安装Ubuntu ffmpeg源码&#xff1a;ffmpeg4.2.2 NDK下载&#xff1a;Android NDK r21e 有条件的最好还是在Liunx平台下编译吧&#xff0c;Windows平台下编译坑更多…

【计算机网络】数据链路层|封装成帧|透明传输|差错检测|PPP协议|CSMA/CD协议

目录 一、思维导图 ​ 二、数据链路层功能概述 1.数据链路层概述 2.数据链路层功能概述——封装成帧 3.数据链路层功能概述——透明传输 4.数据链路层功能概述——差错检测 三、数据链路层重要协议 1.数据链路层重要协议&#xff1a;PPP协议 2.数据链路层重要协议&#x…