系统的启动流程(面试题)
- Centos6
- 加电自检 检查服务器硬件是否正常
- MBR引导 读取磁盘的MBR存储记录信息,引导系统启动
- grup菜单 选择启动的内核/进行单用户模式重置密码
- 加载系统内核信息 可以更好的使用内核控制硬件
- 系统的第一个进程运行起来
init
(串行) init进程控制后续各种服务的启动: 启动顺序 网络服务 sshd - 加载系统运行级别文件
/etc/inittab
识别系统的运行级别 - 初始化
/etc/rc.d/rc.sysinit
脚本运行 初始化系统主机名称 和 网卡信息 - 运行
/etc/rc.d/rc
脚本 服务运行的脚本 - 运行
mingetty
进程 显示开机登录信息界面
- Centos7
- 加电自检 检查服务器硬件是否正常
- MBR引导 读取磁盘的MBR存储记录信息,引导系统启动
- grup菜单 选择启动的内核/进行单用户模式重置密码
- 加载系统内核信息 可以更好的使用内核控制硬件
- 系统的第一个进程运行起来
systemd
(并行) 服务启动的时候,同时一起启动 - 读取系统运行级别文件
/etc/systemd/system/default.target
- 读取系统初始化文件
/usr/lib/systemd/system/sysinit.target
- 使服务可以开机自启动
/etc/systemd/system
加载此目录中的信息,实现服务开机自动启动 - 运行mingetty进程 显示开机登录信息界面
让命令或服务可以开机自动运行
Centos6
- 将命令信息放入到
/etc/rc.local
- 利用chkconfig可以控制服务是否开机运行 根据运行级别进行进行控制
Centos7
- 将命令信息放入到
/etc/rc.local
- Centos7默认
rc.local
文件没有执行权限,让命令生效需要添加执行权限 - 利用systemctl enable/disable 服务名称
文件权限
- r : 读权限,可以读文件的内容
- w : 写权限,可以编辑文件的内容
- x : 执行权限,执行这个文件(脚本文件)
root
用户可以不受文件权限的影响可以直接操作文件
对于文件来说,写的权限和执行的权限,都需要有读权限配合
如何想对文件进行操作,必须对文件赋予读的权限
文件默认权限为644
目录权限
- r : 读权限,读目录中的文件属性信息
- w : 写权限,可以在目录中添加或删除文件数据信息
- x : 执行权限,是否可以进入到目录中
root
用户可以不受目录权限的影响可以直接操作目录
ll
查看目录中文件属性需要目录的读,执行权限
删除和创建文件或目录需要当前目录的读,写,执行权限
目录默认权限为755
- 当前用户访问目录只有读权限,所以无法进入目录,也无法读取inode信息,但是获取了文件名,这也解释文件名信息不存储在inode中
[1997sty@1997sty data]$ ll -d test
drwxr--r-- 4 root root 4096 11月 22 15:32 test
[1997sty@1997sty data]$ ll test
ls: 无法访问test/123: 权限不够
ls: 无法访问test/456: 权限不够
ls: 无法访问test/dir456: 权限不够
ls: 无法访问test/dir123: 权限不够
总用量 0
-????????? ? ? ? ? ? 123
-????????? ? ? ? ? ? 456
d????????? ? ? ? ? ? dir123
d????????? ? ? ? ? ? dir456
系统的操作命令
chmod
命令
只能文件属主或特权用户才能使用该功能来改变文件存取模式
- chmod 777 1997sty : 对当前目录下的
1997sty
文件赋予777权限 - chmod a=rwx 1997sty : 对当前目录下的
1997sty
文件赋予777权限 - chmod u-w 1997sty : 对当前目录下的
1997sty
文件的属主减去写权限 - chmod g-w 1997sty : 对当前目录下的
1997sty
文件的属组减去写权限 - chmod a-w 1997sty : 对当前目录下的
1997sty
文件的属主属组其他用户减去写权限 - chmod a=rwx,o= 1997sty : 对当前目录下的
1997sty
文件的属主属组其他用户赋予777权限,其他用户没有权限 - chmod -R 777 1997sty : 对当前目录下的
1997sty
目录,子目录,文件递归修改为777权限
执行参数
- -R : 对当前目录下所有文件和目录递归修改权限
权限参数
- a : 所有用户
- u : 所属用户
- g : 所属组
- o : 其他用户
- = : 等于权限
- + : 增加权限
- - : 减去权限
- r : 读权限(4)
- w : 写权限(2)
- x : 执行权限(1)
umask
命令
权限掩码,umask值表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值
- umask : 查看umask值(root用户默认为0022 普通用户为0002)
- umask 000 : 临时设置umask值为000
如果要永久设置umask值,需要/etc/profile
中以下内容并修改后重新加载文件
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
文件目录初始权限计算
- 并不是666-033=633 而是掩去umask值的权限位 剩下没有掩去的权限位就是文件目录的初始权限
- 文件默认最大权限为666 umask值为022 结果为644
(-rw-rw-rw-)–(-----w--w-)=(-rw-r--r--)
- 文件默认最大权限为666 umask值为033 结果为644
(-rw-rw-rw-)–(-----wx-wx)=(-rw-r--r--)
- 目录默认最大权限为777 umask值为022 结果为755
(-rwxrwxrwx)–(-----w--w-)=(-rwxr-xr-x)
- 目录默认最大权限为777 umask值为033 结果为744
(-rwxrwxrwx)–(-----wx-wx)=(-rwxr--r--)
/etc
目录下配置文件说明
/etc/skel
新用户配置文件
当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下
[root@1997sty ~]# ll -a /etc/skel/
总用量 20
drwxr-xr-x. 2 root root 4096 6月 11 2017 .
drwxr-xr-x. 87 root root 4096 11月 22 16:42 ..
-rw-r--r-- 1 root root 18 12月 7 2016 .bash_logout
-rw-r--r-- 1 root root 193 12月 7 2016 .bash_profile
-rw-r--r-- 1 root root 231 12月 7 2016 .bashrc
最后一次更新于2019-11-29 18:52
0 条评论