3-Linux系统权限管理、vim|vi编辑文件的快捷方式
内容概述
- 1)操作系统用户管理知识
- · 操作系统用户分类说明
- · 用户相关重要文件目录
- · 用户管理相关命令总结
- 2)操作系统数据权限知识
- · 权限作用功能介绍
- · 权限设置命令使用
- · 系统权限计算方式
- · 系统用户提权操作
- · 系统特殊权限功能
- 3)vim|vi编辑文件的快捷方式
操作系统用户管理知识
- Linux系统是一个多用户管理操作系统,并且多个用户可以同时管理操作系统
操作系统用户分类说明
- 超级管理员用户 root uid=0 属于无敌存在,不受任何限制
- 普通用户 uid=1000+ 只能在家目录中不受限制,其他目录信息默认只能查看
- 虚拟用户 nobody uid=1~999 没有家目录,不能登录系统,用于管理系统服务进程
用户相关重要文件目录
- /etc/passwd --- 记录系统所有用户信息
- /etc/shadow --- 记录系统用户密码信息 是密文密码信息
- /etc/group --- 记录系统所有用户组信息
- /etc/gshadow --- 记录系统所有用户组密码信息
- /etc/skel/ --- 普通用户家目录样板房,创建出的新用户目录和这里的一致
用户管理相关命令总结
useradd --- 创建新的用户信息
- -u --- 设置创建用户默认id数值
- -M --- 不创建家目录出来
- -s --- 设置用户登录系统方式
- /bin/bash 可以登录
- /sbin/nologin 不能登录
- -g --- 设置用户所属主要组
- oldboy用户诞生--oldboy家族
- -G --- 设置用户所属附属组
- oldboy用户诞生--oldboy家族 oldboy用户诞生--oldgirl
- -c --- 给用户添加注释信息
- eg01:创建一个uid是666用户出来 所属主要组是oldboy 附属组是oldgirl 用户名称pythonuser
- useradd -u 666 -g oldboy -G oldgirl pythonuser
- eg02:创建一个虚拟用户出来 虚拟用户uid 888 pyuser (没有家目录就是虚拟用户)
- useradd -u 888 -M -s /sbin/nologin pyuser
usermod --- 修改用户相应信息
- -u --- 修改创建用户默认id数值
- -s --- 修改用户登录系统方式
- /bin/bash 可以登录
- /sbin/nologin 不能登陆
- -g --- 修改用户所属主要组
- -G --- 修改用户所属附属组
- -c --- 修改用户添加注释信息
userdel --- 删除用户相关信息
- -r --- 将用户所有信息彻底删除
groupadd --- 创建指定用户组信息
- 直接使用命令创建组
groupdel --- 删除指定用户组信息
- 直接使用命令删除组
passwd --- 设置或修改用户密码信息
- 交互方式设置密码:
- passwd oldboy
- 免交互方式设置密码:
- echo 123456|passwd --stdin oldboy ( | 管道,将前边的流水线的结果交给后一个流水线执行)
- 问题:如何免交互批量创建用户oldboy01..oldboy10,并设置随机用户密码?
chown --- 进行属主和属组修改
- -R --- 递归修改目录与子目录下面所有数据属主和属组信息
- eg01:修改目录或文件属主和属组信息
- chown oldboy.oldboy (前边是属主,后边是属组)数据文件
- eg02:将目录下所有数据信息进行全部调整
- chown -R oldboy.oldboy 目录信息
- eg01:修改目录或文件属主和属组信息
id --- 查看系统用户属组和id数值信息
- id 666 查看用户是否存在
- id oldgirl 查看用户是否存在
su --- 用户切换命令
- su - 用户信息
操作系统数据权限知识
权限作用功能介绍
- 对于数据文件而言:
- r : 可以查看文件信息内容
- w : 可以编辑文件信息内容
- x :可以让文件脚本可以运行
- PS:对于文件而言r权限是最重要,其他权限想正常使用,必须结合读权限进行使用 rw rx
- 如果对于root,只要有执行权限即可,其他权限没有,也可以任意操作数据
- 对于数据目录而言:
- r :可以看目录下有什么数据信息
- w :可以在目录中创建 删除 重命名指定数据信息
- x :目录是否可以切换进入 (把门都堵上了,什么进不去)
- PS: 对于目录而言x权限是最重要,其他权限想正常使用,必须结合执行权限进行使用 rx wx
- 如果对于root,就算目录没有任何权限,root用户也可以随意操作目录
权限设置命令使用
- 给指定用户设置权限:
- chmod u+/-/=r|w|x --- 给属主用户添加/删除/设置指定权限
- chmod g+/-/=r|w|x --- 给属组用户添加/删除/设置指定权限
- chmod o+/-/=r|w|x --- 给其他用户添加/删除/设置指定权限
- 实现批量全局设置权限:
- chmod a+/-/=r|w|x --- 属主 属组 其他用户统一设置权限
- chmod 750 数据信息 --- 更灵活设置目录或文件权限
- 实现递归设置目录下所有数据权限
- chmod -R 750 目录信息 --- 很少这样设置
系统权限计算方式
- 系统文件权限计算方式:
- 666 - umask数值 = 文件默认权限
- 666 - 022 = 644 --- 文件默认权限
- 666 - 033 = 631)(+3)(+1) = 644
- 系统目录权限计算方式:
- 777 - umask数值 = 文件默认权限
- 777 - 022 = 755 --- 文件默认权限
- 777 - 033 = 744
- 默认umask数值配置信息:
- cat /etc/profile 可以通过设置该文件的下属代码来改变umask值
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi
系统用户提权操作
作用介绍:想让指定用户,可以具有root用户部分权限。
如何给用户提权
- 第一个里程:编写用户提权配置文件:执行命令visudo 92gg第92行
- oldboy ALL=(ALL) /bin/cat /etc/shadow --- 对指定命令提权配置
- oldboy ALL=(ALL) /bin/cat /etc/shadow, /usr/sbin/useradd --- 对指定多个命令提权配置
- oldboy ALL=(ALL) /bin/*, /usr/sbin/*, !/user/sbin/userdel --- 对指定权限进行回收操作
- oldboy ALL=(ALL) NOPASSWD: /bin/*, /usr/sbin/* --- 表示免密码提权操作系统
- 第二个里程:检查是否已经提权成功
- sudo -l --- 检查确认是否已经提权配置好
- 第三个里程:进行提权操作测试
- sudo cat /etc/shadow
系统特殊权限功能
系统中有哪些权限:系统总共有12位权限 分别对应: r w x *3 setuid setgid 粘滞位
- setuid 介绍:让普通用户可以具有命令文件属主操作命令的能力
- chmod u+s(4) 命令文件信息
- [root@nfs01 ~ 10:51:27]# chmod u+s /bin/cat
- [root@nfs01 ~ 10:51:49]# ll /bin/cat
- -rwsr-xr-x. 1 root root 54080 Apr 11 2018 /bin/cat
- setgid 介绍:让普通用户组可以具有命令文件属组操作命令的能力
- chmod g+s(2) 命令文件信息
- 粘滞位 介绍:用于创建共享目录,并且共享目录中数据只能被数据属主用户进行管理,其他用户只能进行查看
- [root@nfs01 ~ 11:00:33]# chmod o+t /dev_share/
- [root@nfs01 ~ 11:03:45]# ll /dev_share/ -d
- drwxrwxrwt 2 root root 43 Aug 12 11:01 /dev_share/
用户管理权限知识总结
- 用户管理操作收到制约:
- 1)可以实现用户切换操作 su - root
- 2)可以修改数据目录权限 chmod chown
- 3)可以进行用户提权操作 sudo
- 4)可以设置命令特殊权限 setuid 粘滞位
- 5)需要关注服务里面配置 用户上传数据被拒绝
vim|vi 文本输入进行快速操作时,可以应用一些快捷方式
- gg --- 将光标移动到文件第一行
- G --- 将光标移动到文件最后一行
- 66gg/66G --- 将光标快速移动到指定行
- 0|^ --- 将光标快速移动到一行行首
- $ --- 将光标快速移动到一行行尾
- yy --- 复制指定行内容 nyy 复制多行
- p --- 粘贴指定行内容 np 粘贴多次
- dd --- 删除指定行信息 ndd 删除多行
- set nu --- 查看行号