00. 课程介绍部分
1) 常见面试题 (系统启动流程 服务开机自启方法)
2) 用户管理概念
3) 用户权限说明(*)
4) 企业中用户管理注意事项
课程知识回顾
1) awk命令概念说明
擅长取列 擅长统计分析日志
awk命令语法: awk [ 参数] '模式{动作}' 文件
awk执行原理: BEGIN{ } END{ }
2) awk实际解决了一些问题
awk匹配查询信息 == grep
~ ! ~ 指定列进行匹配
awk匹配替换信息
gsub( /要替换的信息/,"替换的内容" ,将第几列进行替换)
awk匹配删除信息
awk '!/oldboy/'
3) awk统计分析能力
累加运算: i= i+1 i++
求和运算: i= i+$n
01 求出测试文件中 所有人第一次捐款的总额和第三次捐款总额
显示表头
第一总额 第三次总额
xxx xxxx
awk -F ":" 'BEGIN{print "第一次总额","第三次总额"};/.*/{print $2 ,$4 }' awk_test.txt
[ root@oldboyedu ~]
第一次总额 第三次总额
2130 1661
常见面试题
01. 加电自检
检查服务器硬件是否正常
02. MBR引导
读取磁盘的MBR存储记录信息,引导系统启动
03. grup菜单
选择启动的内核/进行单用户模式重置密码
04. 加载系统内核信息
可以更好的使用内核控制硬件
05. 系统的第一个进程运行起来 init ( 串行)
init进程控制后续各种服务的启动: 启动顺序 网络服务 sshd
06. 加载系统运行级别文件/etc/inittab
07. 初始化脚本运行
初始化系统主机名称 和 网卡信息
08. 运行系统特殊的脚本
服务运行的脚本
09. 运行mingetty进程
显示开机登录信息界面
01. 加电自检
检查服务器硬件是否正常
02. MBR引导
读取磁盘的MBR存储记录信息,引导系统启动
03. grup菜单
选择启动的内核/进行单用户模式重置密码
04. 加载系统内核信息
可以更好的使用内核控制硬件
05. 系统的第一个进程运行起来 systemd ( 并行)
服务启动的时候,同时一起启动
06. 读取系统启动文件
/etc/systemd/system/default.target
07. 读取系统初始化文件
/usr/lib/systemd/system/sysinit.target
08. 使服务可以开机自启动
/etc/systemd/system 加载此目录中的信息,实现服务开机自动启动
09. 运行mingetty进程
显示开机登录信息界面
1. 用户管理章节
1.1 概念介绍
管理员用户 root 0 权利至高无上
虚拟用户 nobody 1-999 管理进程 没家目录 不能登录系统
普通用户 oldboy 1000+ 权利有限
r read
w write
x execute
1.2 文件信息
r 可以读文件的内容
w 可以编辑文件的内容
x 执行这个文件( 脚本文件)
touch oldboy_root.txt -- 属主是root
touch oldboy.txt -- 属主是oldboy
其他用户oldgirl
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rw-r--r--. 1 root root 0 Apr 23 10:02 oldboy_root.txt
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rw-r--r--. 1 root root 51 Apr 23 10:02 oldboy.txt
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rw-r--r--. 1 oldboy root 51 Apr 23 10:02 oldboy.txt
[ root@oldboyedu ~]
[ root@oldboyedu ~]
[ root@oldboyedu ~]
----------. 1 root root 0 Apr 23 10:02 oldboy_root.txt
[ root@oldboyedu ~]
----------. 1 oldboy root 51 Apr 23 10:02 oldboy.txt
01. root用户对所有文件有绝对的权限,只要有了执行权限,root用户可以无敌存在
02. 对于文件来说,写的权限和执行的权限,都需要有读权限配合
03. 如果想对文件进行操作,必须对文件赋予读的权限
1.3 目录信息
r 读目录中的文件属性信息
w 可以在目录中添加或删除文件数据信息
x 是否可以进入到目录中
[ oldboy@oldboyedu ~] $ ll /home/oldboy/oldboy_dir/文件
ls: cannot access oldboy_dir/oldboy.txt: Permission denied
total 0
-????????? ? ? ? ? ? oldboy.txt
/ inode ( 5 r_x) -- block ( home)
home inode ( 5 r_x) -- block ( oldboy)
oldboy inode ( 7 rwx) -- block ( oldboy_dir)
oldboy_dir inode ( 4 r--) -- block ( 目录中文件名称)
oldboy.txt inode
/oldboy/oldboy.txt
01. oldboy.txt 权限 rwx--xr-- 属主如何操作文件 其他用户可以如何操作这个文件
属主可以读写执行,而其他用户只能读
01. root用户对目录信息有绝对权限
02. 对于目录来说,写的权限和读的权限,都需要有执行权限配合
03. 如何想对目录进行操作,必须对目录赋予执行的权限
1.4 文件目录数据设置权限的方法: umask
1) 根据用户信息进行设定 ( 属主 属组 其他用户)
属主-user u
属组-group g
其他用户-other o
chmod u+r/w/x u-r/w/x u= rw
chmod g+r/w/x u-r/w/x u= rw
chmod o+r/w/x u-r/w/x u= rw
2) 根据用户进行批量设定
数值设定:
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rwxrw---x. 1 root root 0 Apr 23 11:42 oldboy.txt
字符设定:
[ root@oldboyedu ~]
[ root@oldboyedu ~]
---x--x--x. 1 root root 0 Apr 23 11:42 oldboy.txt
目录权限都是 755
文件权限都是 644
[ root@oldboyedu ~]
0022
默认文件权限: 666 - 022 = 644
umask数值是奇数 666 - 033 = 633 + 11 = 644
umask数值是偶数 666 - 022 = 644
默认目录权限: 777 - 022 = 755
umask数值是奇数 777 - 033 = 744
umask数值是偶数 777 - 022 = 755
vim /etc/profile
if [ $UID -gt 199 ] && [ "` /usr/bin/id -gn` " = "` /usr/bin/id -un` " ] ; then
umask 002
else
umask 022 --- 可以永久修改umask数值
fi
1.5 /etc/skel 目录介绍
[ root@oldboyedu ~]
total 24
drwxr-xr-x. 2 root root 62 Apr 11 2018 .
drwxr-xr-x. 81 root root 8192 Apr 23 12:11 ..
-rw-r--r--. 1 root root 18 Apr 11 2018 .bash_logout 当系统退出登录状态会执行的命令
-rw-r--r--. 1 root root 193 Apr 11 2018 .bash_profile 别名和环境变量( 只针对某个用户) 家规
-rw-r--r--. 1 root root 231 Apr 11 2018 .bashrc 别名和环境变量( 只针对某个用户) 家规
useradd oldgirl --> /home/oldgirl/ --> 家目录中的数据内容会参考/etc/skel目录中的信息
01. 目录中可以存储运维操作规范说明文件
02. 调整命令提示符信息
-bash-4.2$ ll /etc/hosts
-rw-r--r--. 2 root root 192 Apr 15 12:19 /etc/hosts
-bash-4.2$ cp /etc/skel/.b* /home/new01/
-bash-4.2$ exit
logout
[ root@oldboyedu ~]
[ root@oldboyedu ~]
Last login: Tue Apr 23 12:23:36 CST 2019 on pts/2
课程知识总结
1) 系统的开机流程 ( centos6 centos7)
2) 系统用户概念
a 用户的分类
b 用户的权限( 文件-权限 目录-权限)
读写数据原理
/ -- inode/block -- oldboy
c umask是什么? 控制文件或目录的默认权限
如何永久修改
3) 系统的特殊目录 /etc/skel ( 样板房)
课程知识回顾
1) 系统启动流程
1开机自检-2MBR引导???--3grub菜单( 内核 进入单用户模式) ---4加载内核
---> 5启动系统的第一个进程init/systemd---> 6自动加载系统运行级别
---> 7加载初始化脚本---> 8运行相应的自启动服务---> 9加载显示登陆界面进程
2) 系统用户管理
a 用户的分类
b 数据文件权限说明( rwx)
文件权限:( 更多关注一定要有read权限)
read 读文件内容的能力 ( 有了读文件block能力)
write 写文件内容的能力( 有了读文件block能力) 重命名文件???
execute 执行文件的能力( 脚本文件)
补充: 文件是否可以编辑查看,和上一级或上n级目录有关
读取文件数据原理 / oldboy/ oldboy01/ oldboy.txt
目录权限:( 更多关注一定要有执行权限)
read 读取目录下文件属性信息
write 可以在目录中创建或删除数据
execute 可以切换进入到目录中
3) 文件数据权限修改方法
chmod u/g/o + - = rwx --- 针对不同用户进行设置
chmod a + - = rwx --- 全部用户统一设置权限
chmod 644 xxx --- 全部用户统一设置权限( 更加灵活)
4) 文件的默认权限是如何设置
文件是: 644 666-umask( 奇数+1)
目录是: 755 777-umask
umask( 内置命令) : 可以影响系统数据默认权限
vi /etc/profile
if [ $UID -gt 199 ] && [ "` /usr/bin/id -gn` " = "` /usr/bin/id -un` " ]
条件一
then
umask 002
else
umask 022
fi
$UID : 显示当前登录系统用户id数值
判断比较符号
-gt greater than >
-lt less than <
-eq equal ==
-ge greater && equal >=
-le less && equal <=
-ne not equal < >
/usr/bin/id -gn -- 显示当前用户的组名
/usr/bin/id -un -- 显示当前用户名称
if 判断的条件( 有> 100万) && 长得帅
then
娶到好看的女生
else
是个女的就行
fi
5) 特殊的目录: /etc/skel 样板房
用户家目录都参照样板房设计
-rw-------. 1 oldboy oldgirl 1454 Apr 24 09:12 .bash_history --- 历史命令记录文件
01. 保存在内存中 histroy
history -c
02. 保存在磁盘文件中: .bash_history
-rw-------. 1 oldboy oldgirl 651 Apr 23 10:16 .viminfo --- vim样式设置
2. 系统中和用户相关的文件
[ root@oldboyedu oldboy]
root :x :0 :0 :root :/root :/bin/bash
bin :x :1 :1 :bin :/bin :/sbin/nologin
daemon :x :2 :2 :daemon :/sbin :/sbin/nologin
adm :x :3 :4 :adm :/var/adm :/sbin/nologin
lp :x :4 :7 :lp :/var/spool/lpd :/sbin/nologin
01 02 03 04 05 06 07
第一列: 用户名
第二列: 用户密码信息
第三列: 用户的uid信息
第四列: 用户的gid信息
第五列: 用户的注释信息
mysql( manager database user)
www ( manager web server)
第六列: 用户家目录信息
第七列: 用户登录系统方式
/bin/bash --- 通用的解释器
/usr/bin/sh --- 等价于/bin/bash
/usr/bin/bash
/sbin/nologin --- 无法登录系统
/usr/sbin/nologin
3. 用户相关命令
3.1 创建用户命令
-M 不创建家目录
-s 指定使用的shell方式
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
uid= 1067( Alex01) gid= 1067( Alex01) groups= 1067( Alex01)
[ root@oldboyedu oldboy]
Alex01:x:1067:1067::/home/Alex01:/sbin/nologin
[ root@oldboyedu oldboy]
ls: cannot access /home/Alex01: No such file or directory
-u 指定用户uid数值信息
[ root@oldboyedu oldboy]
uid= 2000( Alex03) gid= 2000( Alex03) groups= 2000( Alex03)
-g 指定用户所属的主要组信息
[ root@oldboyedu oldboy]
uid= 2001( Alex04) gid= 1068( Alex02) groups= 1068( Alex02)
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
uid= 2002( Alex05) gid= 1068( Alex02) groups= 1068( Alex02)
-G 指定用户所属的附属组信息
[ root@oldboyedu oldboy]
uid= 2004( Alex07) gid= 1068( Alex02) groups= 1068( Alex02) ,2000( Alex03)
-c 添加指定用户注释说明信息
[ root@oldboyedu oldboy]
mysql:x:2005:2005:manager database:/home/mysql:/sbin/nologin
3.2 修改用户信息
-s 修改用户的登录方式
-g 修改用户的主要的组信息
-G 修改用户的附属组信息
-c 修改用户的注释信息
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
Alex02:x:1068:1068::/home/Alex02:/sbin/nologin
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
uid= 3000( Alex02) gid= 1068( Alex02) groups= 1068( Alex02)
3.3 删除用户信息
-r 彻底删除用户以及用户的家目录
[ root@oldboyedu oldboy]
ls: cannot access /home/Alex04: No such file or directory
[ root@oldboyedu oldboy]
3.4 用户密码设置方法
passwd oldboy
echo 123456| passwd --stdin oldboy
01. 密码要复杂12位以上字母数字及特殊符号
02. 保存好密码信息
keepass
密码保险柜,本地存储密码
lastpass
密码保险柜,在线存储密码
03. 大企业用户和密码统一管理(相当于活动目录AD)
openldap域
用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称
04. 动态密码:动态口令,第三方提供自己开发也很简单。
4. 用户组相关命令
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
uid= 3003( python) gid= 3003( python) groups= 3003( python)
5. 用户属主属组设置命令
[ root@oldboyedu oldboy]
-rw-r--r--. 2 root root 192 Apr 15 12:19 /etc/hosts
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
-rw-r--r--. 2 oldboy root 192 Apr 15 12:19 /etc/hosts
[ root@oldboyedu oldboy]
dr-xr-xr-x. 2 oldboy oldgirl 24 Apr 23 10:36 oldboy_dir
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
-rw-r--r--. 1 root root 0 Apr 24 11:29 oldboy_dir/root.txt
[ root@oldboyedu oldboy]
uid= 1067( Alex01) gid= 1067( Alex01) groups= 1067( Alex01)
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
dr-xr-xr-x. 2 Alex01 Alex01 40 Apr 24 11:29 oldboy_dir
[ root@oldboyedu oldboy]
total 0
-rw-r--r--. 1 root root 0 Apr 23 10:36 oldboy.txt
-rw-r--r--. 1 root root 0 Apr 24 11:29 root.txt
[ root@oldboyedu oldboy]
[ root@oldboyedu oldboy]
dr-xr-xr-x. 2 Alex01 Alex01 40 Apr 24 11:29 oldboy_dir
[ root@oldboyedu oldboy]
total 0
-rw-r--r--. 1 Alex01 Alex01 0 Apr 23 10:36 oldboy.txt
-rw-r--r--. 1 Alex01 Alex01 0 Apr 24 11:29 root.txt
6. 用户信息查看命令 w
[ root@oldboyedu oldboy]
11:33:31 up 6:33, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 08:55 3.00s 0.20s 0.00s w
01 02 03 04 05 06 07
01. 什么用户登录到了系统中
02. 登录的方式
pts/x 远程登录系统
tty1 本地登录
[ root@oldboyedu oldboy]
03. 从哪连接的服务器
04. 登录时间
05. IDLE 空闲时间
06. 用户操作系统 消耗的CPU资源时间
07. 用户在干什么
7. 普通用户获得root权限
01. 直接切换到root账户下管理系统 篡权夺位
02. 直接修改要做的数据文件权限
03. root用户赋予了普通用户权利
sudo root用户授权一个能力给普通用户
visudo
93 oldboy ALL= ( ALL) /usr/sbin/useradd, /usr/bin/rm
[ oldboy@oldboyedu ~] $ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
[ sudo] password for oldboy:
User oldboy may run the following commands on oldboyedu:
( ALL) /usr/sbin/useradd, /usr/bin/rm
[ oldboy@oldboyedu ~] $ sudo useradd Alex08
[ oldboy@oldboyedu ~] $ sudo rm -f /etc/hosts
8. sudo 功能配置说明
[ root@oldboyedu ~]
/etc/sudoers: parsed OK
1) 授权单个命令或多个命令
/usr/sbin/useradd, /usr/bin/rm, ,
2) 授权单个命令目录或多个命令目录 ( 需要排除部分特权命令)
/usr/sbin/*, ! /usr/sbin/visudo , /usr/bin/*
3) 不需要输入用户密码,可以直接sudo方式执行命令
NOPASSWD: /usr/sbin/*, ! /usr/sbin/visudo , /usr/bin/*
1.切换到授权的用户下( oldboy)
2.sudo -l
3.需要输入授权的用户密码( oldboy)
sudo 授权的命令
9. 设置特殊权限位
权限设置方法:
chmod u+s 文件信息
chmod 4755 文件信息
[ root@oldboyedu ~]
-rwsr-xr-x. 1 root root 54080 Apr 11 2018 /bin/cat
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rwsr-sr-x. 1 root root 54080 Apr 11 2018 /bin/cat
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rwxr-sr-x. 1 root root 54080 Apr 11 2018 /bin/cat
[ root@oldboyedu ~]
[ root@oldboyedu ~]
-rwsr-sr-x. 1 root root 54080 Apr 11 2018 /bin/cat
chmod o+t 目录信息
chmod 1777 目录信息
[ root@oldboyedu ~]
drwxrwxrwt. 10 root root 4096 Apr 25 09:35 /tmp/
01. 直接切换用户 su - ( *)
优势: 简单快捷
劣势: 风险太高( root权限泛滥)
02. 修改数据文件权限 9位权限位 属主信息
优势: 只针对某个数据文件进行修改 只针对某个用户进行授权
劣势: 需要了解权限位功能
03. 采用sudo提权方式
优势: 可以利用文件编辑指定用户有哪些指定权限 sa运维部门 dev开发人员
劣势: 配置规划复杂
04. 修改数据文件权限 3位权限位
优势: 设置权限简单方便
劣势: 设置好的权限所有用户都拥有
10. 如何防范系统中的重要文件不被修改(root用户也不能修改)
chattr +i /etc/passwd
ll /etc/passwd
-rw-r--r--. 1 root root 4820 Apr 25 11:01 /etc/passwd
chattr -i /etc/passwd
[ root@oldboyedu ~]
-rw-r--r--. 1 root root 4820 Apr 25 11:01 /etc/passwd
[ root@oldboyedu ~]
---------------- /etc/passwd
[ root@oldboyedu ~]
---------------- /etc/passwd
作业:
作业:
01. chmod命令使用方法进行总结