Linux 系统管理4——账号管理

一、用户账号管理

1、用户账号概述

(1)用户账号的常见分类:
1>超级用户:root uid=0 gid=0 权限最大。
2>普通用户:uid>=500 做一般权限的系统管理,权限有限。
3>程序用户:1=<uid<500 为了提升系统安全性,为了支持所对应服务对系统资源的使用,不能用于登录系统或管理系统。
(2)UID:用户标识
(3)用户账号文件
1> /etc/passwd

  • 作用:保存用户名称、宿主目录、登录 Shell 等基本信息,每一行对应一个用户的账号记录。
  • 共 7 各字段,各字段代表含义:
  • 第一字段 amber:用户账号名
  • 第二字段 x:密码占位符
  • 第三字段 500:uid 编号
  • 第四字段 500:gid 编号
  • 第五字段 空:用户备注
  • 第六字段 /home/amber:用户宿主目录
  • 第七字段 /bin/bash:登录的 shell(若为/sbin/nologin 则不能登录)
  • 2> /etc/shadow
  • 作用: 保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。
  • 共 9 字段,目前只启用前 7 字段,各字段代表的含义:

image.png

  • 第一字段 amber:用户账号名
  • 第二字段 6 6 6I….Yi1:密文
  • 第三字段16793:账号上次修改时间距1970年1月1日过去多少天
  • 第四字段0:距上次密码修改起多少天内不能再次修改密码,单位“天”。“0”表示随时可修改密码。
  • 第五字段99999:密码过期天数(密码在修改密码后多少天必须重新修改密码。99999表示永久可以使用。)
  • 第六字段7:强制密码修改提醒时间(7表示在密码过期前7天开始警告)
  • 第七字段空:当密码过期后经过多少天该帐号会被禁用
  • 第八字段空:密码过期日期,若设置则显示为过期日期距1970年1月1日多少天。

2、添加用户账号 useradd 命令
(1)格式:useradd [选项] 用户名
(2)选项:
-u:指定 uid 标记号
-d:指定宿主目录,缺省默认为/home/用户名
-e:指定账号失效时间
-M:不为用户建立初始化宿主目录
-s:指定用户的登录 shell
-g:指定用户的基本组名(或 gid 号)
-G:指定用户的附加组名(或 gid 号)
-c:添加备注,显示在/etc/passwd 第五字段
)示例:

[root@www ~]# groupadd group1 
[root@www ~]# mkdir -p /testgroup1 
[root@www ~]# groupadd jiaoxue 
[root@www ~]# useradd -d /testgroup1/tom/ -g group1 -G jiaoxue -s /bin/bash -e
2016-01-01 tom 
[root@www ~]# passwd tom 
更改用户 tom 的密码 。 
新的 密码: 
无效的密码: WAY 过短 
无效的密码: 过于简单 
重新输入新的 密码: 
passwd: 所有的身份验证令牌已经成功更新。 
[root@www ~]# tail -1 /etc/passwd 
tom:x:501:501::/testgroup1/tom/:/bin/bash 
[root@www ~]# tail -1 /etc/shadow 
tom:$6$oe91WmLV$11aOIhoKOYMSNUl6wnSpYJfsr1V8vfbCPPFoBN76RSjKnPECXEC1KU 
aBA8Utnk2qBV8uHh78U65qyr3ZQNqdx1:16798:0:99999:7::16801: 
3、用户账号的初始配置文件 

(1)文件来源:新建用户账号时,从/etc/skel/目录中复制而来
(2)主要的用户初始配置文件:
1>~/.bash_profile:每次登录时执行
2>~/.bashrc:每次进入新 bash 环境时执行
3>~/.bash_logout:每次退出登录时执行
(3)进行修改后查看具体作用:

[root@www ~]# vi ~tom/.bash_profile 
# .bash_profile
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then 
 . ~/.bashrc 
fi 
# User specific environment and startup programs 
PATH=$PATH:$HOME/bin 
export PATH 
echo "welcome tom!" 【增加此内容】 
保存并退出 
[root@www ~]# vi ~tom/.bashrc 
# .bashrc 
# Source global definitions 
if [ -f /etc/bashrc ]; then 
 . /etc/bashrc 
fi 
# User specific aliases and functions 
echo "hi!this is a new bash!" 【增加此内容】 
保存并退出 
[root@www ~]# vi ~tom/.bash_logout 
# ~/.bash_logout 
echo "byebye tom!" 
sleep 3 
保存并退出

在虚拟机中新打开 tyy2 端口 以 tom 身份登录
image.png
4、设置/更改用户口令 passwd 命令
(1)格式:passwd [选项] 用户名
(2)常用选项:
-d:清空用户密码
-l:锁定用户账号
-S:查看用户账号的状态(是否被锁定)
-u:解锁用户账号
-x, --maximum=DAYS:密码的最长有效时限
-n, --minimum=DAYS:密码的最短有效时限
-w, --warning=DAYS:在密码过期前多少天开始提醒用户
-i, --inactive=DAYS:当密码过期后经过多少天该帐号会被禁用
(3)示例:

[root@www ~]# passwd -l tom 
锁定用户 tom 的密码 。 
 passwd: 操作成功 
[root@www ~]# passwd -S tom 
tom LK 2015-12-29 0 99999 7 -1 (密码已被锁定。) 
[root@www ~]# passwd -u tom 
解锁用户 tom 的密码 。 
 passwd: 操作成功 
[root@www ~]# passwd -S tom 
tom PS 2015-12-29 0 99999 7 -1 (密码已设置,使用 SHA512 加密。) 
[root@www ~]# passwd -d tom 
清除用户的密码 tom。 
 passwd: 操作成功

image.png
5、修改用户属性 usermod 命令
(1)格式:usermod [选项] … 用户名
(2)常用选项:
-l:更改用户账号的登录名字
-c:修改用户备注
-L:锁定用户账号
-U:解锁用户账户
以下选项与 useradd 命令中的含义相同:-u、-d、-e、-s、-c
(3)示例:

[root@www ~]# usermod -l tom1 tom 
[root@www ~]# tail -1 /etc/passwd
tom1:x:501:501::/testgroup1/tom/:/bin/bash 
[root@www ~]# usermod -c jiaoxue tom1 
[root@www ~]# tail -1 /etc/passwd 
tom1:x:501:501:jiaoxue:/testgroup1/tom/:/bin/bash

6、删除用户账号 userdel 命令
(1)格式:userdel 用户名
(2)常用选项:
-r:删除用户的同时删除用户的宿主目录
(3)示例:

[root@www ~]# userdel -r tom1
 [root@www ~]# ls /testgroup1/

二、组账号管理

1、组长号概述
(1)组账号分类:
基本组(私有组)
附加组(公共组)
(2)GID:组标识号
(3)组账号文件
1> /etc/group:保存组账号基本信息
2> /etc/gshadow:保存组账号的密码信息(较少使用)
2、添加组账号 groupadd 命令
(1)格式:groupadd [-g GID] 组账号名
(2)常用选项:
-g GID
(3)示例:

[root@www ~]# tail -3 /etc/group
 amber:x:500:
 group1:x:501:
 jiaoxue:x:502:
 [root@www ~]# groupadd -g 888 market
 [root@www ~]# tail -4 /etc/group
 amber:x:500:
 group1:x:501:
 jiaoxue:x:502:
 market:x:888:

3、设置组账号密码(极少用),添加、删除组成员 gpasswd 命令
(1)格式:gpasswd [选项] … 组账号名
(2)常用选项:
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表,以逗号分隔
(3)示例:

[root@www ~]# useradd test1
 [root@www ~]# useradd test2
 [root@www ~]# useradd test3
 [root@www ~]# gpasswd -a test1 market
 Adding user test1 to group market
 [root@www ~]# tail -4 /etc/group
 market:x:888:test1
 test1:x:889:
 test2:x:890:
 test3:x:503:
 [root@www ~]# gpasswd -d test1 market
 Removing user test1 from group market
 [root@www ~]# tail -4 /etc/group
 market:x:888:
 test1:x:889:
 test2:x:890:
 test3:x:503:
 [root@www ~]# gpasswd -M test1,test2,test3 market
 [root@www ~]# tail -4 /etc/group
 market:x:888:test1,test2,test3
 test1:x:889:
 test2:x:890:
 test3:x:503:
 [root@www ~]# gpasswd -M test1 market
 [root@www ~]# tail -4 /etc/group
 market:x:888:test1
 test1:x:889:
 test2:x:890:
 test3:x:503:

(4)增加或删除组成员,也可用 vi 编辑器对/etc/group 文件直接编译修改
·示例:
image.png
在test1后面添加“,test2,test3”,保存退出
image.png
image.png
4、删除组账号 groupdel 命令

三、查询命令——id、groups、finger、w、whoami、who

1、id

[root@www ~]# groupdel market 
[root@www ~]# tail -5 /etc/group 
group1:x:501: 
jiaoxue:x:502: 
test1:x:889: 
test2:x:890: 

(1)格式:groupdel 组账号名
(2)示例:
test3❌503:
命令
(1)作用:查询用户身份标识
(2)格式:id [用户名]
(3)示例:

[root@www ~]# id amber 
uid=500(amber) gid=500(amber)=500(amber) 
[root@www ~]# id 
uid=0(root) gid=0(root)=0(root) 

2、groups 命令
(1)作用:查询客户所属的组
(2)格式:groups [用户名]
(3)示例:

[root@www ~]# groups amber 
amber : amber 
[root@www ~]# groups 
root 

3、finger 命令(需安装,安装过程详见“Linux 系统管理 03”)
(1)作用:查询账号的详细信息
(2)格式:finger [用户名]
(3)示例:

[root@www ~]# finger amber
 Login: amber Name: 
 Directory: /home/amber Shell: /bin/bash
 Last login 四 1224 17:02 (CST) on tty2
 No mail.
 No Plan.
 [root@www ~]# finger
 Login Name Tty Idle Login Time Office Office Phone
 root root tty1 2:16 Dec 29 15:04 (:0)
 root root pts/0 2:14 Dec 29 15:04 (:0.0)
 root root pts/1 Dec 29 15:05 (192.168.1.106

4、w 命令
(1)作用:查询已登录到主机的用户信息
(2)示例:

[root@www ~]# w
 17:25:12 up 2:21, 3 users, load average: 0.00, 0.00, 0.00
 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
 root tty1 :0 15:04 2:21m 9.78s 9.78s 
 /usr/bin/Xorg :0 -nr -verbose -audit 4 -auth /var/run/gdm/auth-for-g 
 root pts/0 :0.0 15:04 2:19m 0.02s 0.02s /bin/bash
 root pts/1 192.168.1.106 15:05 0.00s 1.53s 0.02s w

5、whoami
(1)作用:查询当前登录的账号名
(2)示例:

[root@www ~]# whoami
 root

6、who
(1)作用:与 w 命令类似,查询查询已登录到主机的用户
(2)示例:

[root@www ~]# who
 root tty1 2015-12-29 15:04 (:0)
 root pts/0 2015-12-29 15:04 (:0.0)
 root pts/1 2015-12-29 15:05 (192.168.1.106)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

昇思25天学习打卡营第12天 | LLM原理和实践:MindNLP ChatGLM-6B StreamChat

1. MindNLP ChatGLM-6B StreamChat 本案例基于MindNLP和ChatGLM-6B实现一个聊天应用。 ChatGLM-6B应该是国内第一个发布的可以在消费级显卡上进行推理部署的国产开源大模型&#xff0c;2023年3月就发布了。我在23年6月份的时候就在自己的笔记本电脑上部署测试过&#xff0c;当…

2024年江苏省研究生数学建模科研创新实践大赛C题气象数据高精度融合技术研究论文和代码分析

经过不懈的努力&#xff0c; 2024年江苏省研究生数学建模科研创新实践大赛C题气象数据高精度融合技术研究论文和代码已完成&#xff0c;代码为C题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建…

绝区壹--LLM的构建模块

前言 语言是人类交流的本质&#xff0c;大型语言模型 (LLM) 凭借其出色的理解和生成类似人类的文本的能力&#xff0c;彻底改变了我们与语言互动和利用语言的方式。深入研究 LLM 的构建块&#xff08;向量、标记和嵌入&#xff09;&#xff0c;揭示了使这些模型能够以前所未有…

Qt(MSVC)下报“语法错误缺少“}““语法错误缺少“常数“ 的解决办法

1.现象 目前我在工程中试图使用QHttpServer时&#xff0c;一编译&#xff0c;就报了一堆奇奇怪怪的错误&#xff1a; D:\Qt\httpServer\Qt5.15.2\include\QtHttpServer\qhttpserverrequest.h:75: error: C2143: 语法错误: 缺少“}”(在“(”的前面) D:\Qt\httpServer\Qt5.15.…

Xilinx FPGA:vivado关于fifo的一些零碎知识

一、FIFO概念 先进先出&#xff0c;是一种组织和操作数据结构的方法。在硬件应用中&#xff0c;FIFO一般由一些读写指针&#xff0c;存储和控制的逻辑组成。 二、xilinx中生成的FIFO的存储类型 &#xff08;1&#xff09;shift register FIFO : 移位寄存器FIFO&#xff0c;这…

第6章 选课学习:需求分析,添加选课,支付,支付通知,在线学习

1 模块需求分析 1.1 模块介绍 本模块实现了学生选课、下单支付、学习的整体流程。 网站的课程有免费和收费两种&#xff0c;对于免费课程学生选课后可直接学习&#xff0c;对于收费课程学生需要下单且支付成功方可选课、学习。 选课&#xff1a;是将课程加入我的课程表的过…

以黑盒与白盒的角度分析和通关xss-labs(XSS漏洞类型与总结)

目录 目录 前言 XSS漏洞的总结和梳理 1.第一关(基础palyload) 黑盒测试 白盒测试 2.第二关(闭合) 黑盒测试 白盒测试 3.第三关(字符转义) 黑盒测试 白盒测试 4.第四关(字符过滤或替换) 黑盒测试 白盒测试 5.第五关(关键词替换) 黑盒测试 白盒测试 6.第六关(…

C++初级——C++入门(2):函数重载

目录 一、话题引入 二、 函数重载概念 三、不同重载类型 3.1 参数个数不同 3.2 参数类型不同 3.3 参数类型顺序不同 一、话题引入 在自然语言中&#xff0c;一个词可以有多重含义&#xff0c;人们可以通过上下文来判断该词真正的含义&#xff0c;即该词被重载了。 例…

java自旋锁

Java自旋锁&#xff08;Spin Lock&#xff09;是一种用于多线程同步的锁机制&#xff0c;通过反复检查某个条件&#xff08;通常是一个共享变量的状态&#xff09;而不是挂起线程来实现锁的获取。自旋锁的核心思想是让线程在尝试获取锁时保持活动状态&#xff0c;即进行“自旋”…

Spring Cloud Alibaba - Sentinel 分布式系统流量哨兵

目录 概述特征基本概念 安装Sentinel微服务引入Sentinel案例流控规则&#xff08;流量控制&#xff09;流控模式-直接流控模式-关联流控模式-链路流控效果-快速失败流控效果-预热WarmUp流控效果-排队等候 流控规则&#xff08;并发线程数控制&#xff09;熔断规则&#xff08;熔…

ECharts在最新版本中使用getInstanceByDom报错处理

引用问题导致报错 如果按如下引用的话&#xff0c;会报错 import echarts from “echarts/lib/echarts”; 原因 在 ECharts 的之前版本中&#xff0c;默认导出了一个名为 echarts 的对象&#xff0c;所以使用 import echarts from “echarts” 是没有问题的。但是在 ECharts …

【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Spring中的事件监听器使用学习

一、什么是Spring中的事件监听机制&#xff1f; Spring框架中的事件监听机制是一种设计模式&#xff0c;它允许你定义和触发事件&#xff0c;同时允许其他组件监听这些事件并在事件发生时作出响应。这种机制基于观察者模式&#xff0c;提供了一种松耦合的方式来实现组件间的通信…

vue3+electron项目搭建,遇到的坑

我主要是写后端,所以对前端的vue啊vue-cli只是知其然,不知其所以然 这样也导致了我在开发前端时候遇到了很多的坑 第一个坑, vue2升级vue3始终升级不成功 第二个坑, vue add electron-builder一直卡进度,进度条走完就是不出提示succes 第一个坑的解决办法: 按照网上说的升级v…

DNS正向解析与反向解析实验

正向解析 安装bind软件 [rootlocalhost ~]# dnf install bind bind-utils -y修改主配置文件/etc/named.conf [rootlocalhost ~]# vim /etc/named.conf重启DNS服务&#xff08;named&#xff09; [rootlocalhost ~]# systemctl restart named编辑数据配置文件。在/var/named…

AI绘画Stable Diffusion【图生图教程】:图片高清修复的三种方案详解,你一定能用上!(附资料)

大家好&#xff0c;我是画画的小强 今天给大家分享一下用AI绘画Stable Diffusion 进行 高清修复&#xff08;Hi-Res Fix&#xff09;&#xff0c;这是用于提升图像分辨率和细节的技术。在生成图像时&#xff0c;初始的低分辨率图像会通过放大算法和细节增强技术被转换为高分辨…

Linux运维:mysql主从复制原理及实验

当一台数据库服务器出现负载的情况下&#xff0c;需要扩展服务器服务器性能扩展方式有向上扩展&#xff0c;垂直扩展。向外扩展&#xff0c;横向扩展。通俗的讲垂直扩展是将一台服务器扩展为性能更强的服务器。横向扩展是增加几台服务器。 主从复制好比存了1000块钱在主上&…

Flutter-实现双向PK进度条

如何实现一个双向PK进度条 在Flutter应用中&#xff0c;进度条是一个非常常见的组件。而双向PK进度条则能够展示两个对立的数值&#xff0c;如对战中的双方得分对比等。本文将介绍如何实现一个具有双向PK效果的进度条&#xff0c;并支持竖直和斜角两种过渡效果。 1. 需求 我…

仪器校准后出了校准证书后,是不是就代表仪器合格了?

仪器校准是一门技术活&#xff0c;对于从事生产制造的企业而言&#xff0c;是不可或缺的一环&#xff0c;因为这与产品质量密切相关。所以&#xff0c;了解仪器校准的相关知识也变得尤为重要。 在拿到校准证书后&#xff0c;是不是说明仪器合格了&#xff1f;相信不少企业品管人…

苍穹外卖--sky-take-out(五)前端

大部分笔记都是写在语雀的&#xff0c;这是一次性从本人语雀复制过来的&#xff0c;可能结构有些错乱 基础创建 环境要求 node.js npm Vue CLI 创建前端工程 使用vue ui命令创建 项目结构 启动项目 打开命令行窗口 快捷键ctrlj 或者 运行 输入&#xff1a;npm run ser…