Day13-Linux系统用户管理知识精讲2

Day13-Linux系统用户管理知识精讲2

  • 1. passwd 给用户设置密码
  • 2. chpasswd 批量设置密码
  • 3. chage 查看和更改密码属性 更改用户密码过期信息
  • 4. 用户组相关的命令了解

1. passwd 给用户设置密码

用户自己给自己设置密码直接passwd

root用户给普通用户设置密码passwd 用户名。

–stdin 从标准输入获取信息

[root@oldboy ~]# echo 123456|passwd --stdin oldboy
更改用户 oldboy 的密码 。
passwd:所有的身份验证令牌已经成功更新。

2. chpasswd 批量设置密码

bash脚本

for n in {01..10}
douseradd oldboy$n
done

把用户和密码用冒号分割,然后放入文件里。

[root@oldboy ~]# vim user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05

批量设置密码命令:

chpasswd <user.list #不好用。

cat user.list|chpasswd #好用

su - oldboy02,然后在切入到其他用户测试。

扩展技术:后期细讲,此处可忽略

批量【生成】用户名和密码文件列表;

[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#oldboy\1:\1#gp' >user.list
[root@oldboy ~]# cat user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05
oldboy06:06
oldboy07:07
oldboy08:08
oldboy09:09
oldboy10:10

批量【设置】用户和密码列表;

[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'
useradd oldboy01;echo 01|passwd --stdin oldboy01
useradd oldboy02;echo 02|passwd --stdin oldboy02
useradd oldboy03;echo 03|passwd --stdin oldboy03
useradd oldboy04;echo 04|passwd --stdin oldboy04
useradd oldboy05;echo 05|passwd --stdin oldboy05
useradd oldboy06;echo 06|passwd --stdin oldboy06
useradd oldboy07;echo 07|passwd --stdin oldboy07
useradd oldboy08;echo 08|passwd --stdin oldboy08
useradd oldboy09;echo 09|passwd --stdin oldboy09
useradd oldboy10;echo 10|passwd --stdin oldboy10
[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'|bash

通过nodepad++批量生成用户名,

按住ALT,然后将光标第1行拉倒第10行,然后输入oldboy,

然后按住alt+c,设置生成数字序列

oldboy1
oldboy2
oldboy3
oldboy4
oldboy5
oldboy6
oldboy7
oldboy8
oldboy9

3. chage 查看和更改密码属性 更改用户密码过期信息

-l 查看用户和更改密码属性

[root@oldboy ~]# chage -l oldboy
最近一次密码修改时间			:6月 30, 2030
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间					:从不
两次改变密码之间相距的最小天数	:0
两次改变密码之间相距的最大天数	:99999
在密码过期之前警告的天数	    :7

-e “” 设定账户过期时间。

useradd -e “2040/5/20” oldboy11

[root@oldboy ~]# useradd -e "2040/5/20" oldboy11
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[root@oldboy ~]# chage -l oldboy11
最近一次密码修改时间					:6月 30, 2030
密码过期时间					   :从不
密码失效时间					   :从不
帐户过期时间						:5月 20, 2040  =========================账户过期时间
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

chage -E “2041/6/30” oldboy11

[root@oldboy ~]# chage -E "2041/6/30" oldboy11
[root@oldboy ~]# chage -l oldboy11
最近一次密码修改时间					:6月 30, 2030
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:6月 30, 2041
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

useradd -e和chage -E是一样的。

范例:要求oldgirl用户7天内不能更改密码,60天以后必须修改密码,过期前10天通知用户,过期后30天后禁止用户登录。
修改的文件/etc/shadow
查看 chage -l 用户名
设置方法:2个:

passwd -n 7 -x 60 -w 10 -i 30 oldboy  #<==参数含义详见前文表格。
chage  -m8  -M61  -W11  -I31 oldboy #<==使用chage按题意要求授权。
[root@oldboy ~]# chage -l oldboy
最近一次密码修改时间					:6月 30, 2030
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

练习修改密码属性(了解)

[root@oldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:0:99999:7:::
[root@oldboy ~]# passwd -n 7 -x 60 -w 10 -i 30 oldboy
调整用户密码老化数据oldboy。
passwd: 操作成功
[root@oldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:7:60:10:30::
[root@oldboy ~]# chage -l oldboy
最近一次密码修改时间					:6月 30, 2030
密码过期时间					:8月 29, 2030
密码失效时间					:9月 28, 2030
帐户过期时间						:从不
两次改变密码之间相距的最小天数		:7
两次改变密码之间相距的最大天数		:60
在密码过期之前警告的天数	:10
[root@oldboy ~]# 

4. 用户组相关的命令了解

groupadd 添加用户组

groupdel 删除用户组

练习:

[root@oldboy ~]# groupadd sa
[root@oldboy ~]# tail -n 1 /etc/group /etc/gshadow
==> /etc/group <==
sa:x:5018:==> /etc/gshadow <==
sa:!::
[root@oldboy ~]# groupdel sa
[root@oldboy ~]# grep -w sa /etc/group /etc/gshadow

切换用户以及提权管理命令:

su

sudo

su 切换用户角色,从A用户切换到B用户。

su - oldboy # -表示携带用的环境变量切换

显示:root环境变量

[root@oldboy ~]# env|grep root
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root

练习查看加不加-的区别:

[root@oldboy ~]# su oldboy
[oldboy@oldboy root]$ env|grep oldboy
HOSTNAME=oldboy
USER=oldboy
HOME=/home/oldboy
LOGNAME=oldboy
[oldboy@oldboy root]$ pwd #还是root家目录,这就是没有加-的问题。
/root
[oldboy@oldboy root]$ env|grep root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root
[oldboy@oldboy root]$ exit
[root@oldboy ~]# su - oldboy
上一次登录:一 71 00:11:41 CST 2030pts/1 上
[oldboy@oldboy ~]$ env|grep root
[oldboy@oldboy ~]$ env|grep oldboy
HOSTNAME=oldboy
USER=oldboy
MAIL=/var/spool/mail/oldboy
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oldboy/.local/bin:/home/oldboy/bin
PWD=/home/oldboy
HOME=/home/oldboy
LOGNAME=oldboy

第二个参数:

-c 以oldboy用户身份执行命令,然后退回当下用户

[root@oldboy ~]# su - oldboy -c pwd
/home/oldboy

用普通用户登录管理,su - root切换到root管理,拥有了所有权限。

普通用户必须要知道root密码,登录到root,他就可以改了密码,让你登录不上。

适合运维部门人少的时候。

弊端:

1)切换到root

2)拥有所有权限

更规范的管理方法:

不切换到root,在操作命令同时,拥有root权限,一旦操作完成,权限就消失。而且不需要root密码

sudo

sudo配置文件是/etc/sudoers

通过visudo管理sudo配置文件/etc/sudoers

[root@oldboy ~]# ls /etc/sudoers -l
-r--r-----. 1 root root 4328 1128 2019 /etc/sudoers

root ALL =(ALL) ALL

用户 主机 切换的角色 执行命令

设置oldboy用户在所有主机上,可以切换到所有角色,执行所有命令。

oldboy ALL =(ALL) ALL

oldboy就相当于root,不是root。

测试1:

[oldboy@oldboy ~]$ useradd bingbing
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
[oldboy@oldboy ~]$ sudo useradd bingbing我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。[sudo] oldboy 的密码:
[oldboy@oldboy ~]$ tail -1 /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboy@oldboy ~]$ sudo su - root
上一次登录:日 630 22:28:53 CST 203010.0.0.1pts/1 上
[root@oldboy ~]# whoami
root

生产管理方法;给用户设置具体的命令。

oldboy  ALL =(ALL)            /usr/sbin/useradd,/usr/sbin/userdel     ##执行命令 越小越具体越好。

#设置粒度,最小是一个命令,允许他执行这个命令时拥有root权限。

[oldboy@oldboy ~]$ rm -fr /root
rm: 无法删除"/root": 权限不够
[oldboy@oldboy ~]$ sudo rm -fr /root
对不起,用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/rm -fr /root。
[oldboy@oldboy ~]$ rm -fr /root
rm: 无法删除"/root": 权限不够
[oldboy@oldboy ~]$ sudo userdel bingbing
[oldboy@oldboy ~]$ grep bing /etc/passwd
[oldboy@oldboy ~]$ sudo useradd bingbing
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[oldboy@oldboy ~]$ grep bing /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboy@oldboy ~]$ ls /root
ls: 无法打开目录/root: 权限不够
[oldboy@oldboy ~]$ sudo ls /root
对不起,用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/ls /root。
[oldboy@oldboy ~]$ 

sudo优点
1)不是root用户,还是自己。

2)指定命令拥有root权限,可以完成管理员分配的任务。

3)不需要root密码。

查看用户信息命令

	idwhoamiwhow

查看用户日志

last
lastlog
/var/log/secure 远程登录安全日志

更改文件属性:

更改用户所属用户和组:chown #change owner

更改用户组:chgrp #change group

chown 用户.用户组 文件 #.可以用;替代 更改用户和组

chown 用户 文件 #更改用户

chown .用户组 文件 #更改用户组,等价:chagrp 用户组 文件

前提:用户和组必须要存在。

练习:

[root@oldboy ~]# touch test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 71 01:51 test.txt
[root@oldboy ~]# chown oldboy.oldboy test.txt #更改用户和组为oldboy
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 oldboy oldboy 184 71 01:51 test.txt
[root@oldboy ~]# chown root test.txt #更改用户为root
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 71 01:51 test.txt
[root@oldboy ~]# chown .root test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 71 01:51 test.txt
[root@oldboy ~]# chgrp oldboy test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 71 01:51 test.txt

-R参数 递归更改

练习:

[root@oldboy ~]# mkdir abc
[root@oldboy ~]# touch abc/{1..3}
[root@oldboy ~]# ls -ld ab
abc/    ab.txt  
[root@oldboy ~]# ls -ld abc
drwxr-xr-x. 2 root root 33 71 01:54 abc
[root@oldboy ~]# ls -l abc
总用量 0
-rw-r--r--. 1 root root 0 71 01:54 1
-rw-r--r--. 1 root root 0 71 01:54 2
-rw-r--r--. 1 root root 0 71 01:54 3
[root@oldboy ~]# chown -R oldboy abc/
[root@oldboy ~]# ls -l abc
总用量 0
-rw-r--r--. 1 oldboy root 0 71 01:54 1
-rw-r--r--. 1 oldboy root 0 71 01:54 2
-rw-r--r--. 1 oldboy root 0 71 01:54 3

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

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

相关文章

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(一)

在我们开始探索人工智能的世界时&#xff0c;了解如何与之有效沉浸交流是至关重要的。想象一下&#xff0c;你手中有一把钥匙&#xff0c;可以解锁与OpenAI的GPT模型沟通的无限可能。这把钥匙就是——正确的提示词&#xff08;prompts&#xff09;。无论你是AI领域的新手&#…

JS 笔记 --持续更新

this 指向调用 this 是执行上下文中的一个属性&#xff0c;它指向最后一次调用这个方法的对象。 Function.apply(obj,args)方法能接收两个参数 obj&#xff1a;这个对象将代替Function类里this对象 args&#xff1a;这个是数组&#xff0c;它将作为参数传给Function&#xff08…

SpringCloud全家桶---常用微服务组件(1)

注册中心: *作用: 服务管理 Eureka(不推荐)[读音: 优瑞卡] Nacos(推荐) Zookeeper [读音: 如k波] Consul [读音:康寿] **注册中心的核心功能原理(nacos)** 服务注册: 当服务启动时,会通过rest接口请求的方式向Nacos注册自己的服务 服务心跳: NacosClient 会维护一个定时心跳持…

Sora背后的论文(1):使用 lstms 对视频展现进行无监督学习

之前那篇《Sora背后的32篇论文》发出后&#xff0c;大家都觉得不错&#xff0c;有很多小伙伴都开始啃论文了。 那么我就趁热打铁&#xff0c;把这32篇论文的通俗解读版贴一下。 从去年开始&#xff0c;我基本上形成了一个思维方式&#xff0c;任何事情做之前先看看 有没有好的…

个人博客系列-环境配置-gitee(2)

注册gitee账户 地址&#xff1a;https://gitee.com/ 此步骤省略 新建仓库 执行以下命令 即可 拉取代码 创建目录 mkdir myCode && cd myCode 登录gitee找到项目&#xff0c;点击克隆&#xff0c;拉取代码 连接远程仓库命令 git remote add origin 仓库地址http…

MariaDB落幕和思考

听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发&#xff0c;他早前曾以10亿美元的价格&#xff0c;将自己创建的公司MySQL AB卖给了SUN&#xff0c;此后&#xff0c;随着SUN被甲骨文收购&#xff0c;MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心…

创建型设计模式 - 原型设计模式 - JAVA

原型设计模式 一 .简介二. 案例三. 补充知识 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一 .简介 原型模式提供了一种机制&#xff0c;可以将原始对象复制到新对象&#xff0…

[TCP] TCP/IP 基础知识词典(2)

我想统计一下&#xff0c;TCP/IP 尤其是TCP协议&#xff0c;能搜到的常见的问题&#xff0c;整理起来&#xff0c;关键词添加在目录中&#xff0c;便于以后查阅。 目前预计整理共3篇&#xff1a; [TCP] TCP/IP 基础知识问答 &#xff1a;基础知识 [TCP] TCP/IP 基础知识问答&…

游戏平台如何定制开发?

随着科技的飞速发展和互联网的普及&#xff0c;游戏平台已成为人们休闲娱乐的重要选择。为了满足用户多样化的需求&#xff0c;游戏平台的定制开发显得尤为重要。本文将探讨游戏平台定制开发的过程、关键要素以及注意事项&#xff0c;为有志于涉足此领域的开发者提供参考。 一、…

python opencv绘制图像轮廓

目录 一:查找绘制轮廓 二:计算图像的矩特征 三:计算Hu矩

ApexRBp在线粒子传感器在电动汽车电池制造的应用

电动汽车电池的崛起与颗粒污染的挑战 随着电动汽车&#xff08;EV&#xff09;市场的迅速扩张&#xff0c;对高性能锂离子电池的需求也急剧增加。这些电池不仅是EV的心脏&#xff0c;更是推动其前行的核心动力。然而&#xff0c;在电池制造的每一个环节&#xff0c;都需要对多…

【Python笔记-设计模式】适配器模式

一、说明 适配器模式是一种结构型模式&#xff0c;它使接口不兼容的对象能够相互合作 (一) 解决问题 主要解决接口不兼容问题 (二) 使用场景 当系统需要使用现有的类&#xff0c;但类的接口不符合需求时当需要一个统一的输出接口&#xff0c;但输入类型不可预知时当需要创…

查询数据库的编码集Oracle,MySQL

1、查询数据库的编码集Oracle,MySQL 1.1、oracle select * from v$nls_parameters where parameterNLS_CHARACTERSET; 查询版本&#xff1a;SELECT * FROM v$version 2、MySQL编码集 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SC…

【了解机器学习的定义与发展历程】

曾梦想执剑走天涯&#xff0c;我是程序猿【AK】 目录 简述概要知识图谱 简述概要 了解机器学习的定义与发展历程 知识图谱 机器学习&#xff08;Machine Learning&#xff0c;ML&#xff09;是一门跨学科的学科&#xff0c;它使用计算机模拟或实现人类学习行为&#xff0c;通…

路由器的端口映射如何设置?

路由器的端口映射设置是网络连接中常用的配置功能&#xff0c;通过将外部网络访问请求映射到内部设备&#xff0c;实现局域网内设备的远程访问。本文将介绍如何进行路由器的端口映射设置&#xff0c;并以【天联】组网产品为例进行说明。 【天联】组网产品介绍 【天联】组网是一…

css3d制作正方体

使用css3d技术 &#xff0c;制作一个可以动态动画的正方体模型 效果图&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><style>/* 设置高度宽度100%并且左右居中、上下居中 */html,body {width: 100%;height: 100%;display: flex…

RENISHAW雷尼绍双读数头系统应用分享

在精密回转运动控制中&#xff0c;大多数场合都会对系统的回转定位精度有严格的要求&#xff0c;RENISHAW雷尼绍圆光栅系统&#xff08;RESM增量和RESA绝对值&#xff09;对于回转角度的反馈测量方案能有效的解决运动控制对回转精度的需求。但是配置单个读数头的圆光栅系统的精…

C#最优队列最小堆小顶堆大顶堆小根堆大根堆PriorityQueue的使用

最优队列有多种叫法&#xff0c;什么小根堆&#xff0c;大根堆&#xff0c;小顶堆&#xff0c;大顶堆。 队列分多种&#xff0c;线性队列&#xff08;简单队列&#xff09;&#xff0c;循环队列&#xff0c;最优队列等等。 最优队列&#xff0c;可以看作堆叠箱子&#xff0c;…

3分钟看懂设计模式01:策略模式

一、什么是策略模式 定义一些列算法类&#xff0c;将每一个算法封装起来&#xff0c;并让它们可以互相替换。 策略模式让算法独立于使用它的客户而变化&#xff0c;是一种对象行为型模式。 以上是策略模式的一般定义&#xff0c;属于是课本内容。 在没有真正理解策略模式之…

简单几步通过DD工具把云服务器系统Linux改为windows

简单几部通过DD安装其他系统&#xff0c;当服务器的web控制台没有我们要装的系统&#xff0c;就需要通过DD&#xff08;Linux磁盘&#xff09;工具来更改系统&#xff0c;&#xff08;已知支持KVM系统&#xff09; 本文如何简单的更换系统&#xff0c;不通过web控制台来更换&a…