linuxOPS系统服务_Linux下用户管理

news2024/12/23 13:12:07

用户概念以及基本作用

**用户:**指的是Linux操作系统中用于管理系统或者服务的

一问:管理系统到底在管理什么

答:Linux下一切皆文件,所以用户管理的是相应的文件

二问:如何管理文件呢?

答:

  1. 文件基本管理,比如文件的创建、删除、复制、查找、打包压缩等;文件的权限增加、减少等;
  2. 文件高级管理,比如程序文件的安装、卸载、配置等。终极目的是对外提供稳定的服务。

用户的类别

① root超级管理员,在Linux系统中拥有至高无上的权力

② 系统用户,CentOS6=> 1 ~ 499,CentOS7=> 1 ~ 999,系统账号默认不允许登录

# useradd -s /sbin/nologin 系统用户

③ 普通用户,大部分是由root管理员创建的,UID的取值范围:CentOS6=> 500 ~ 60000,CentOS7=> 1000 ~ 60000,对系统进行有限的管理维护操作

总结

① 用户指的是操作系统上管理系统或服务,是人,就有相关的属性信息

② 用户的属性信息包括但不限于,如:==家目录、唯一身份标识(UID)、所属组(GID)==等

③ 今天我们讨论的用户指的是普通用户,即由管理员创建的用户

用户管理

与用户管理相关的几个单词 => user(用户)、add(添加)、mod(修改)、del(删除)

① 用户添加 useradd

② 用户修改 usermod

③ 用户删除 userdel

useradd用户添加

基本语法:

useradd [选项 选项的值] 新用户名称

选项值作用
-u指定用户uid,唯一标识,必须唯一
-g指定用户的默认组(主组)
-G指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
-d指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
-s指定用户默认shell,常见/bin/bash或/sbin/nologin
-r指定用户为系统用户,如创建一个系统账号mysql
案例:在Linux系统中创建一个账号zhangsan
 useradd zhangsan

在这里插入图片描述

那一个用户创建成功后,如何判断是否添加到系统?
第一种方案我们可以通过tail命令查看/etc/passwd文件

tail -n 3 /etc/passwd

在这里插入图片描述

​第二种方案我们可以使用id命令查看zhangsan信息
在这里插入图片描述

案例:在Linux系统中创建一个账号wangwu,指定用户的家目录为/rhome/wangwu
mkdir /rhome
useradd -d /rhome/wangwu wangwu

当我们为用户自定义家目录时,其上级目录必须是真实存在的,如/rhome

在这里插入图片描述

案例:在Linux系统中创建一个mysql账号,要求真实存在的,但是其不允许登录操作系统
useradd -s /sbin/nologin mysql

在这里插入图片描述

usermod用户修改

usermod [选项 选项的值] 用户名称
选项选项作用
-u指定用户uid,唯一标识,必须唯一
-g指定用户的默认组(主组)
-G指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
-d指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)
-s指定用户默认shell
案例:修改zhangsan账号的主组为wangwu组(只能指定一个)

① 可以获取wangwu组的编号信息GID
在这里插入图片描述

② 使用usermod -g GID编号修改某个用户的主组信息

其实在usermod修改用户的主组中,usermod -g 可以使用GID编号也可以使用组名称

usermod -g 1003 zhangsan
或
usermod -g wangwu zhangshan

在这里插入图片描述

案例:修改zhangsan账号的附加组,将其添加到wangwu中
usermod -G 1000 zhangsan
或
usermod -G itheima zhangsan
案例:修改用户zhangsan的家目录为/rhome/zhangsan(默认/home/zhangsan)
mkdir /rhome/zhangsan
usermod -d /rhome/zhangsan zhangsan

家目录改完了,但是当我们切换到张三

su - zhangsan

在这里插入图片描述
如图,切换到zhangsan后,并不能正常切换
出现以上问题的主要原因在于:我们迁移用户的家目录时,没有迁移家目录中的配置文件

解决方案:
① 家目录已经迁移,我们把/etc/skel中的文件,copy到新家中

cp -a /etc/skel/. /rhome/zhangsan/

② 家目录还没有迁移,准备迁移时,使用usermod -md /rhome/zhangsan 用户名
-m :move,迁移家目录时,把配置文件一起迁移到新的家目录

usermod -md /rhome/zhangsan zhangsan

userdel用户的删除

# userdel [选项] 用户名称
选项说明:
-r :删除用户的同时,删除用户的家目录
-f :强制删除用户(即使用户处于登录状态)
案例:删除zhangsan这个账号
userdel zhangsan
案例:删除zhangsan这个账号,同时删除这个账号的家
# userdel -r zhangsan
案例:删除某个正在使用的账号(强制删除)
userdel -f zhangsan

与用户相关的文件

Linux中一切皆文件,所以保存用户的信息的也是一个文件 => /etc/passwd

vim /etc/passwd

在这里插入图片描述

  • 第1列:用户名称
  • 第2列:用户密码,使用一个x占位符,真实密码存储在/etc/shadow文件中
  • 第3列:用户的编号UID,0,1-999,1000 ~ 60000
  • 第4列:用户的主组编号GID
  • 第5列:用户的备注信息(扩展,可以使用-c进行指定) useradd -c “mysql” mysql
  • 第6列:用户的家目录,/root,超级管理员的家/home,普通账号的家
  • 第7列:用户的Shell文件,常见/bin/bash或/sbin/nologin=>/bin/false

用户密码

passwd修改用户密码

passwd [用户名称]

说明:
1.管理员root可以给任何用户修改密码
2.普通用户可以自己给自己修改密码,但是密码复杂度要符合规范(大小写、特殊字符、长度)

案例:使用root账号给wangwu用户修改密码,新密码为123456
su - root
passwd wangwu

案例:切换到wangwu这个账号,自己给自己修改密码(密码规范)

su - itheima
passwd

–stdin修改用户密码

–stdin :标准输入

echo 123 |passwd --stdin wangwu
history -c 	

注意:以上方式操作非常简单,但是以上命令会留在history历史命令中!可以使用history -c 清除历史

chage更改用户的账号信息

背景:很多公司运维工程师刚入职,都会默认得到一个服务器的管理账号,密码默认,如123456,我们有没有办法让运维工程师在第一次登陆操作系统后,强制要求其更新密码。

chage --help
选项作用
-l列出用户的详细密码状态;
-d 日期修改 /etc/shadow 文件中指定用户密码信息的第3个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD;
-m 天数修改密码最短保留的天数,也就是 /etc/shadow 文件中的第4个字段;
注:几天后才能修改一次密码
-M 天数修改密码的有效期,也就是 /etc/shadow 文件中的第5个字段;
注:每隔多少天更新一次密码
-W 天数修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第6个字段;
-i 天数修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第7个字段;
注:过期后还可以使用的天数,达到这个天数后,账号失效
-E 日期修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第8个字段;
案例:新创建一个账号lamp,设置初始化密码为123456。要求用户第一次登陆后必须强制修改用户的密码。

解决思路:把密码的最后修改时间重置为0(回到1970年1月1日)

useradd lamp
echo 123456 |passwd --stdin lamp
chage -d 0 lamp

运行效果:
在这里插入图片描述

案例:设置lamp账号的过期时间为2010-04-10
chage -E "2020-04-10" lamp
案例:设置lamp账号的10天后过期(延伸)
chage -E $(date +%F -d '+10 days') lamp
%F:YYYY-mm-dd,格式2020-04-01
-d:多少天以后的日期
案例:设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息
 useradd mysql
echo 123456 |passwd --stdin mysql
chage -M 60 -m 7 -W 7 mysql

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

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

相关文章

JDK、JRE、JVM三者的区别

JDK(Java Development Kit):Java开发工具包 JRE(Java Runtime Environment):Java运行环境 JVM(Java Virtual Mechinal):Java虚拟机 (1)JDK和JRE 是…

Python海龟画图 几种基本图形

注:本文主要根据绘制步骤进行区分,实际使用时应当调节参数以绘制需要的图形。文中的步骤均为循环进行,循环50到100次,具体次数见代码示例。 1.前进小角度旋转 绘制效果如图,如果旋转角度为360的因数则绘制出多边形。 …

OJ Summation of Four Primes

1.题目 题目描述 Euler proved in one of his classic theorems that prime numbers are infinite in number. But can every number be expressed as a summation of four positive primes? I don’t know the answer. May be you can help!!! I want your solution to be v…

弹性盒子(display: flex)布局超全讲解|Flex 布局教程

文章目录 什么是弹性布局?弹性布局的特点?容器的属性justify-contentalign-itemsflex-directionflex-wrapflex-flowalign-contentorder属性flex-grow属性flex-shrink属性flex-basis属性flex属性align-self属性 什么是弹性布局? 弹性布局&…

我被今年就业难度震惊到了

随着毕业季到来,今年高校毕业生就业问题正在被越来越多的人关注。年年都是最难就业季,但今年却格外不同寻常的难。大家都知道 2022 年毕业生人数历史上首次突破千万。而今年毕业生人数,高达 1158 万人,史无前例的多。加上海外留学…

【Unity Shader】从入门到着魔(2)用C#画一个立方体

文章目录 一、构成一个立方需要多少个顶点?二、定义三角面的索引数组:三、定义UV坐标数组:四、最后构建Mesh:五、完整代码:一、构成一个立方需要多少个顶点? 这个问题是面试经常被问到的题。如上图,我们知道在几何中立方体有6个面,8个顶点。但在图形学中,顶点指的是模…

项目管理:制定项目计划,这些作用不可忽视

做任何事,做计划不可缺少,没有计划,就没有控制,编制计划可帮助项目管理团队提前进行思考。 制定计划后,还需要对项目计划进行跟踪,这样才不会让计划白做。 你知道项目计划进行跟踪,有哪些不可…

更新公告:Airtest更新至1.2.10.2版本

1. 前言 本次是Airtest库更新,版本提升至1.2.10.2,内容主要是Android录屏功能的改动。 2. 更改部分 在Airtest1.2.9中提供的cv2模式已经被舍弃,因为容易引发错误,效果也不如ffmpeg; 只有Android需要mode参数&#x…

java8 (jdk 1.8) 新特性 ——初步,发现不一样的新特性

前言 3202 年了,现在市面上的公司几乎都是 jdk1.8, 有也是极少数在用java7 , 即使是一些传统企业,在技术革新方面也很重视,毕竟现在是大数据时代 那么java8 有哪些新特性呢?换句话说为什么在码界 这么受欢迎!&#xf…

NLP:词义分布的空间维度——从文本符号到词向量表征

自然语言处理的前提是文本表示(Representation),即如何将人类符号化的文本转换成 计算机所能“理解”的表征形式。早期的自然语言表征主要采用离散表示。近年来,随着深度 学习的不断发展,基于神经网络的分布式词向量技…

对象存储?CRUD Boy实现对文件的增删改查

大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 以下是正文! 对象存储是什么&#xff1f…

代码随想录算法训练营第五十九天|503.下一个更大元素II|42. 接雨水

LeetCode503.下一个更大元素II 基本思路:本题思路与739.每日方法思路相似,但是需要使用到循环数组,将两个nums数组拼接在一起,使用单调栈计算出每一个元素的下一个最大值,最后再把结果集即result数组resize到原数组大…

java 高校宿舍管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 java 高校宿舍管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0…

第六章 番外篇:webdataset

参考教程: https://github.com/pytorch/pytorch/issues/38419 https://zhuanlan.zhihu.com/p/412772439 https://webdataset.github.io/webdataset/gettingstarted/ 文章目录 背景WebDatasetwebdataset的生成webdataset的加载示例代码 背景 训练数据通常是以个体的…

霹雳吧啦 目标检测 学习笔记

霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频 目标检测篇github地址;GitHub - WZMIAOMIAO/deep-learning-for-image-processing: deep learning for image processing including classification and object-detection etc. 数据集 实例分割vs语义分割&a…

【强烈推荐】 十多款2023年必备国内外王炸级AI工具 (免费 精品 好用) 让你秒变神一样的装逼佬感受10倍生产力 (7) AI语言模型

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

云安全的第一站:CSPM

在企业数字化转型和云计算技术的加持下,企业上云趋势势不可挡。与此同时,数据量加大,网络攻击日趋频繁,对企业来说,包括云计算安全在内的网络安全部署的重要性日益显现。 在Gartner2022年CIO技术执行官问卷调查中&…

chatgpt赋能python:Python怎么绕过短信验证

Python怎么绕过短信验证 短信验证以及其他形式的验证码已经成为了许多网站和应用程序保护用户隐私的常见方式。然而,对于某些特定的情况,用户可能需要绕过这些验证码,例如自动化测试或者爬取数据。那么,在Python中,我…

安装Hive

安装Hive 准备 安装Java环境:Hive需要Java环境支持,所以需要先安装Java。安装文档:http://t.csdn.cn/deBJu 安装MySQL数据库。http://t.csdn.cn/d24pN 下载Hive 下载Hive的二进制文件。 链接:https://pan.baidu.com/s/1fdg7…

管理类联考——英语二——技巧篇——写作——书信作文——经典方法论

第一节 书信作文谋篇布局 考研英语从2005年开始考查书信作文,迄今为止共考查过几十次。书信作文考查的信件种类繁多,其中建议信是考查最为频繁的信件类型。从考查内容来看,校园学习生活、职业发展、民生热点成为重点考查对象,这一…