zoukankan      html  css  js  c++  java
  • 系统启动流程,服务程序自动运行,文件目录权限

    1 系统启动流程

    1.1 centos6启动流程

    (1)开机加电自检:检查bios中识别的硬件信息是否正常
    (2)开机MBR引导:/boot分区引导系统启动的记录信息(MBR引导记录系统启动文件信息/分区表信息)
    (3)grub选择菜单:可以选择系统内核信息,可以选择进入单用户模式
    (4)加载内核信息:用于管理控制硬件
    (5)启动系统进程:/sbin/init 后续进程启动(采用串行启动方式 由init进程进行控制)
    (6)加载启动级别文件:加载/etc/inittab 选择不同级别启动系统
    (7)运行初始化脚本:/etc/rc.d/rc.sysinit 设置主机名称 设置网卡地址信息
    (8)执行服务运行脚本:/etc/rc.d/rc.sysinit 设置主机名称 设置网卡地址信息
    (9)启动mingetty进程:显示登陆提示信息
    简写 :①开机加电bios自检    ②加载MBR    ③加载grup菜单    ④加载内核    ⑤启动第一个服务进程
               ⑥加载运行级别文件    ⑦加载初始化脚本    ⑧加载运行脚本(实现服务程序开机自启)
               ⑨启动mingetty进程显示登录界面

    1.2 centos7启动流程

    (1)开机加电bios自检:检查bios中识别的硬件信息是否正常
    (2)开机MBR引导:/boot分区引导系统启动的记录信息(MBR引导记录--系统启动文件信息/分区表信息)
    (3)grub选择菜单:可以选择系统内核信息/可以选择进入单用户模式
    (4)加载内核信息:用于管理控制硬件
    (5)启动系统进程:/usr/lib/systemd/systemd后续进程启动(采用并行启动方式由systemd进程进行控制)
    (6)加载启动target文件:/etc/systemd/system/default.target 选择不同级别启动系统
    (7)加载系统初始化文件:/usr/lib/systemd/system/sysinit.target 设置主机名称,网卡地址信息
    (8)执行服务运行脚本:/etc/systemd/system 实现服务开机自动运行
            /usr/lib/systemd/system/ 保存系统中所有程序启动文件
    (9)启动mingetty进程:显示登录提示信息
    简写:①开机加电bios自检    ②加载MBR    ③加载grup菜单    ④加载内核    ⑤启动第一个服务进程
             ⑥加载运行target信息    ⑦加载初始化脚本    ⑧加载运行文件(实现服务程序开机自启)
       ⑨启动mingetty进程显示登录界面

    2 系统服务程序自动运行方法

    2.1 利用/etc/rc.local文件

    实现脚本或服务开机自动运行的文件

    2.2 centos6:用chkconfig centos7:用syetemctl

    centos6:chkconfig
    chkconfig --list|grep sshd(服务名称)            检查服务开机自启状态
    chkconfig sshd on/off                                     234级别开机自动
    chkconfig sshd --level 3(级别)                     设置指定级别开机自启
    centos7:利用syetemctl命令
    systemctl disable/enable sshd                         设置服务开机自启

    3 文件/目录的权限说明

    3.1 文件权限说明

    r4 w2 x1 -(没有权限)0
    r—读: 是否可以查看文件内容
    w—写: 是否可以便捷文件内容
    x—执行: 是否可以直接运行一个文件


    文件权限总结:
    (1)一个文件没有任何权限,root用户可以随时查看/编辑任意文件,只是不能执行文件
    (2)属主用户想编辑查看文件,最好属主用户拥有读(最总要)和写
    (3)文件权限中最重要权限为r(读)权限
    拥有r权限,可以结合w权限,正常编辑和查看文件
    拥有r权限,可以结合x权限,正常执行和查看文件

    3.2 目录权限说明

    r-读:读取显示目录下面文件名称信息
    w-写:是否可以在目录中创建删除数据信息
    x-执行:是否可以进行目录的切换


    目录权限总结:
    (1)root用户对目录管理是无敌的权限
    (2)目录权限中最重要权限为x(执行)权限
    拥有x权限,可以结合r权限,正常查看目录中数据信息
    拥有x权限,可以结合w权限,正常在目录中创建或删除数据
    默认文件权限:644 rw-r--r--
    默认目录权限:755 rwxr-xr-x


    没有任何权限情况下,root,属主,其他用户对文件、目录的情况

    4 数据信息默认权限设置方法

    4.1 利用chmod命令设置文件的权限

    chmod:修改数据权限

    4.1.1 单独修改指定用户权限

    u=uid=属主
    chmod u+rwx --- 属主添加指定权限
    chmod u-rwx  --- 属主删除指定权限
    chmod u=rwx --- 属主直接设置权限
    g=gid=属组
    chmod g+rwx --- 属组添加指定权限
    chmod g-rwx  --- 属组删除指定权限
    chmod g=rwx --- 属组直接设置权限
    o=other=其他用户
    chmod o+rwx --- 其他用户添加指定权限
    chmod o-rwx --- 其他用户删除指定权限
    chmod o=rwx --- 其他用户直接设置权限

    4.1.2 批量修改所有用户权限

    chmod 权限数值 --- 批量修改
    chmod a+rwx --- 所有用户添加指定权限
    chmod a-rwx  --- 所有用户删除指定权限
    chmod a=rwx --- 所有用户设置指定权限
    a=所有用户

    4.2 利用umask修改数据权限

    umask:修改数据权限(临时设置)永久设置(/etc/profile)

    4.2.1 临时设置

    文件权限数值=666 - umask数值
    644=666 - 022
    umask数值为偶数: 666 - umask(066)数值 == 600
    umask数值为奇数: 666 - umask(033) == 644
    umask数值为奇数时,文件权限值要加1
    目录权限数值==777 - umask数值

    4.2.2 永久设置

    永久设置:利用文件配置参数设置权限
    vim /etc/profile

    if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]
    then
    umask 002
    else
    umask 022
    fi
    

    如果满足上述两个条件,则umask值为002,不满足为022。
    usermod oldboy -g root:将oldboy改为root组,则不满足第二个条件,umask值为002,
    id -gn:显示当前用户的组的名称
    id -un:显示当前用户的名称
    符号:
    gt=greater than               大于的意思
    lt=less than                     小于的意思
    eq=equal                         等于的意思
    ge=greater equal             于等于的意思
    le=less equal                   小于等于的意思
    ne=no equal                    不等于的意思

    5 /etc/skel 用户相关的重要目录

    /etc/skel
    (1)此目录中有什么数据,新建的用户家目录中就有什么
    (2)恢复普通用户命令提示符信息

    cp -a /etc/skel/.bash* /home/oldboy/		#-a:保持原来的属性
    

    当普通用户家目录下东西都被删除时,普通用户命令提示符会成乱码,可以把root下/etc/skel复制到普通用户家目录就会恢复

    6 /etc/passwd  用户相关的重要文件

    /etc/passwd --- 记录系统用户信息

    oldboy01 :x :1002 :1002  : :/home/oldboy01 	:/bin/bash
    ntp      :x :38   :38    : :/etc/ntp 				:/sbin/nologin
    oldboy02 :x :1003 :1003  : :/home/oldboy02 	:/bin/bash
    oldboy03 :x :1004 :1004  : :/home/oldboy03 	:/bin/bash
    	1			 2	 3		 4		 5		6								7
    

    1 用户名称
    2 用户密码信息
    3 用户uid数值信息
    4 用户gid数值信息
    5 用户注释信息
    6 用户家目录信息
    7 用户登录方式 /bin/bash    /sbin/nologin(设置为虚拟用户)
    /etc/shadow : 记录系统用户密码信息(加密)
    /etc/group:    记录用户组信息
    /etc/gshadow:记录用户组密码信息


  • 相关阅读:
    巧用nginx屏蔽对用户不可见的文件
    关于之前我的主页页面加载很慢的问题
    学习Entity Framework 中的Code First
    理解POCO
    浅谈依赖注入
    从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构
    ASP.NET Identity V2
    泛型约束
    C# Serializable
    C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
  • 原文地址:https://www.cnblogs.com/basa/p/11142194.html
Copyright © 2011-2022 走看看