【BASH】回顾与知识点梳理(二十六)
【BASH】回顾与知识点梳理 二十六
- 二十六. 二十一至二十五章知识点总结及练习
- 26.1 总结
- 26.2 模拟
- 26.3 简答题
该系列目录 --> 【BASH】回顾与知识点梳理(目录)
二十六. 二十一至二十五章知识点总结及练习
26.1 总结
- Linux 操作系统上面,关于账号与群组,其实记录的是 UID/GID 的数字而已;
- 使用者的账号/群组与 UID/GID 的对应,参考 /etc/passwd 及 /etc/group 两个文件
- /etc/passwd 文件结构以冒号隔开,共分为七个字段,分别是『
账号名称、密码、UID、GID、全名(注释)、家目录、shell』 - UID 只有 0 与非为 0 两种,0为root,非为 0 则为一般账号。一般账号又分为系统账号 (1~999) 及可登入者账号(大于 1000)
- 账号的密码已经移动到 /etc/shadow 文件中,该文件权限为仅有 root 可以更动。该文件分为九个字段,内容为『
账号名称、加密密码、密码更动日期、密码最小可变动日期、密码最大需变动日期、密码过期前警告日数、密码失效天数、账号失效日、保留未使用』 - 使用者可以支持多个群组,其中在新建文件时会影响新文件群组者,为
有效群组。而写入 /etc/passwd 的第四个字段者, 称为初始群组。 - 与使用者建立、更改参数、删除有关的指令为:useradd, usermod, userdel 等,密码建立则为 passwd;
- 与群组建立、修改、删除有关的指令为:groupadd, groupmod, groupdel 等;
- 群组的观察与有效群组的切换分别为:groups 及 newgrp 指令;
- useradd 指令作用参考的文件有: /etc/default/useradd, /etc/login.defs, /etc/skel/ 等等
- 观察用户详细的密码参数,可以使用『 chage -l 账号 』来处理;
- 用户自行修改参数的指令有: chsh, chfn 等,观察指令则有: id, finger 等
- ACL 的功能需要文件系统有支持,CentOS 7 预设的 XFS 确实有支持 ACL 功能!
- ACL 可进行单一个人或群组的权限管理,但 ACL 的启动需要有文件系统的支持;
- ACL 的设定可使用 setfacl ,查阅则使用 getfacl ;
- 身份切换可使用 su ,亦可使用 sudo ,但使用 sudo 者,必须先以 visudo 设定可使用的指令;
- PAM 模块可进行某些程序的验证程序!与 PAM 模块有关的配置文件位于
/etc/pam.d/*及/etc/security/* - 系统上面账号登入情况的查询,可使用 w, who, last, lastlog 等;
- 在线与使用者交谈可使用 write, wall,脱机状态下可使用 mail 传送邮件!
26.2 模拟
情境模拟题一:想将本服务器的账号分开管理,分为单纯邮件使用,与可登入系统账号两种。其中若为纯邮件账号时, 将该账号加入 mail 为初始群组,且此账号不可使用 bash 等 shell 登入系统。若为可登入账号时, 将该账号加入 youcan 这个次要群组。
- 目标:了解 /sbin/nologin 的用途;
- 前提:可自行观察使用者是否已经建立等问题;
- 需求:需已了解 useradd, groupadd 等指令的用法;
解决方案如下:
- 预先察看一下两个群组是否存在?
[root@study ~]# grep mail /etc/group
[root@study ~]# grep youcan /etc/group
[root@study ~]# groupadd youcan
- 开始建立三个邮件账号,此账号名称为 pop1, pop2, pop3 ,且密码与账号相同。可使用如下的程序来处理:
[root@study ~]# vim popuser.sh
#!/bin/bash
for username in pop1 pop2 pop3
do
useradd -g mail -s /sbin/nologin -M $username
echo $username | passwd --stdin $username
done
[root@study ~]# sh popuser.sh
- 开始建立一般账号,只是这些一般账号必须要能够登入,并且需要使用次要群组的支持!所以:
[root@study ~]# vim loginuser.sh
#!/bin/bash
for username in youlog1 youlog2 youlog3
do
useradd -G youcan -s /bin/bash -m $username
echo $username | passwd --stdin $username
done
[root@study ~]# sh loginuser.s
- 这样就将账号分开管理了!非常简单吧!
26.3 简答题
-
root 的 UID 与 GID 是多少?而基于这个理由,我要让 test 这个账号具有 root 的权限,应该怎么作?
/etc/passwd root:x:0:0... test:x:0:0...理论上:root 的 UID 与 GID 均为 0 ,所以要让 test 变成 root 的权限,那么就将 /etc/passwd 里面, test 的 UID 与 GID 字段变成 0 即可!
实际上:别这么搞! -
假设我是一个系统管理员,我有一个用户最近不乖,所以我想暂时将他的账号停掉, 让他近期无法进行任何动作,等到未来他乖一点之后,我再将他的账号启用,请问:我可以怎么作比较好??
passwd -l yurq由于这个账号是暂时失效的,所以不能使用 userdel 来删除,否则很麻烦!那么应该如何设定呢?再回去瞧一瞧 /etc/shadow 的架构,可以知道有这几个可使用的方法:
- 将 /etc/passwd 的 shell 字段写成 /sbin/nologin ,即可让该账号暂时无法登入主机;
- 将 /etc/shadow 内的密码字段,增加一个 * 号在最前面,这样该账号亦无法登入!
- 将 /etc/shadow 的第八个字段关于账号取消日期的那个,设定小于目前日期的数字,那么他就无法登入系统了!
-
我在使用 useradd 的时候,新增的账号里面的 UID, GID 还有其他相关的密码控制,都是在哪几个文件里面设定的?
在 /etc/login.defs 还有 /etc/default/useradd 里面规定好的!UID:/etc/passwd,/etc/shadowGID:/etc/group,/etc/gshadow -
我希望我在设定每个账号的时候( 使用 useradd ),预设情况中,他们的家目录就含有一个名称为 www 的子目录,我应该怎么作比较好?
mkdir /etc/skel/WWW -
简单说明系统账号与一般用户账号的差别?
系统账号的shell一般都是/sbin/nologin,无法登录,没有家目录,一般而言,为了让系统能够顺利以较小的权限运作,UID一般再1~999之间 -
简单说明,为何 CentOS 建立使用者时,他会主动的帮使用者建立一个群组,而不是使用 /etc/default/useradd 的设定?
不同的 linux distributions 对于使用者 group 的建立机制并不相同。主要的机制分为:- Public group schemes: 用户将会直接给予一个系统指定的群组,一般来说即是 users , 可以 SuSE Server 9 为代表;
- Private group schemes: 系统会建立一个与账号一样的组名!以 CentOS 7.x 为例!
-
如何建立一个使用者名称 alex, 他所属群组为 alexgroup, 预计使用 csh, 他的全名为 “Alex Tsai”, 且他还得要加入 users 群组当中!
[root@node-135 ~]# useradd -s /bin/csh -g alexgroup -G users -c "Alex Tsai" alex1 -
由于种种因素,导致你的用户家目录以后都需要被放置到 /account 这个目录下。 请问,我该如何作,可以让使用 useradd 时,默认的家目录就指向 /account ?
最简单的方法,编辑 /etc/default/useradd ,将里头的 HOME=/home 改成 HOME=/account 即可。 -
我想要让 dmtsai 这个使用者,加入 vbird1, vbird2, vbird3 这三个群组,且不影响 dmtsai 原本已经支持的次要群组时,该如何动作?
usermod -a -G vbird1,vbird2,vbird3 dmtsai
该系列目录 --> 【BASH】回顾与知识点梳理(目录)
相关文章:
【BASH】回顾与知识点梳理(二十六)
【BASH】回顾与知识点梳理 二十六 二十六. 二十一至二十五章知识点总结及练习26.1 总结26.2 模拟26.3 简答题 该系列目录 --> 【BASH】回顾与知识点梳理(目录) 二十六. 二十一至二十五章知识点总结及练习 26.1 总结 Linux 操作系统上面,…...
React下载文件的两种方式
React下载文件的两种方式 - 代码先锋网 不知道有用没用看着挺整齐 没试过 1、GET类型下载 download url > {const eleLink document.createElement(a);eleLink.style.display none;// eleLink.target "_blank"eleLink.href url;// eleLink.href record;d…...
python入门知识:分支结构
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 1.内容导图 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python资料、视频教程、代码、插件安装教程等我都准备好了,直接在文末名片自…...
DNS协议及其工作原理
DNS是域名系统(Domain Name System)的缩写,它是一种用于将域名转换为IP地址的分布式数据库系统。它是因特网的基石,能够使人们通过域名方便地访问互联网,而无需记住复杂的IP地址。 DNS的历史可以追溯到1983年…...
调用被fishhook的原函数
OC类如果通过runtime被hook了,可以通过逆序遍历方法列表的方式调用原方法。 那系统库的C函数被fish hook了该怎么办呢? 原理和OC类异曲同工,即通过系统函数dlopen()获取动态库,以动态库为参数通过系统函数dlsym()即可获取目标系统…...
java语言B/S架构云HIS医院信息系统源码【springboot】
医院云HIS全称为基于云计算的医疗卫生信息系统( Cloud- Based Healthcare Information System),是运用云计算、大数据、物联网等新兴信息技术,按照现代医疗卫生管理要求,在一定区域范围内以数字化形式提供医疗卫生行业数据收集、存储、传递、…...
go文件基本操作
一、文件读操作 文件内容如下: 水陆草木之花,可爱者甚蕃。 晋陶渊明独爱菊。自李唐来,世人甚爱牡丹。 予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植…...
每日一学——应用层
以下是一份关于应用层协议的学习资料: DNS (Domain Name System):DNS是互联网上最常用的应用层协议之一,它将域名转换为对应的IP地址。你可以了解DNS的工作原理、域名解析过程和常见的DNS记录类型。 DHCP (Dynamic Host Configuration Proto…...
blender的快捷键记录
按键作用备注R旋转物体移动、旋转或缩放物体时,按下X、Y或Z键:按X、Y或Z轴方向移动、旋转或缩放S缩放物体G移动物体TAB键切换为编辑模式CTRL A弹出应用菜单物体模式旋转缩放后应用旋转与缩放,再进入编辑模式SHIFT 鼠标右键移动游标位置SHIF…...
3D- vista:预训练的3D视觉和文本对齐Transformer
论文:https://arxiv.org/abs/2308.04352 代码: GitHub - 3d-vista/3D-VisTA: Official implementation of ICCV 2023 paper "3D-VisTA: Pre-trained Transformer for 3D Vision and Text Alignment" 摘要 三维视觉语言基础(3D- vl)是一个新兴领域&…...
SAP ABAP 直接把内表转换成PDF格式(smartform的打印函数输出OTF格式数据)
直接上代码: REPORT zcycle055.DATA: lt_tab TYPE TABLE OF zpps001. DATA: ls_tab TYPE zpps001.ls_tab-werks 1001. ls_tab-gamng 150.00. ls_tab-gstrp 20201202. ls_tab-aufnr 000010000246. ls_tab-auart 标准生产. ls_tab-gltrp 20201205. ls_tab-matn…...
侯捷 C++ part2 兼谈对象模型笔记——7 reference、const、new/delete
7 reference、const、new/delete 7.1 reference x 是整数,占4字节;p 是指针占4字节(32位);r 代表x,那么r也是整数,占4字节 int x 0; int* p &x; // 地址和指针是互通的 int& r x;…...
C++学习笔记总结练习:primer 学习日志
文章目录 针对自己的引言学习内容c语言基础知识1.为什么要声明变量2.cout ,cin3.c 不容许一个函数定义嵌套到另一个函数的定义中。4.编译指令using5.c基本类型长度6.在定义常量时尽可能使用const 关键字而不用#define9.前缀递增符与后缀递增符的区别10.c中的cctype库11.c 中的s…...
发布一个开源的新闻api(整理后就开源)
目录 说明: 基础说明 其他说明: 通用接口: 登录: 注册: 更改密码(需要token) 更换头像(需要token) 获取用户列表(需要token): 上传文件(5000端口): 获取文件(5000端口)源码文件,db文件均不能获取: 验证token(需要token): 获取系统时间: 文件…...
3d max省时插件CG MAGIC功能中的材质参数可一键优化!
渲染的最终结果就是为了让渲染效果更加真实的体现。 对于一些操作上,可能还是费些时间,VRay可以说是在给材质做加法的路上越走越远,透明度、凹凸、反射等等参数细节越做越多。 对于材质参数调节的重要性大家都心里有数的。 VRay材质系统的每…...
什么是变量提升(hoisting)?它在JavaScript中是如何工作的?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 变量提升(Hoisting)⭐ 变量提升的示例:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&…...
.git内存清理方式
查看前15个大文件 git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -15 | awk {print$1})"删除文件夹(public/housimg文件夹目录) git filter-branch --tree-filter rm -rf publ…...
i.MX6ULL开发板无法进入NFS挂载文件系统的解决办法
问题 使用NFS网络挂载文件系统后卡住无法进入系统。 解决办法 此处不详细讲述NFS安装流程 查看板卡挂载在/home/etc/rc.init下的自启动程序 进入到../../home/etc目录下,查看rc.init文件,首先从第一行排查,查看/home/etc/netcfg文件代码内容&…...
七夕特辑——3D爱心(可监听鼠标移动)
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄ÿ…...
C++函数模板和类模板
C另一种编程思想称为泛型编程,主要利用的技术是模板 C提供两种模板机制:函数模板和类模板 C提供了模板(template)编程的概念。所谓模板,实际上是建立一个通用函数或类, 其类内部的类型和函数的形参类型不具体指定, 用…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...
使用ch340继电器完成随机断电测试
前言 如图所示是市面上常见的OTA压测继电器,通过ch340串口模块完成对继电器的分路控制,这里我编写了一个脚本方便对4路继电器的控制,可以设置开启时间,关闭时间,复位等功能 软件界面 在设备管理器查看串口号后&…...
