账户和组管理

1. 账户和工作组的分类

1.1. 用户分为三类:

        超级账户——账户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情形下才 用超级用户登录,以避免系统出现安全问题。

        系统账户——是Linux系统正常工作所必需的账户,主要为了满足相应的系统进程对文件属主的要求而建立 的,如:bin、daemon、adm、sshd等,注意:系统账户不能登录,用于进程访问

         普通用户——是为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。

1.2. 工作组分析两类:

         基本组(私有组):新建立账户时,若没有指定账户所属的工作组,会建立和账户名相同的组

         扩展组(公有组):可以容纳多个用户,组中的账户都具有组所拥有的权利。

1.3. 账户和工作组的配置文件

        账户名、密码、工作组信息和工作组密码存储在以下配置文件中

1.3.1. 用户账号文件

        /etc/passwd 是一个文本文件,用于定义系统的账号,由于所有账户都对passwd有读权限,所以该文件中 只定义用户账号,而不保存口令。

/etc/passwd 中的文件内容及含义

        root:x:0:0:root:/root:/bin/bash
        账户名密码(加密后的代号)账户编号(uid)工作组的编号 组id(jid)注释家目

        录账户在登陆时所用到的解释器名称(shell解释器)

/etc/passwd文件中字段说明:

         由7个字段组成,字段之间用“:”分隔,意义:账号名:密码:UID:GID:个人资料:主目录:Shell

         账号名:用户登录Linux系统时使用的名称。

        密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密码占位 符“x”或“*”。若为“x”,说明密码经过了shadow的保护。

         UID:账户的ID值,是一个数字标识,相当于账户的“身份证编号”,具有唯一性

                 root账户UID——0

                系统账户的UID——1~999

                普通账户的UID——≥1000

        注意:普通账户从1000开始编号,连续编号,即使系统管理员某些账户号码未使用,普通账户 也不可使用

        GID:基本组的ID值,用来区分不同的工作组,相同的组具有相同的GID。

        个人资料:注释信息,可以记录账户的完整姓名、地址、办公室电话、家庭电话等个人信息。

         家目录:类似Windows 的个人目录,通常是/home/账户名

         Shell:定义用户登录后激活的Shell,默认是Bash Shell

id 命令

        作用:查看账户的UID、GID等信息

        格式:   id     账户名

1.3.2. 用户密码文件

        /etc/shadow存储密码加密后的密文,又称为“影子文件”,该文件为了保证了账户密码的安全性只有 root 账户拥有读权限,注意:若该文件权限发生变化,需要留心恶意攻击

[root@server ~]# ll /etc/shadow

----------. 1 root root 1130 4月 26 14:39 /etc/shadow

[root@server ~]# head -1 /etc/shadow

root:$6$u6dOBCaz335byzFq$WcZK5t3EAHzCxy0AP8rscP/CrM/SZLzZZDCzkE2T6yiVpnSz92iWt/wd4j L9oBfFglbVrdhsUmRCVfWKTqNdv/::0:99999:7:::

/etc/shadow文件中的每行9个字段的含义为:

 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

1.3.3. 工作组账号文件

/etc/group文件存储每个组工作组信息

[root@server ~]# ll /etc/group

-rw-r--r--. 1 root root 810 4月 26 14:39 /etc/group

[root@server ~]# head -1 /etc/group

root:x:0:

字段说明:

2. 用户管理

2.1. 添加新用户

         格式:

                     useradd     -参数     账户名

        参数:

                 -c 注释信息:设置相关的说明信息,如,:真实姓名、邮箱地址等。

                 -d:目录:设定账户的家目录(默认为/home/用户名)。

                 -e YYYY-MM-DD:设置用户的失效日期,此日期后将不能使用该账号。

                 -f 天数:指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即

        禁用;若指定 为-1,则表示 账号过期后不被禁用(即密码永不过期)。

                 -g 组名或GID号:为账户指定所属的基本组,该组在指定时必须已存在。

                 -G:组名或GID号列表:为账户指定所属的扩展组,各组在指定时已存在,附加组可

        以有多个,组之间用“,”分隔。

                -M:不创建账户家目录。

                -N:不创建与账户名同名的基本组。

                -p:密码:指定账户的登录密码。

                -s shell名:指定账户登录后使用的Shell,默认是bash。

                -u 用户号:设置账号的UID,默认是已有账户的最大UID加1。如果同时有-o选项,则‘

        可以重复使用其他用户的标 识号。

2.1.1例:

例1:新建账户test1,查看对应配置文件和家目录

给test设置一个密码,

例2:新建账户test2,指定UID为2001、登录Shell为/bin/bash,账号永不过期

[root@server ~]# useradd test2 -u 2001 -s /bin/bash  -e -1 

观察test1与test2 的密码文件区别。

例3:新建用于访问FTP的test3账户,禁止其登录且不创建家目录

[root@server ~]# useradd test3 -M -s /sbin/nologin

例4:新建账户test4,UID=3001, 工作组=test1 , 家目录=/test

[root@server ~]# useradd test4 -u 3001 -g test1 -d /test

2.2. 修改账户信息

         格式:

                usermod -参数 账户名

        参数:

                 常用参数 -c,-d,-m,-g,-G,-s,-u 等,意义与useradd命令中的参数相同

                 -l 新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用

                -L:锁定(暂停)用户账户,使其不能登录使用

                -U:解锁用户账户

例1:将用户test1的名称修改为TEST1,并暂停使用该账号

[root@server ~]# usermod test1 -l TEST1 -L

例2:将上例账户test4的家目录移至/home/test4目录下

[root@server ~]# mkdir /home/test4
[root@server ~]# usermod  test4 -d /home/test4

2.3. 账号设置密码

         原则:

                 Linux的账户必须设置密码后,才能登录系统

         格式:       passwd - 参数 账户名

         参数:

                -d:清空指定用户的口令,与未设置口令的账户不同,未设置口令的账户无法登录系统,而口令为空的账户可以。

                 -e:使用户的账号密码立即过期,强迫用户下次登录时必须修改口令。

                 -i:口令过期后多少天停用账户。

                 -l:锁定(停用)用户账户。

                 -n:指定口令的最短存活期。

                 -x:指定密码的最长使用期限。

                -u:解锁用户账户。

例:

        例1:设置root账户密码

[root@server ~]# passwd root

        更改用户 root 的密码 。

        新的密码:

        无效的密码: 密码少于 8 个字符

        重新输入新的密码:

        passwd:所有的身份验证令牌已经成功更新。

例2:锁定账户test4,尝试登录

[root@server ~]# passwd -l test4

注意:

交互式的为用户设置密码:       

         密码不能为空

        密码不要写成回文

        可以使用以下命令设置密码

        echo 密码 | passwd --stdin 用户名

        echo 密码 | passwd --stdin 用户名 > /dev/null # 无信息提示(黑洞)

--stdin:从标准输入来接收

修改test4 的密码:

只有 root 用户才能指定用户名:

[root@server ~]# useradd test5

交互式的为test5 设置密码:

[root@server ~]# passwd test5

        更改用户 test5 的密码 。

        新的密码:

        无效的密码: 密码少于 8 个字符

        重新输入新的密码:

        passwd:所有的身份验证令牌已经成功更新。

[root@server ~]# su test5

[test5@server root]$ passwd test5

passwd:只有 root 户才能指定用户名

非交互式的为test5 设置密码:

[root@server ~]# echo "123456" | passwd --stdin  test5 

2.4. 删除账号

        格式

                userdel         账户名        

        参数

                 -r:在删除该账户的同时,一并删除该账户对应的家目录

例:

         例:删除上例的TEST1、test2、test3、test4

[root@server ~]# userdel   -r TEST1
[root@server ~]# userdel   -r test2
[root@server ~]# userdel   -r test3
[root@server ~]# userdel   -r test4

2.5 账户切换

         格式:   su   账户名

                       su -  账户名

2.5.1.  su和su - 命令区别:

         区别:加载的配置文件不一样

         su 切换方式加载的文件: ~/.bashrc/etc/bashrc(当前解释器shell配置文件

         su - 切换方式加载的文件: /etc/bashrc/etc/profile~/.bashrc~/.bash_profile

        注意:su - 相当于重新建立环境,若全局变量需要继续使用则不能使用su - 命令

2.5.2. 注意

        从root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标用户的 密码且验证成功后才可切换。

2.6. 控制用户对系统命令的使用权限(sudo )

        2.6.1. 作用

        使用 sudo 命令可以提高普通用户的操作权限,使用前需要root进行配置(临时提权)

只有在管理员同意的情况下才可以进行临时提权

例:

2.6.2. sudo的执行流程如下:

        当执行sudo提权时,需要输入自己密码来确认(root执行sudo时不需要输入密码)

        若密码输入成功,系统会去/etc/sudoers文件中查找该用户是否有执行sudo的权限

        若用户具有执行sudo的权限,便开始sudo后续接的命令;

2.6.3. 配置/etc/sudoers文件方式

         执行visudo 或 vim /etc/sudoers

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

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

相关文章

element-plus自动引入组件报错,例如collapse、loading

element-plus自动引入组件,例如collapse、loading,使用时报错,报错信息如下图所示: 解决办法:vite-config.ts改变vue的引入顺序,将vue放在第一个

【送书第三期】强势挑战Java,Kotlin杀回TIOBE榜单Top 20!学Kotlin看哪些书?

文章目录 前言01 《深入实践Kotlin元编程》02 《Spring Boot学习指南》03 《Kotlin编程实战》文末送书 前言 与Java一样,Kotlin也是用于Android应用程序开发的编程语言,是Android官方支持的第二种编程语言。 2016年Kotlin正式发布,在Androi…

htb-cozyhosting

HTB-CozyHosting https://app.hackthebox.com/machines/CozyHosting ──(kwkl㉿kwkl)-[~] └─$ tail -l /etc/hosts …

c#访问sql server数据库登录失败

以下配置适用于如下情况:已经能连接数据库的server,而且用户名、密码都对,但通过c#访问数据库时出错,提示login、管道相关的错误。通过一些配置,最终解决了该问题,遇到该问题的小伙伴也可以按照同样配置尝试…

【轻松玩转MacOS】基本操作篇

引言 本文是系列的开篇,我将为大家介绍MacOS的基本操作。对于初次接触MacOS的用户来说,掌握这些基本操作是必不可少的。无论是启动和关机,还是使用键盘和鼠标,或者是快捷键的使用,这些基本操作都是你开始使用MacOS的第…

微信小程序开发缺少中间证书问题(腾讯云、阿里云等做服务器)

项目使用nginx做负载均衡后,不再采用原来直接用jar包的方式直接开启对应端口,所以需要重新从云服务器上下载证书,写入到Nginx读取的证书路径上即可。

XSS CSRF

XSS & CSRF xss:跨站脚本攻击:注入一些非法的脚本 csrf:冒充身份 XSS 反射型 /welcome:res.send(req.query.type) 输入什么就输出什么(httpOnly:false,但不是解决方案) 比如:?&…

iPhone升级iOS17出现无法连接互联网的错误提示怎么办?

最新的iOS 17系统已经发布了快一个月了,很多人都已升级体验更多全新功能,但有部分用户却在升级过程中遇到一些问题:如无法验证更新,iOS17验证失败,因为您不再连接到互联网、 iPhone无法检查更新等错误问题。明明网络稳…

轻量级接口自动化测试框架

大致思路: jmeter完成接口脚本,Ant完成脚本执行并收集结果生成报告,最后利用jenkins完成脚本的自动集成运行. 环境安装: 1.jdk1.7 配置环境变量(参考前面的分页) 2.jmeter解压到本地,ant解压到本地 3.Ant解压到本地,并配置环境变量 ANT_HOME:D:\jmeter\apache-ant-1.9.6 P…

助力电力行业数字化转型:智慧风电项目介绍

智慧电力作为电力领域的突破性进展,旨在实现能源领域的数字化转型。智慧电力借助数字孪生、IOT、云计算等技术,将传统的电力系统升级为高智能、高效能的系统,助力传统能源企业实现数字化转型。下面让我们来看一看山海鲸可视化提供的智慧电力相…

C# GraphicsPath 类学习

先在窗体放2个picturebox, 然后看一下如下代码; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; us…

物流仓储RFID系统设计案例分享

一、项目背景 为了实现仓储货物管理数字化转型的目标,提升仓储业务自动化和数字化水平,在满足仓储日常需求的基础上,验证物联网和人工智能相关技术能力,为仓储业务的柔性自动化、快速部署和复制提供储备能力。 项目设计目标包括…

2023/9/28 -- ARM

【内存读写指令】 int *p0X12345678 *p100;//向内存中写入数据 int a *p;//从内存读取 1.单寄存器内存读写指令 1.1 指令码以及功能 向内存中写: str:向内存中写一个字(4字节)的数据 strh:向内存写半个字(2字节)的数据 strb:向内存写一个字…

布隆过滤器及其用法

1 定义 布隆过滤器(Bloom Filter, BF)是由Howrad Bloom在1970年提出的一种具有高效时间和空间效率的二进制向量数据结构,用来检测一个元素是不是属于这个集合。注意,布隆过滤器只判断是否出现在集合中,无法给出元素在集合中的具体位置。 1.1…

HubSpot成功全靠它?集客营销大揭秘

在当今数字化的商业世界中,吸引、转化和维护客户已经变得更具挑战性和复杂性。然而,有一家公司已经成功地帮助数千家企业实现了集客营销的成功。这家公司就是HubSpot。那么,HubSpot的成功到底全靠了什么?让我们揭开集客营销的大秘…

openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制

文章目录 openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOT SQL覆盖和限制92.1 不支持的特性92.2 MOT限制92.3 不支持的DDL操作92.4 不支持的数据类型92.5 不支持的索引DDL和索引92.6 不支持的DML92.7 不支持的JIT功能(…

3D孪生场景搭建:3D漫游

上一篇 文章介绍了如何使用 NSDT 编辑器 制作模拟仿真应用场景,今天这篇文章将介绍如何使用NSDT 编辑器 设置3D漫游。 1、什么是3D漫游 3D漫游是指基于3D技术,将用户带入一个虚拟的三维环境中,通过交互式的手段,让用户可以自由地…

前端作业(17)

之后的20个作业&#xff0c;学自【20个JavaScript经典案例-哔哩哔哩】 https://b23.tv/kVj1P5f 支付倒计时 1. 支付10s倒计时 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compat…

跨境必备!WhatsApp营销——注册、养号、防封号!

前面的文章&#xff0c;我们给大家介绍了WhatsApp营销的定义以及重要性&#xff0c;相信许多跨境小伙伴已经摩拳擦掌&#xff0c;迫不及待讲WhatsApp纳入您的全渠道营销策略。当然&#xff0c;工欲善其事&#xff0c;必先利其器&#xff0c;拥有安全的WhatsApp号与登录环境会让…

【网络安全 --- kali2022安装】kali2022 超详细的安装教程(提供镜像)

如果你还没有安装vmware 虚拟机&#xff0c;请参考下面博客安装 【网络安全 --- 工具安装】VMware 16.0 详细安装过程&#xff08;提供资源&#xff09;-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程&#xff08;提供资源&#xff09;https://blog.csdn.net/m0…