linuxOPS系统服务_Linux下用户管理

用户概念以及基本作用

**用户:**指的是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

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

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

相关文章

【新星计划回顾】第六篇学习计划-通过自定义函数和存储过程模拟MD5数据

🏆🏆时间过的真快,这是导师回顾新星计划学习的第六篇文章! 最近这段时间非常忙,虽然导师首次参与新星计划活动已经在4月16日圆满结束,早想腾出时间来好好整理活动期间分享的知识点。 🏆&#x1…

Unsupervised Learning(无监督学习)

目录 Introduction Clustering(聚类) Dimension Reduction(降维) PCA(Principle component analysis,主成分分析) Word Embedding(词嵌入) Matrix Factorization(矩…

适合嵌入式开发的GUI(嵌入式学习)

嵌入式开发的GUI如何选择? 常见的嵌入式GUI开发方法轻量级GUI库优缺点 基于Web技术优缺点 Qt框架优缺点 原生开发优缺点 嵌入式系统的限制 常见的嵌入式GUI开发方法 嵌入式开发中的GUI(图形用户界面)是指在嵌入式系统中实现图形化的用户界面…

Linux权限管理(超详解哦)

Linux权限 引言文件访问者的分类文件类型与访问权限文件类型访问权限 文件权限值的表示方法修改权限的指令chmod修改文件权限通过角色/-/权限来修改通过三个八进制数修改 chown修改所有者chgrp修改所属组umask修改或查看文件权限掩码文件创建时的权限 目录的权限粘滞位 总结 引…

驱动模块和printk函数

目录 1. 驱动模板 1.1. 在源码工程路径下创建.c文件 1.2. 编写驱动模板 1.3. 将模板放到ubuntu上 1.4. 书写Makefile 1.5. 编译和安装 2. printk 2.1. Source Insight查找命令 2.2. printk讲解 2.2.1. 分析函数 2.2.2. 编写代码 2.3. 拓展 2.3.1. 关于printk函数测…

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件ESP32_IDF_V5.0开发编译环境搭建

一、安装ESP32-IDF库 下载网址:https://dl.espressif.com/dl/esp-idf/ 打开上面的网页,选择单击页面中 ESP32-IDF v5.0.2 - Offine Installer,5.0.2是当前最新版本,如果没有ESP32-IDF v5.0.2 - Offine Installer,说明…

ADB WIFI 链接

ADB WiFi链接手机 必须在同一网络下(本人用的台式机网线手机连路由器WIFI) 1.先确认USB数据线是否成功链接了手机 adb devices不管前面设备是什么名字,但是后面必须为device状态才算链接成功了,offline状态是不行的 有些没开启…

《微服务架构设计模式》第二章 服务的拆分策略

内容总结自《微服务架构设计模式》 服务的拆分策略 一、架构是什么软件架构的41视图模型为什么重要分层架构风格 二、定义微服务如何定义服务拆分难点定义服务API 一、架构是什么 软件架构的定义:计算机系统的软件架构是构建这个系统所需要的一组结构,包…

物联网Lora模块从入门到精通(八)Lora无线通信

一、前言 在某些环境下,无法通过有线传输数据,这时候我们需要使用Lora无线通信传输数据,Lora无线数据传输具有低功耗、距离长的特点,常用于工厂内等,需要Lora基站。 我曾做过距离测试:Lora模块距离测试-物联…

Linux---vim的使用

专栏:Linux 个人主页:HaiFan. 本章为大家带来Linux工具—vim Linux工具 关于rzszyumvim的基本概念vim的基本操作vim正常模式命令集vim末行模式命令集简单vim配置配置文件的位置常用配置选项 关于rzsz 这个工具用于windows机器和Linux机器通过Xshell传输…

PHP伪协议filter详解,php://filter协议过滤器

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 php://filter 一、访问数据流二、过滤数据流三、多…

electron 快速创建一个本地应用

参考官方文档流程 快速入门 | Electron 建议先全局安装electron,npm install -g electron 开发过程中可以在本地开发安装 使用electron快速创建一个web页面 ,参考官方demo 实例 electron-quick-start 第一步: mkdir my-electron-app &am…

Linux

Linux 摘要写在前面1.Linux介绍2.Linux基本概念与命令3.Shell编程4.桌面操作系统框架5.GTK图形编程6.QT图形编程7.DBUS8.GDB9.Wine开发10.高可用存储技术11.高可用网络技术12.云计算 摘要 本篇博客参考中科方德国产操作系统的培训课程,对其主要内容进行总结&#x…

超越密码:网络安全认证的未来

你的物理现实的数字对应物正在惊人地增长。虽然肯定会有积极的结果,但随着互联网的发展,与之相关的风险也在迅速增加。在讨论网络安全风险管理时,首先想到的是密码。但当出现诈骗、网络钓鱼等威胁时,这还不够。 那么,…

大数据分析与机器学习:技术深度与实例解析【上进小菜猪大数据系列】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 大数据分析与机器学习已成为当今商业决策和科学研究中的关键组成部分。本文将深入探讨大数据技术的背景和原则,并结合实例介绍一些常见的大数据分析和机器学习技术。 …

Redux的基础操作和思想

什么是Redux? Redux是JavaScript应用的状态容器,提供可预测的状态管理! Redux除了和React一起用外,还支持其它框架;它体小精悍(只有2kB, 包括依赖),却有很强大的插件扩展生态! Redux提供的模式和工具使您更容易理解应用程序中的…

与用户同行!2023卡萨帝开启高端生活方式新时代

6月20日,2023思享荟暨卡萨帝品牌升级发布会在重庆国际博览中心举行。在经历了高端产品引领、高端品牌引领、高端场景引领后,卡萨帝启动全新品牌升级,持续与用户同行,开启高端生活方式引领的新时代。 现场,海尔智家副总…

量化交易:止盈策略与回测

我们买基金或股票的时候通常用最简单的策略进行决策:低买高卖,跌的多了就加仓拉低持有成本,达到收益率就卖出。 那么如何用代码表示这个策略呢?首先定义交易信号则是:0.5%时买入,目标止盈线是1.5%&#xf…

ELFK日志分析系统并使用Filter对日志数据进行处理

目录 一、 FilebeatELK 部署Filebeat 节点上操作 二、Filtergrok 正则捕获插件内置正则表达式调用自定义表达式调用 mutate 数据修改插件multiline 多行合并插件date 时间处理插件 一、 FilebeatELK 部署 Node1节点(2C/4G):node1/192.168.15…

Django rest framework基本知识

使用pycharm生成Django项目后,会生成工程目录和app目录 工程目录下5个文件,settings.py是全局配置相关的 urls.py是路有相关的 app相关的目录 models.py 数据库ORM对应的模型类 serializers.py 序列化与反序列化处理 views.py 根据request进行…