m20预习笔记整理--linux基础知识

程序由指令+数据组成
    高级语言--编译器--汇编语言--编译器--机器语言
    linux指的是GUN tools+linux内核

系统结构
    硬件
        内核(内核隐藏了硬件特性,将计算机的计算能力抽象提供给应用程序使用)
            应用程序(基于内核的systemcal实现的程序)
            shell(也是应用程序)
            库函数(.a或.so----是程序,但是没有执行入口,只能被调用)
                应用程序,基于库函数实现的程序

所有程序的运行,都是向内核发起请求,通过内核代为访问硬件。
    运行应用程序的空间---用户空间
    运行内核的内存空间---系统空间

应用程序的执行接口API
开发程序的接口---ABI

API不同决定了不同类型操作系统的应用程序不能在其他平台执行

systemcal过于底层,后来有人开发了高级的实现--库
    专有库--.a
    共享库--.so

程序的编译方式
    静态编译--内嵌库
    动态编译--使用共享库

进程的类型
    与终端相关,通过终端启动
    与终端无关,操作系统引导启动过程中自动启动

linux内核功能
    进程管理
    内存管理
    文件系统
    网络功能
    硬件驱动
    安全机制

linux的基本法则
    由目的单一的小程序组成,组合小程序完成复杂任务
    一切皆文件
    尽量避免捕获用户接口,尽量少的与用户交互
    配置文件以文本形式保存

linux根文件系统--树形结构

FHS文件层级结构标准
        /
        ├── bin         所有用户的基本命令程序文件
        ├── boot        引导加载器必须用到的静态文件,kernel,initramfs(initrd),grub
        ├── dev        存储特殊文件或设备文件
        ├── etc        系统程序的配置文件,只能是静态的
        ├── home    普通用户的家目录
        ├── lib         位系统启动或根文件系统上的应用程序(bin,sbin)提供共享库
            以及为内核提供的内核模块/lib/modules
        ├── lib64
        ├── media    便携设备挂载点
        ├── mnt        其他文件系统的临时挂载点
        ├── opt        附加应用程序的安装目录(第三方软件)
        ├── proc        伪文件系统---多为内核参数,抽象为文件格式
        ├── root        超级管理员的家目录
        ├── run       
        ├── sbin         供管理员使用的工具程序
        ├── srv        当前主机为服务提供的数据
        ├── sys        伪文件系统--主要用来管理设备
        ├── tmp        存放临时文件---系统会定期清理
        /usr        本身也是一个层级结构
        ├── bin
        ├── etc
        ├── games
        ├── include
        ├── lib
        ├── lib64
        ├── libexec
        ├── local        安装第三方程序的目录,也是一个层级结构安装本地应用程序
        ├── sbin
        ├── share
        ├── src
        └── tmp -> ../var/tmp

/var        本身也是层级结构,经常发生变化的数据的存放位置
        ├── adm
        ├── cache
        ├── crash
        ├── db
        ├── empty
        ├── games
        ├── gopher
        ├── kerberos
        ├── lib
        ├── local
        ├── lock -> ../run/lock
        ├── log
        ├── mail -> spool/mail
        ├── nis
        ├── opt
        ├── preserve
        ├── run -> ../run
        ├── spool
        ├── tmp
        └── yp
--------------------------------------------------------------------------------
linux用户权限管理

man 5 shadow
man 5 passwd

用户,计算机的使用者,每个使用者有一个id,计算机更容易识别数字
    用户标识:用户名
    用户密码:认证手段

操作系统提供
        认证
        授权
        审计
组:用户组,用户的容器,便于实现权限分配

用户分类
    管理员
    普通用户
    系统用户
    登陆用户

用户标识:userid--UID
        16bits的二进制数字0-65535
        管理员为0
        普通用户:1--65535
            系统用户:1--499(centos5,6)
                     1--999(centos7)
            登陆用户:500--60000(centos6)
                        1000--60000  (centos7)

名称解析:
    用户名<---->UID
    根据名称解析库进行  /etc/passwd

用户组的分类
    分类1
        管理员
        普通用户

组id--GID
            管理员为0
            普通用户:1--65535
                系统用户:1--499(centos5,6)
                    1--999(centos7)
                登陆用户:500--60000(centos6)
                    1000--60000  (centos7)
    分类2
            用户的主组(基本组)
            用的附加组
分类3
    私有组:组名同用户名一样,且只有一个用户
    共有组:组内可以包含多个用户

认证信息
        通过对比事先存储的,与登陆时提供的信息是否一致
        用户密码:/etc/shadow
        组密码:/etc/gshadow
        组的信息库:/etc/group

密码的使用策略
    1使用随机面膜
    2最短长度不要低于8位
    3应该使用大小写字母,数字和标点符号四类中的三类
    4定期更换

权限管理
    进程安全上下文
    进程对文件访问权限应用模型
    进程的属主与文件的属主是否相同,如果相同则运行属主权限
    进程的属主与文件的属主不相同,对比属组权限是否相同,相同则应用属组权限
    进程的属主既不是文件的属主也不是同一属组,则应用其他人权限

九个字段RWX-RWX-RWX
        前三个是属主
        第二个是属组
        第三个是其他人
        R:读
        W:写
        X:执行

对于文件
        R:可获取文件的数据
        W:可修改文件的数据
        X可将此文件运行为进程,普通文件没有执行权限
        对于目录:
        R:可使用ls命令获取其下的所有文件列表,但是不包括详细信息不能使用ls -l
        W:可以膝盖此目录下的文件列表,即创建删除文件
        X:可以cd至此目录中,可使用ls -l

八进制权限表示法:r=4 w=2 x=1
三位数字,每个数字分别表示相应的权限如:777,664,640,600,755,750,775

注意:
    用户仅能修改属主为自己的那些文件的权限
    只有管理员能修改别人文件的权限
    只有管理员能够修改文件的属主和属组

--------------------------------------------------------------------------------
linux系统上的特殊权限
    SUID
    SGID
    STICKY

SUID:
        默认情况下,用户发起的进程,进程的属主不是其发起者;因此是不是以其发起者的身份运行,                                               
        而是以文件自己的属主身份运行。

SUID的功能:用户运行某程序时,如果此程序拥有SUID的权限,程序以其属主身份运行
        passwd命令具有SUID
        一般情况下,不建议给程序设置SUID,风险较大。
        有执行权限的为小写的s
        没有执行权限的为大写S
        chmod 设置SUID
        chmod u+1 -s file
SGID:
    一般用户创建文件夹时应用此权限的文件夹,其他用户在此目录下创建文件的属组为SGID组。不是用户的主组

SGID的功能:
    当目录属组有写权限,且有SGID权限时,那么所有属于此目录的属组,且以属组身份在此目录中创建新文件或目录时,新建的文件的属组不是用户的基本组(私有组),而是此目录的属组。
    chmod设置SGID
    chmod u+1 -s  dir

STICKY
    功能:对于属组或全局可写的目录组内的所有用户或系统上的所有用户在此目录中都能创建新文件或删除文件;如果为此类目录设置sticky权限,则每个用户能创建文件,且只能删除自己的文件。
    chmod设置STICKY
    chmod o+1 -t dir
    如果其他用户原本有执行权限则是小写t
    否则是大写T
    系统上的/tmp和/var/tmp均有STICKY权限

管理特殊权限的另一种方式
        000    0
        001    1
        010    2
        011    3
        100    4
        101    5
        110    6
        111    7
        chmod  1755

facl:
    文件的额外赋权机制,针对指定用户和组
    在原有UGO之外,另一层让普通用户能控制赋权给另外用户或组的赋权机制

setfacl -m u:用户名:rwx 文件名
           g:组名
getfacl 文件名           查看文件的facl权限

取消授权: setfacl -x u:name file
                      g:name

时间: 2024-08-02 15:12:41

m20预习笔记整理--linux基础知识的相关文章

m20预习笔记整理--linux任务计划

周期性执行任务    1.未来的某时间执行一次某任务 at.batch    2.周期性运行某任务crontab 执行结果:会通过邮件发送给用户邮件:    1只用于本机的邮件服务    2本机用户之间传递邮件    /var/spool/mail/username    注:不同于互联网的电子邮件,仅本机用户之间发送邮件        cenos5,6,7默认邮件功能都是开启的 检测邮件功能是否开启    ss -tnl    netstat -tnl    25号端口为服务端口处于监听状态 

学习笔记-《Linux基础知识之挂载详解(mount,umount及开机自动挂载)》

<Linux基础知识之挂载详解(mount,umount及开机自动挂载)>来源:Linux社区  作者:chawan 原文链接 http://www.linuxidc.com/Linux/2016-08/134666.htm 以下是学习作者这篇文章做的一些摘要及学习体会. 重要概念(经典原文引述) 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点

m20预习笔记整理--正则表达式及find

文本处理工具linux文本处理三剑客    grp:文本过滤工具(模式:pattern)    sed:文本编辑器--流编辑器    awk:linux上的实习为gawk,文本报告生成器(格式化文本) 三个工具都会用到正则表达式 Regual Expression    由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字面意义,而是用于控制或通配的功能分类    基本正则表达式    扩展正则表达式        二者区别元字符不同grep:global search regular e

【学习笔记】Linux基础知识

Linux的基本原则 1.由目的单一的小程序组成:组合小程序完成复杂任务: 2.一切皆为文件: 3.尽量避免捕获用户接口: 4.配置文件保存为纯文本格式: GUI接口: CLI接口: 命令提示符:prompt,bash(shell) #:root $:普通用户 命令: 命令格式: 命令 选项 参数 选项: 短选项:- 多个选项可以组合:-a -b = -ab 长选项:-- 参数:命令的作用对象(多个参数间用空格隔开) 使用凭证: linux系统严格区分大小写 虚拟终端(terminal):Ctr

m20预习笔记整理--bash特性

命令引用    $(command)    `command`    `` 反引号  ~符号键    [[email protected] ~]# mkdir `date +%H-%M-%S`    [[email protected] ~]# mkdir $(date +%H-%M-%S) 命令行展开    ~自动展开为用户的家目录,或指定用户的家目录(管理员可以)    {}可以承载一个以逗号分隔的路径列表,并能够将其展开为多个路径        [[email protected] ~]#

linux基础知识复习

@(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作>创建文件和目录>拷贝文件和目录>剪切文件和目录>删除文件和目录>查看文件和目录>查看文件属性>查看文件内容>过滤文件内容>编辑文件内容>统配符使用>命令别名 用户和组管理 用户基本操作>添加账户>设置密码>删除账户>修改密码组基本管理>创建组>查看组>

linux基础知识的总结

例如以下内容是我对linux基础知识的总结,由于本人在初期学习linux的时候走了不少的弯路,对于基础的掌握耗费了不少的时间,所以为了后来者对linux的基础部分有个清晰的了解,特对基础知识进行了总结,由于水平有限.难免有疏忽或者不准确的地方.希望大家可以直接指出来,我会及时改正.一切为了知识的传播.^_^ ? *********************************************************************************************

Linux基础知识入门

[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1:192.168.40.11Linux ip:192.168.40.128 2,Linux是一个操作系统, 与windows的区别:Linux:图形化界面简单,性能很快,在企业中当做服务器来使用.Windows:图形化界面很炫,性能相对差,大众用户.windows的服务器: windows2003,win

[terry笔记]data guard基础知识

如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时,同步,异步多种形式.Data Gurad 常用于异地容灾和小企业的高可用性方案,虽然可以在Standby 机器上执行只读查询,从而分散Primary 苏菊哭的性能压力,但是Data Gurad 决不是性能解决方案. 在Data Gurad 环境中,至少有两个数据库,一个处于Open 状态对外提供服