当前位置: 首页 > news >正文

day17-权限管理

01.知识点回顾

01.批量创建用户
批量创建用户:
awk
useradd test01;echo oldboy123.com|passwd --stdin test01
useradd test02;echo oldboy123.com|passwd --stdin test02
useradd test03;echo oldboy123.com|passwd --stdin test03拼接的过程:
[root@oldboy:~]# echo old{1..3}|xargs -n1
old1
old2
old3[root@oldboy:~]# echo old{1..3}|xargs -n1|awk '{print $1}'
old1
old2
old3[root@oldboy:~]# echo old{1..3}|xargs -n1|awk '{print "useradd "$1}'
useradd old1
useradd old2
useradd old3[root@oldboy:~]# echo old{1..3}|xargs -n1|awk '{print "useradd "$1";echo oldboy123.com|passwd --stdin "$1}'
useradd old1;echo oldboy123.com|passwd --stdin old1
useradd old2;echo oldboy123.com|passwd --stdin old2
useradd old3;echo oldboy123.com|passwd --stdin old3
[root@oldboy:~]# echo old{1..3}|xargs -n1
old1
old2
old3
[root@oldboy:~]# echo old{1..3}|xargs -n1|awk '{print "useradd "$1";echo oldboy123.com|passwd --stdin "$1}'|bash
Changing password for user old1.
passwd: all authentication tokens updated successfully.
Changing password for user old2.
passwd: all authentication tokens updated successfully.
Changing password for user old3.
passwd: all authentication tokens updated successfully.sed[root@oldboy:~]# echo old{1..3}|xargs -n1|sed -r 's#(.*)#useradd \1#g'
useradd old1
useradd old2
useradd old3[root@oldboy:~]# echo old{1..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo oldboy123.com|passwd --stdin \1#g'
useradd old1;echo oldboy123.com|passwd --stdin old1
useradd old2;echo oldboy123.com|passwd --stdin old2
useradd old3;echo oldboy123.com|passwd --stdin old3[root@oldboy:~]# echo old{1..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo oldboy123.com|passwd --stdin \1#g'|bash
Changing password for user old1.
passwd: all authentication tokens updated successfully.
Changing password for user old2.
passwd: all authentication tokens updated successfully.
Changing password for user old3.
passwd: all authentication tokens updated successfully.扩展: 随机的6位数密码 提示: 反引号
[root@oldboy:~]# echo $((RANDOM))|md5sum|cut -c1-6
09d2d3
[root@oldboy:~]# echo $((RANDOM))|md5sum|cut -c1-6
4189a4
[root@oldboy:~]# echo $((RANDOM))|md5sum|cut -c1-6
3f29b6[root@oldboy:~]# date +%N|md5sum|cut -c1-6
d580da
[root@oldboy:~]# date +%N|md5sum|cut -c1-6
c72455
[root@oldboy:~]# date +%N|md5sum|cut -c1-6
4654ec安装expect
[root@oldboy:~]# yum -y install expect
使用
[root@oldboy:~]# mkpasswd
T1iMgy&z4
[root@oldboy:~]# mkpasswd
-1Wi7Lbzt
02.权限管理
1.rwx 的含义
r   read    # 读取  less cat more
w   write   # 写入  vim  sed echo
x   execute # 可执行 命令
2.rwx 对应的数字
r   # 4
w   # 2
x   # 1
3.我对于某个文件拥有什么样的权限
问题: oldboy用户对于/etc/hosts文件拥有什么权限?
[oldboy@oldboy:~]$ ll /etc/hosts
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts1.我是谁
[oldboy@oldboy:~]$ ll /etc/hosts		# 说明登录用户是oldboy
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts
[oldboy@oldboy:~]$ whoami 			    # 查看当前登录用户
oldboy
2.我和文件的关系是什么和文件关系有三种:a.属主  文件的创建者 主人b.属组  属于哪个小组c.陌生人
3.通过位置找到和文件的对应关系
[oldboy@oldboy:~]$ ll /etc/hosts
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts
-----------
九位权限位 3位为一组
前三位: 属主
中三位: 属组
后三位: 陌生人的位置  默认普通用户不属于任何小组 只属于自己的小组内oldboy用户在在oldboy组内
4.修改权限
语法:chmod u+x 文件
前三位:  user   简称 u
中三位:  group  简称 g
后三位:  other  简称 o
案例:chmod u+x 1.txt  # 授权1.txt 属主拥有执行权限chmod u-x 1.txt  # 取消属主的x权限chmod o+w 1.txt  # 陌生人可以编写文件chmod g+w 1.txt  # 授权组内成员可以写授权多个位置:chmod ug+x 1.txt # 授权属组和属主执行权限chmod ugo+x 1.txt# 授权所有用户执行权限chmod a+x  1.txt # 授权所有用户执行权限chmod +x   1.txt # 授权所有用户执行权限chmod -x   1.txt # 取消所有用户的x权限先清空后赋值的方式:chmod u=x  1.txt # 清空属主的权限,然后赋值x权限chmod ugo=r 1.txt# 清空所有权限 只给每个位置只读权限chmo =x  1.txt   # 清空所有权限 只给每个位置执行权限[root@oldboy:~]# ll 1.txt
-rw-r--r-- 1 root root 36 Jul 18 09:05 1.txt
[root@oldboy:~]# chmod u+x 1.txt
[root@oldboy:~]# ll 1.txt
-rwxr--r-- 1 root root 36 Jul 18 09:05 1.txt[root@oldboy:~]# chmod o+w 1.txt
[root@oldboy:~]# ll 1.txt
-rwxr--rw- 1 root root 36 Jul 18 09:05 1.txt[root@oldboy:~]# chmod ugo-x 1.txt
[root@oldboy:~]# ll 1.txt
-rw-r--rw- 1 root root 36 Jul 18 09:05 1.txt
[root@oldboy:~]# chmod +x 1.txt
[root@oldboy:~]# ll 1.txt
-rwxr-xrwx 1 root root 36 Jul 18 09:05 1.txt[root@oldboy:~]# chmod -x 1.txt
[root@oldboy:~]# ll 1.txt
-rw-r--rw- 1 root root 36 Jul 18 09:05 1.txt[root@oldboy:~]# ll 1.txt
-rw-r--rw- 1 root root 36 Jul 18 09:05 1.txt
[root@oldboy:~]# chmod u=x 1.txt
[root@oldboy:~]# ll 1.txt
---xr--rw- 1 root root 36 Jul 18 09:05 1.txt[root@oldboy:~]# chmod ugo=r 1.txt
[root@oldboy:~]# ll 1.txt
-r--r--r-- 1 root root 36 Jul 18 09:05 1.txt
5.使用数字授权
重点掌握:
r  4
w  2
x  1
[root@oldboy:~]# ll 1.txt
-rw-r--r-- 1 root root 36 Jul 18 09:05 1.txt
当前的1.txt文件权限使用数字表示: 每3位的数字进行相加 644
r(4)w(2)- ======= 4+2+0 =6
r--       ======= 4+0+0 =4
r--       ======= 4+0+0 =4案例1.授权文件为rwxr-xr-x权限== 每三位相加等于755
[root@oldboy:~]# chmod 755 1.txt
[root@oldboy:~]# ll 1.txt
-rwxr-xr-x 1 root root 36 Jul 18 09:05 1.txt案例2.授权文件为rw-r--r--权限 644
[root@oldboy:~]# chmod 644 1.txt
[root@oldboy:~]# ll 1.txt
-rw-r--r-- 1 root root 36 Jul 18 09:05 1.txt案例3.授权文件权限为rw-------  600
[root@oldboy:~]# chmod 600 1.txt
[root@oldboy:~]# ll 1.txt
-rw------- 1 root root 36 Jul 18 09:05 1.txt
6.rwx 的含义
permission denied  # 找到出现权限拒绝的原因01.r权限的含义
环境准备: root用户
[root@oldboy:~]# mkdir /oldboy
[root@oldboy:~]# touch /oldboy/{1..3}.txt
[root@oldboy:~]# chown oldboy.oldboy /oldboy/{1..3}.txt
[root@oldboy:~]# ll -d /oldboy/
drwxr-xr-x 2 root root 45 Jul 18 09:56 /oldboy/
[root@oldboy:~]# ll  /oldboy/
total 0
-rw-r--r-- 1 oldboy oldboy 0 Jul 18 09:56 1.txt
-rw-r--r-- 1 oldboy oldboy 0 Jul 18 09:56 2.txt
-rw-r--r-- 1 oldboy oldboy 0 Jul 18 09:56 3.txt第一个窗口: root用户修改权限
[root@oldboy:~]#
[root@oldboy:~]#第二个窗口: oldboy用户 测试权限
[root@oldboy:~]# su - oldboy
Last login: Thu Jul 18 09:08:09 CST 2024 on pts/0
[oldboy@oldboy:~]$r权限对于文件的含义:
[root@oldboy:oldboy]# chmod u=r 1.txt
[root@oldboy:oldboy]# ll 1.txt
-r--r--r-- 1 oldboy oldboy 0 Jul 18 09:56 1.txt总结: r权限对于文件的作用 只读特殊: 虽然主人没有w权限但是可以强制wq!02.w权限的作用
[root@oldboy:oldboy]# chmod u=w 1.txt
[root@oldboy:oldboy]# ll 1.txt
--w-r--r-- 1 oldboy oldboy 7 Jul 18 10:02 1.txt总结w对于文件的作用: 只能用echo啥都不能干。03.x权限的作用
[root@oldboy:oldboy]# chmod u=x 1.txt
[root@oldboy:oldboy]# ll 1.txt
---xr--r-- 1 oldboy oldboy 17 Jul 18 10:07 1.txtx权限对于文件的作用: 啥都不能干总结:
对于文件来讲,最高权限是666
1.文件如果正常编辑必须得有 rw权限组合
2.文件如果可以执行必须得有r-x的组合
默认创建的文件:rw-r--r--  644# 能不能写入内容到文件中,主要是看文件的权限。rwx对于目录的作用
环境准备:
[root@oldboy:~]# ll -d /oldboy
drwxr-xr-x 2 root root 45 Jul 18 09:56 /oldboy
[root@oldboy:~]# chown oldboy.oldboy /oldboy
[root@oldboy:~]# ll -d /oldboy
drwxr-xr-x 2 oldboy oldboy 45 Jul 18 09:56 /oldboy测试r权限对于目录的作用:啥都不能干测试w权限对于目录的作用:啥都不能干
测试x权限对于目录的作用:可以进入目录其他啥都不能干
测试rw权限: 没用
测试wx权限: 没用总结: 目录的最高权限是: 777默认创建的目录的权限是: 755  # 只有管理员才可以创建 和删除文件 其他用户只能看rwx可以在目录下进行正删改查 创建 删除 移动  7权限r-x可以在目录下查看所有的文件  5 权限# 文件的其他权限位置没有r
[oldboy@lzy oldboy]$ cat /etc/shadow
cat: /etc/shadow: Permission denied#passwd文件其他权限位置没有w权限
[oldboy@lzy oldboy]$ echo '#' >> /etc/passwd
-bash: /etc/passwd: Permission denied#etc目录其他位置必须是rwx权限才可以创建文件
[oldboy@lzy oldboy]$ touch /etc/passwd.txt
touch: cannot touch ‘/etc/passwd.txt’: Permission denied#etc目录其他位置必须是rwx权限才可以删除文件  其他位置没有w权限
[oldboy@lzy oldboy]$ rm -rf /etc/shadow
rm: cannot remove ‘/etc/shadow’: Permission denied#因为root目录其他权限位置为空,必须得有r-x才可以查看
[oldboy@lzy oldboy]$ ls /root/
ls: cannot open directory /root/: Permission denie
7.umask
作用: 决定默认创建文件和目录的权限  了解不能瞎改。
默认创建目录: 755 rwxr-xr-x  root  root oldboy
默认创建文件: 644 rw-r--r--  root  root oldboy
通过默认的目录和文件的最高权限减去默认的umask值获得默认创建文件的权限
目录最高权限: 777
文件最高权限: 666
查看umask值:
[root@oldboy:~]# umask
0022
目录权限:777-022=755
文件权限:666-022=644测试umask
[root@oldboy:~]# umask 044
[root@oldboy:~]# umask
0044创建文件
[root@oldboy:~]# touch a.txt
[root@oldboy:~]# ll a.txt
-rw--w--w- 1 root root 0 Jul 18 11:21 a.txt创建目录
[root@oldboy:~]# mkdir b
[root@oldboy:~]# ll -d b
drwx-wx-wx 2 root root 6 Jul 18 11:21 b如果umask值为奇数,则文件创建完成后再奇数位置+1
umask 032
文件:666-032=634+010=644目录不需要加:777-032=745[root@oldboy:~]# umask 032
[root@oldboy:~]# touch a.txt
[root@oldboy:~]# mkdir b
[root@oldboy:~]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 18 11:24 a.txt
drwxr--r-x 2 root root 6 Jul 18 11:24 b
8.隐藏权限
a (append 只能追加)
i ( immutable 无敌)查看文件的隐藏权限: 默认文件没有隐藏权限
[root@oldboy:~]# lsattr a.txt
-------------------- a.txt授权a.txt隐藏权限a
[root@oldboy:~]# chattr +a a.txt
[root@oldboy:~]# lsattr a.txt
-----a-------------- a.txt[root@oldboy:~]# chattr -a a.txt
[root@oldboy:~]# lsattr a.txt
-------------------- a.txti无敌的啥都不可以,只能查看
[root@oldboy:~]# chattr +i a.txt
[root@oldboy:~]# lsattr a.txt
----i--------------- a.txt[root@oldboy:~]# lsattr /etc/passwd
----i--------------- /etc/passwd
[root@oldboy:~]# chattr -i /etc/passwd
[root@oldboy:~]# lsattr /etc/passwd
-------------------- /etc/passwd其他安全访问软件: waf软件
9.12 位权限之其他 3 位权限
[oldboy@oldboy:~]$ ll -d /etc
drwxr-xr-x 122 root root 8192 Jul 18 11:38 /etc
[oldboy@oldboy:~]$ #在oldboy用户删除/etc/a.txt
[oldboy@oldboy:~]$ #授权etc目录 其他权限位置 rwx权限
[oldboy@oldboy:~]$ #修改etc属主属组为oldboy
[oldboy@oldboy:~]$ #通过sudo提权oldboy执行rm的时候拥有root的权限suid  # 作用是给一个命令属主权限加s权限,则所有用户执行命令时候拥有属主的权限。
粘滞位 # 可以让用户自己管理自己的文件#所有用户可以在/tmp下创建文件,可以删除自己创建的文件,不可以删除其他人创建的文件。
[root@oldboy:~]# ll -d /tmp
drwxrwxrwt 7 root root 180 Jul 18 11:47 /tmp
10.知识点小结
重点:
1.当前登录用户和文件的关系,通过关系找到对应的权限。
[oldboy@oldboy:~]$ ll /etc/hosts
-rw-r--r-- 1 root root 158 Jun 23  2020 /etc/hosts2.rwx对应数字 4213.修改文件权限ugo方式chmod ugo+x filechmod ugo-x filechmod u=x filechmod -x filechmod a+x file数字授权chmod 644 filechmod 600 filechmod 755 file递归授权: -R[root@oldboy:~]# chmod -R 600 /code/[root@oldboy:~]# ll -d /code/drw------- 3 root root 79 Jul 17 11:59 /code/[root@oldboy:~]# ll /code/total 16-rw------- 1 root root 15 Jul 17 11:51 1.txt-rw------- 1 root root  2 Jul 17 11:38 2.txt-rw------- 1 root root 15 Jul 17 11:59 index.html-rw------- 1 root root 15 Jul 17 11:47 index.txtdrw------- 2 root root 32 Jul 17 11:51 test
注意:禁止 chmod -R 777 /code  # 业务代码4.rwx对于文件的含义r 可读w 不能干x 不能干rw表示可读写rx表示可执行rwx 表示可读写可执行 shell脚本才用,文件中必须是命令。
5.rwx对于目录的含义rwx可以进入到目录 创建 删除 改名等操作。rx 表示对目录下所有的文件可读
6.umask 了解
7.隐藏权限a  ilsattr 查看隐藏权限chattr 授权
8.suid  粘滞位 t  # 了解下次内容: 定时任务

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • IDEA左下角不显示本地修改的localChanges信息-git
  • Oracle认证1Z0-071线上考试注意事项
  • 关于keil程序无法进入main函数问题
  • 未来已来:全方位掌握【人工智能】的系统学习路线
  • 基于JSP的列车票务信息管理系统
  • sql常用语法总结
  • 【Mysql】第四章 数据类型(数值+字符串+日期+enum+set)
  • 决策树可解释性分析
  • 【wsl】wsl + vscode 中使用 typora 打开 markdown 文件
  • 简单搭建dns服务器
  • 浅学 Pytorch
  • C++协助完成返回值优化
  • 【python学习】Python中的 `json.dump` 和 `json.dumps` 的区别和用法解析
  • 深度学习入门(一):感知机与输入数据
  • 【吊打面试官系列-Elasticsearch面试题】详细描述一下 Elasticsearch 搜索的过程?
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 345-反转字符串中的元音字母
  • ES10 特性的完整指南
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • KMP算法及优化
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MYSQL 的 IF 函数
  • MySQL-事务管理(基础)
  • PHP变量
  • Vue2.x学习三:事件处理生命周期钩子
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 浅谈web中前端模板引擎的使用
  • Nginx实现动静分离
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #QT 笔记一
  • (55)MOS管专题--->(10)MOS管的封装
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (Oracle)SQL优化技巧(一):分页查询
  • (pycharm)安装python库函数Matplotlib步骤
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (算法)区间调度问题
  • (五)activiti-modeler 编辑器初步优化
  • (转)http-server应用
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)编辑寄语:因为爱心,所以美丽
  • .NET 8.0 中有哪些新的变化?
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net实现客户区延伸至至非客户区
  • ??javascript里的变量问题
  • @JsonSerialize注解的使用
  • @SuppressWarnings(unchecked)代码的作用
  • [ C++ ] 类和对象( 下 )
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [android学习笔记]学习jni编程
  • [BIZ] - 1.金融交易系统特点
  • [C][数据结构][树]详细讲解