精华内容
下载资源
问答
  • 1 基础知识1.1 系统的简介CentOS Linux是社区支持的发行版CentOS Linux源于Red Hat免费提供给公众使用的Red Hat Enterprise Linux(RHEL)CentOS Linux旨在与RHEL在功能上兼容CentOS Linux主要更改软件包以删除上游...

    1 基础知识

    1.1 系统的简介

    CentOS Linux是社区支持的发行版

    CentOS Linux源于Red Hat免费提供给公众使用的Red Hat Enterprise Linux(RHEL)

    CentOS Linux旨在与RHEL在功能上兼容

    CentOS Linux主要更改软件包以删除上游供应商的品牌和插图

    CentOS Linux是免费的,可以免费重新分发

    CentOS Linux每个版本最多可维护10年(随Red Hat发布源的安全更新支持间隔时间不同而不同)

    CentOS Linux大约每2年发布一次新的版本

    CentOS Linux每个版本都会定期更新(大约每6个月更新一次)以支持更新的硬件

    CentOS Linux由此可知是一个安全、低维护、可靠、可预测和可复制的Linux环境

    1.2 Docker容器与服务的关系

    Docker容器的设计里面是容器内部不运行后台服务

    Docker容器本身就是宿主机上独立运行的主进程

    Docker容器可以理解为运行服务的应用进程

    Docker容器生命周期是围绕容器的主进程存在

    Dcoker容器正确使用方法是将服务运行于容器环境的前台

    1.3 Systemd的介绍

    Systemd当前成为管理主流Linux服务的管理器

    Systemd管理系统服务器程序时需要特权去访问Linux内核

    1.4 特权模式的介绍

    容器并非一个完整的操作系统

    容器的本质是一个文件系统

    容器默认启动的程序只以普通用户的身份和权限访问Linux内核(没有任何特权)

    基于以上,容器环境使用Systemd就需要使用“privileged”参数使赋以容器特权的权限方可使用

    2 最佳实践

    2.1 部署Docker集群

    如果你尚未部署Docker集群环境,请参阅如下章节部署,

    2.2 部署前的准备

    In docker01

    cd /data/docker/images/

    docker load -i centos_centos7.3.1611.tar

    docker tag centos:centos7.3.1611 docker01.cmdschool.org:5000/centos:centos7.3.1611

    docker push docker01.cmdschool.org:5000/centos:centos7.3.1611

    docker image rm centos:centos7.3.1611

    另外,安装包的离线下载请在能上网的docker环境的机器上使用如下命令,

    docker pull centos:centos7.3.1611

    docker save centos:centos7.3.1611 -o centos_centos7.3.1611.tar

    2.3 运行centos

    2.3.1 尝试特权模式运行容器

    docker run -d --name centos73 --privileged=true docker01.cmdschool.org:5000/centos:centos7.3.1611 /usr/sbin/init

    以上使用特权(privileged)模式运行容器,赋予系统启动服务的能力,避免启动服务时出现如下错误提示,

    Failed to get D-Bus connection: Operation not permitted

    2.3.2 登录容器

    docker exec -it centos73 /bin/bash

    注:以上使用命令登录容器后

    2.3.3 安装常见的软件包

    yum install -y net-tools iproute

    2.3.4 配置SSHD服务

    yum install -y openssh-server

    软件包安装好,可使用如下命令启动服务并设置默认启动,

    systemctl start sshd.service

    systemctl enable sshd.service

    启动服务后,建议使用如下命令确认服务的端口已经起来,

    netstat -antp

    可见如下显示,

    Active Internet connections (servers and established)

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 183/sshd

    tcp 0 0 172.17.0.2:22 172.17.0.1:54258 ESTABLISHED 362/sshd: root@pts/

    tcp6 0 0 :::22 :::* LISTEN 183/sshd

    另外,SSH服务需要修改root密码才允许该用户登录,

    passwd

    2.3.5 查看当前容器的IP

    ip a

    可见如下显示,

    1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    valid_lft forever preferred_lft forever

    500: eth0@if501: mtu 1500 qdisc noqueue state UP group default

    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0

    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0

    valid_lft forever preferred_lft forever

    2.3.6 退出容器并测试登录

    exit

    ssh 172.17.0.2

    2.4 保存容器的更改

    2.4.1 查询容器的containerID

    docker container ls | grep centos7.3 | cut -d" " -f1

    可见如下显示,

    d23cc7a96035

    2.4.2 保存当前容器的状态

    docker commit d23cc7a96035 docker01.cmdschool.org:5000/sshd:centos7.3.1611

    然后,使用如下命令查询新的镜像,

    docker images

    可见如下显示,

    REPOSITORY TAG IMAGE ID CREATED SIZE

    docker01.cmdschool.org:5000/sshd centos7.3.1611 9c6accff4795 7 minutes ago 289MB

    docker01.cmdschool.org:5000/portainer/agent linux-amd64-1.6.0-alpine 82e35dbc0c04 6 weeks ago 75.3MB

    docker01.cmdschool.org:5000/portainer/portainer alpine 3b8c73d25ad3 6 weeks ago 84.4MB

    registry 2.7.1 2d4f4b5309b1 2 months ago 26.2MB

    docker01.cmdschool.org:5000/centos centos7.3.1611 c5d48e81b986 18 months ago 192MB

    参阅文档

    =====================

    展开全文
  • Linux权限模式

    2021-05-13 03:06:41
    账号被禁止登录时间:保留域 添加范例:root:$6$OX8fx6c3gq3ooYX4::0:99999:7::: Linux系统权限模式 drwxr-xr-x 3 root root 1024 Sep 13 11:58 test最高位解析 • d代表的是目录(directroy) • -代表的是文档...

    66b52468c121889b900d4956032f1009.png

    8种机械键盘轴体对比

    本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

    用户:身份标识(User ID)

    组:身份标识(Group ID)

    用户与组的基本概念

    • 文档必须有所有者

    • 用户必须属于某个或多个组

    • 用户与组的关系灵活(一对多、多对多等都可以)

    • 根用户拥有所有权限

    账号信息存储

    用户信息:/etc/password

    /etc/shadow

    组信息:/etc/group

    /etc/gshadow

    用户信息文档-password

    文档用处:用于存放用户信息(早期包括使用不可逆DES算法加密形成用户密码散列)

    存储路径:/etc/password

    文档特点:文本格式/全局可读

    存储格式:用户名:密码散列:用户ID:用户所属组ID:用户信息:用户目录:用户登陆后使用的shell

    添加范例:demo:x:523:100:J.demo:/home/demo:bin/sh

    用户账号影子文档-shadow

    文档用处:用于存放用户密码散列、密码管理信息等

    存储路径:/etc/shadow

    文档特点:文本格式/仅对root可读可写

    存储格式:用户名:加密的用户口令:上次修改口令日期:口令两次修改最小天数:口令两次修改最大天数:口令失效前多少天向用户警告:被禁止登录前还有效天数:账号被禁止登录时间:保留域

    添加范例:root:$6$OX8fx6c3gq3ooYX4::0:99999:7:::

    Linux系统权限模式

    drwxr-xr-x 3 root root 1024 Sep 13 11:58 test最高位解析

    • d代表的是目录(directroy)

    • -代表的是文档(regular file)

    • s代表的是套字文档(socket)

    • p代表的管道文档(pipe)或命名管道文档(named pipe)

    • l代表的是符号链接文档(symbolic link)

    • b代表的是该文档是面向块的设备文档(block-oriented device file)

    • c代表的是该文档是面向字符的设备文档(charcter-oriented device file)九位权限解析

    Linux下文档的权限类型一般包括读,写,执行。用字符表示权限, -代表无权限,r代表读权限,w代表写权限,x代表执行权限。用数字表示权限,0代表无权限,4代表读,2代表写,1代表执行。

    r– = 100 -w- = 010 –x = 001 — = 000

    转换成八进制数,则为 r=4, w=2, x=1, -=0(这也就是用数字设置权限时为何是4代表读,2代表写,1代表执行)

    默认权限-Umask命令解析

    该命令用来设置限制新文档权限的掩码。当新文档被创建时,其最初的权限由文档创建掩码决定。用户每次注册进入系统时,umask命令都被执行,并自动设置掩码改变默认值,新的权限将会把旧的覆盖。默认情况下的umask是0022,第一位0是留给特殊权限SUID,GUID,Sticky。后三位分别对应了owner,group和others。

    需要注意的是,新文档和新目录的umask基准值不一样。对于用户创建的文档,基准值是666,所以在022的umask下创建的新文档默认的权限是644。而用户创建新目录时基准值是777,所以在022umask下的新目录默认权限是755。

    附加权限-Set位权限解析:

    • suid(set User ID,set UID)的意思是进程执行一个文档时通常保持进程拥有者的UID。然而,如果设置了可执行文档的suid位,进程就获得了该文档拥有者的UID。

    • sgid(set Group ID,set GID)意思也是一样,只是把上面的进程拥有者改成进程组就好了。表现形式

    如果一个文档被设置了suid或sgid位,会分别表现在所有者或同组用户的权限的可执行位上;如果文档设置了suid还设置了x(执行)位,则相应的执行位表示为s(小写)。但是,如果没有设置x位,它将表示为S(大写)。示例解析-rwsr-xr-x表示设置了suid,且拥有者有可执行权限

    -rwSr–r–表示suid被设置,但拥有者没有可执行权限

    -rwxr-sr-x表示sgid被设置,且群组用户有可执行权限

    -rw-r-Sr–表示sgid被设置,但群组用户没有可执行权限设置方式$ chmod u+s filename

    $ chmod u-s filename

    $ chmod g+s filename

    $ chmod g-s filename

    附加权限-粘滞位权限解析

    粘滞位权限即sticky。一般用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即便用户对该目录有写的权限,也不能删除该目录中其他用户的文档数据。表示形式

    一个文档或目录被设置了粘滞位权限,会表现在其他组用户的权限的可执行位上。如果文档设置了sticky还设置了x(执行)位,其他组用户的权限的可执行位为t(小写)。但是,如果没有设置x位,它将表示为T(大写)。

    -rwsr-xr-t 表示设置了粘滞位且其他用户组有可执行权限

    -rwSr–r-T 表示设置了粘滞位但其他用户组没有可执行权限chmod +t

    12权限表示法总结SUIDGUIDSticky读写执行读写执行读写执行11109876543210

    sGTrwxrwxrwx

    100010001100010001100010001100010001

    421421421421

    十二位权限三位三位的转化为4个八进制数。其中

    • 最高的一位八进制数就是suid,sgdi,sticky的权值(属于附加权限)。

    • 第二位为 拥有者的权值。

    • 第三位为 所属组的权值。

    • 最后一位为 其他组的权值。

    展开全文
  • Linux之用户特权管理

    千次阅读 2019-10-21 21:59:33
    Linux之用户特权管理 1.限制可以使用su的用户 vim /etc/pam.d/su 将#auth required pam_wheel.so use_uid修改为auth required pam_wheel.so use_uid vim /etc/login.defs添加 SU_WHEEL_ONLY yes 分别创建tom用户...

    Linux之用户特权管理

    1.限制可以使用su的用户

    vim /etc/pam.d/su
    将#auth		required	pam_wheel.so use_uid修改为auth		required	pam_wheel.so use_uid
    
    vim /etc/login.defs添加
    SU_WHEEL_ONLY yes
    
    分别创建tom用户和tomcat用户,其中tom用户加入wheel组中,tomcat不加入wheel,然后分别进行测试
    [root@docker ~]# groupadd tom
    [root@docker ~]# useradd -s /bin/sh -d /home/tom -g tom -G wheel -m tom
    经过测试发现,只有tom用户可以切换root。
    

    2.安全地配置sudo

    相对于使用su - root输入root密码的方式拥有root权限,使用sudo会更加方便一些。

    2.1 某个组用户sudo成root不需要密码

    例如我们可以设置wheel组的用户可以直接使用sudo成root而不需要密码。
    %wheel  ALL=(ALL)       NOPASSWD: ALL
    

    2.2 给某个用户sudo执行某些命令权限

    例如:我们只希望给某个用户sudo执行某些命令的权限
    tomcat ALL=(root) NOPASSWD:/bin/touch,/bin/rm
    

    2.2 给某个组的用户sudo执行某些命令权限

    例如:我们只希望给某个组的用户sudo执行某些命令的权限
    %wheel  ALL=/usr/local/bin/tomcat.sh
    那么,developer组的用户可以以root权限来运行/usr/local/bin/tomcat.sh这个脚本了。
    

    3.总结

    1.规定哪些用户或用户组可以sudo
    2.规定可以sudo的用户或组能够执行哪些命令
    
    展开全文
  • SUID含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将...

    SUID含义:文件的该位被设 置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超级用户 的特权了,这是该位将变成一个安全漏洞,因此不要轻易设置该位。

    SGID含义:运行者将具有文件所有组的权限。

    STICKY粘合位: 要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映像,这样做是为了节省大型程序的启动时间,但是会占用系统资源,因此设置该位,不如把程序写好。

    set uid ;set gid;sticky bit区别

    每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行.

    setuid: 在执行时具有文件所有者的权限.

    setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.

    sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。

    如何设置:

    操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,

    1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户)

    chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)

    chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)

    2) 采用八进制方式. 这一组八进制数字三位的意义如下,

    abc

    a - setuid位, 如果该位为1, 则表示设置setuid

    b - setgid位, 如果该位为1, 则表示设置setgid

    c - sticky位, 如果该位为1, 则表示设置sticky

    设置后, 可以用 ls -l 来查看. 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

    如:

    rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)

    rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)

    rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)

    理解文件权限

    所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户和组联系起来。请看下面的例子:

    drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop

    与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的 所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个 符号的意义:

    该域由 10 个字符组成,可以把它们分为四组,具体含义分别是:

    d rwx r-x r-x

    文件类型 所有者权限标志 组权限标志 其他用户权限标志

    其中:

    文件类型:第一个字符。由于 Linux 系统对与设备、目录、文件都当作是文件来处理,因此该字符表明此文件的类型,字符与对应的意义如下表:

    文件标志 文件类型 例子

    - 普通文件 数据文件、ASCII 纯文本 文件、程序

    d 目录 /bin

    b 块设备 /dev/hda(第一个 IDE 硬盘)

    c 字符设备 /dev/ttyS1(与 DOS 种的串口 2 等同)

    s 套接字 /dev/log

    p 命名管道 /dev/initctl(与“|”等同)

    l 符号链接 /dev/modem->/dev/ttyS1

    权限标志:

    对每个文件或目录都有 4 类不同的用户。每类用户各有一组读、写和执行(搜索)文件的访问权限,这 4 类用户是:

    root:系统特权用户类,既 UID = 0 的用户。

    owner:拥有文件的用户。

    group:共享文件的组访问权限的用户类的用户组名称。

    world:不属于上面 3 类的所有其他用户。

    作为 root,他们自动拥有了所有文件和目录的全面的读、写和搜索的权限,所以没有必要明确指定他们的权限。其他三类用户则可以在耽搁文件或者目录的基础上别 授权或撤消权限。因此对另外三类用户,一共 9 个权限位与之对应,分为 3 组,每组 3 个,分别用 r、w、x 来表示,分别对应 owner、group、world。

    权限位对于文件和目录的含义有些许不同。每组 3 个字符对应的含义从左至右的顺序,对于文件来说是:读文件的内容(r)、写数据到文件(w)、做为命令执行该文件(x)。对于目录来说是:读包含在目录中 的文件名称(r)、写信息到目录中去(增加和删除索引点的连接)、搜索目录(能用该目录名称作为路径名去访问它所包含的文件或子目录)。具体来说就是:

    1. 有只读权限的用户不能用 cd 进入该目录;还必须有执行权限才能进入。

    2. 有执行权限的用户只有在知道文件名并拥有该文件的读权限的情况下才可以访问目录下的文件。

    3. 必须有读和执行权限才可以使用 ls 列出目录清单,或使用 cd 进入目录。

    4. 如用户有目录的写权限,则可以创建、删除或修改目录下的任何文件或子目录,既是该文件或子目录属于其他用户。

    修改文件权限

    首先讲修改文件的所有权,使用 chown 和 chgrp 命令:

    chown new_user file or directory:修改文件或目录的所有者。

    chgrp new_group file or directory:修改文件或目录的所属组。

    这里需要注意的是:普通用户不能将文件或目录的所有权交与他人,只有 root 有这一权限。但是普通用户有权改变文件或目录的所属组。

    由于每类用户的权限都是由 rwx 三位组成,因此可以用三个八进制数字表示文件的访问权。一个八进制数字可以用三个二进制数字表示,那么与其对应,权值为 4 的位对应 r,权值为 2 的位对应 w,权值为 1 的位对应 x。对于一类用户,将这三位与其对应的权值相乘求和,就可以得出对该类用户的访问权限。

    改变文件访问权限的命令是 chmod,格式是:

    chmod permission file_name

    比如 chmod 764 a.txt,它表示对于文件的所有者,具有对该文件读、写、执行的权限。对于文件所属组的用户,拥有读、写的权限。对于其他用户,只有读权限。

    这里需要注意的是:文件的创建者是唯一可以修改该文件访问权限的普通用户,另外一个可以修改文件访问权限的用户是 root。

    还有一种表示方法,就是用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示。那么上面例子就写成西面的模样:

    chmod a+r,u+w,u+x,g+w a.txt

    ==================================================

    chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。

    一般是三个数字:

    第一个数字表示文件所有者的权限

    第二个数字表示与文件所有者同属一个用户组的其他用户的权限

    第三个数字表示其它用户组的权限。

    权限分为三种:读(r=4),写(w=2),执行(x=1) 。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。

    所以,chmod 755 设置用户的权限为:

    1.文件所有者可读可写可执行

    2.与文件所有者同属一个用户组的其他用户可读可执行

    3.其它用户组可读可执行

    chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。

    例如:root用户创建了一个上网认证程序netlogin,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。

    但是netlogin执行时可能需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。

    这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

    ps:对shell脚本设置无效!只对应用程序有效!

    =============================================

    linux/unix 下的可执行文件:

    被设置了setuid, 当一个程序一旦设置了该标记以后, 使用该可执行程序的进程将拥有该执行文件的所有者的权限,可提升使用者的权限,普通用户可以执行改命令,使自己升级为root权限。

    setuid的用法是: chmod 4755 program 或 chmod u+s program (setuid 只对文件有效)

    被设置了setgid, 同理使用该程序的进程将拥有该程序所有组的权限,单独setGid的文件非常少用,通常都是即setUid又setGid,同时setuid,setgid 是为了绑定某个特殊用户及其组的特殊权限。

    setgid的用法是:chmod 2755 dir 或 chmod g+s dir (setgid 只对目录有效)

    同时设置setuid,setgid的用法:chmod 6755 program

    被设置粘着位,设置的用法是: chmod 1777 file 或 chmod o+t file (sticky只对文件有效)

    当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由

    一、超级管理员删除

    二、该目录的所有者删除

    三、该文件的所有者删除

    也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件 。

    展开全文
  • Podman是RHEL8中的默认容器管理工具,以下以Fedora系统为平台介绍用于保护Podman容器的内容:确定Podman容器的特权模式及Capabilities。参考在CentOS 7、Fedora 30/29/28上安装Podman的方法。确定Podman容器的特权...
  • 因此,需要允许其他特权才能使容器无问题地运行,因此对于该用例,Docker具有非常简单但非常宽泛的特权模式,可将完整主机的功能添加到容器中。要使用此模式,只是追加--privileged到docker run命令:Docker-in-...
  • Docker特权模式

    2021-07-14 11:34:08
    Docker特权模式 docker使用--privileged, --cap-add, --cap-drop 来对容器本身的能力进行开放或限制,使用 --cap-add, --cap-drop 可以添加或禁用特定的权限 --privileged 参数也可以达到开放权限的作用, 与--cap-...
  • linux 特权级 用户态 内核态

    千次阅读 2016-07-29 11:46:19
    硬件已经提供了一套特权级使用的相关机制,软件自然要好好利用,这属于操作系统要做的事情,对于UNIX/LINUX来说,只使用了0级特权级别和3级特权级。也就是说在UNIX/LINUX系统中,一条工作在0级特权级的指令具有了CPU...
  • 1 root root 4 Dec 2 03:08 /bin/aaa 获取宿主机的运行进程 以特权的方式运行容器。 $ sudo docker run --rm -it --privileged ubuntu bash 执行以下命令,它的效果是在宿主机上执行了“ps aux”命令,然后将结果被...
  • 通过以上两小节可以看出,使用调用门的过程分为两个部分:一部分是从低特权级到高特权级,通过调用门和call指令来实现另一部分是从高特权级到低特权级,通过ret指令来实现。接下来我们就用ret指令实现由高特权级到低...
  • Linux机器上,CPU要么处于受信任的内核模式,要么处于受限制的用户模式。除了内核本身处于内核模式以外,所有的用户进程都运行在用户模式之中。内核模式的代码可以无限制地访问所有处理器指令集以及全部内存和I/O...
  • 一、深入特权级转移上A-初识任务状态栏(Task State Segment)1.处理器所提供的硬件数据结构,用于实现多任务解决方案2.TSS中保存了关键寄存器的值以及不同特权级使用的栈TSS有三种不同的数据如下图所示需要用到段...
  • 4 Linux的做法:1)Linux没有为每一个进程都准备一个tss段,而是每一个cpu使用一个tss段,tr寄存器保存该段。进程切换时,只更新唯一tss段中的esp0字段到新进程的内核栈。2)Linux的tss段中只使用esp0和iomap等字段,...
  • linux内核面试题[2]-Linux用户模式和内核模式Kernel mode下运行的程序能够访问所有的memory,能够处理interrupt;user mode的程序只能访问有限的memory,不能直接处理中断.<1>ARM体系下的7种工作模式当前程序...
  • Linux下的实模式

    2021-02-23 21:56:11
    最近有小伙伴给我提了个问题,在Linux系统实模式下,有哪些操作可以正常运行,分别有哪些比较常见的行为。 猛的一惊,虽说我不是专业搞这个的,但好歹也用了挺久的Linux系统,这是个啥子噢。之前把系统折腾坏了也没...
  • 而当CPU处于用户模式(Linux处于用户态)时,Linux从用户态切换到内核态(ARM从用户模式切换到其他特权模式)只有在系统调用和中断(中断进入IRQ模式,也可以操作内核)两种情况下发生,一般程序一开始都是运行于...
  • linux的用户模式和内核模式

    千次阅读 2015-03-13 11:24:17
    Linux机器上,CPU要么处于受信任的内核模式,要么处于受限制的用户模式。除了内核本身处于内核模式以外,所有的用户进程都运行在用户模式之中。 内核模式的代码可以无限制地访问所有处理器指令集以及全部内存和I/...
  • 简单的网络拓扑: 因为双击设备进入模拟终端。 进入iou1: ...特权模式:主机名# 可以查看各种设备的信息,不部分都是查看命令。 全局配置模式:主机名(config)# 这种模式下我们可以做各种各...
  • 这一章涉及intel8086系列cpu的保护模式编程,应该是学习内核编程,驱动编程及嵌入式编程一些基础知识。不过对于没接触过底层编程的我来说,感觉还是好复杂。 不过里面也有许多以前汇编学过的东西,大部分还是能看懂...
  • 进入全局模式的方法及命令

    千次阅读 2021-01-14 17:08:12
    【多选题】交换机可以记忆已经输入的命令,用户可以用下面哪些方法调出已经输入的命令 (15.0分)【其它】楼梯平面【多选题】交换机的配置模式一般有哪几种?【单选题】下列交换机的配置模式哪种权限最高?【判断题】...
  • linux下ftp客户端主动模式设置

    千次阅读 2020-06-19 11:36:39
    ftp主动模式与被动模式的区别实施背景:公司数据备份服务器(SYSTEM:WINDOWS SERVER 2003 ),数据采集方式为:FTP上传方式。基于安全考虑,该服务器只允许基于ftp服务的tcp20、21端口数据流通过。 ftp主动模式与...
  • 上一章Unix和Linux教程请查看:Unix和Linux目录管理和操作在本章中我们将详细讨论Unix/Linux中的文件权限和访问模式。文件所有权是Unix的一个重要组成部分,它为存储文件提供了一种安全的方法。Unix中的每个文件都...
  • 一、ARM处理器的7种工作模式用户模式(USR):正常程序执行模式,不能直接切换到其他模式系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式特权快中断模式(FIQ):支持...
  • 上面这篇文章讲的是双堆栈...模式分为两种:处理者模式(handler)和线程模式(thread); 权限级别也分为两种:特权级别、用户级别。 转载:https://blog.csdn.net/lushoumin/article/details/78640850 最关键...
  • 1.linux进程切换和TSS结构 http://blog.csdn.net/goodlixueyong/article/details/6018281  TSS 全称为task state segment,是指在操作系统进程管理的过程中,进程切换时的任务现场信息。 X86体系从硬件上...
  • Linux保护模式之-CPL、RPL、DPL

    千次阅读 2016-03-29 09:09:43
    先说下特权级的概念,在保护模式下,系统依靠特权级来实施代码和数据的保护,相当于权限 啦。特权级共有4 个级别,0,1,2,3,数字越小表示权限越高。如图: 较为核心的代码和数据放在较高(靠内)的层级中,处理器用此来...
  • 从上文得知,在BIOS将Linux的磁盘引导程序`bootsect`加载到`0x07C00`之后,bootsect开始执行,其先是将自己移动到了`0x90000`处,然后设置了段寄存器ds、es、ss,后将setup、system程序加载至了指定位置,并确认了根...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,119
精华内容 10,847
关键字:

linux特权模式

linux 订阅