Linux入门第四天

本文介绍了Linux系统中控制文件访问的方法,包括文件权限的优先级、查看和修改权限的命令如ls和chmod,以及特殊权限如setuid和setgid。同时,文章还涵盖了进程管理的内容,如进程的状态、使用ps列出进程、在后台运行作业以及kill和pkill命令来控制和发送信号给进程。
摘要由CSDN通过智能技术生成

一.控制对文件的访问

1.Linux 文件系统权限

文件权限控制对文件的访问

        权限具有优先级,user 权限覆盖 group 权限, group 覆盖 other 权限

        有三种权限类别:读取、写入和执行

查看权限及所有权

        ls -l 命令显示文件的权限和所有权,-d 选项显示所属目录的权限和所有权

        第一位文件类型:- 普通文件,d 目录,l 软链接,b 和 c 是硬件设备,接 下来九位代表文件权限,分三组,每组三个字符,每组分别对应所属用户、 所属组、其他用户权限,权限可以表示为:r w x 或 - ,权限依据优先匹 配原则

更改文件和目录权限

        chmod (change mode) 命令用于修改文件权限

符号法: - Who 是指 u、g、o、a(代表用户、组、其他、全部) - What 是指 +、-、=(代表添加、删除、精确设置) - Which 是指 r、w、x 或 X(代表读取、写入、执行)

数值法: - 每个数字代表一个访问级别的权限:user、group、other - 用八进制数字的 4、2、1 分别代表读取、写入和执行 - 有经验的管理员通常使用数值权限,简短方便

更改文件和目录的用户或组所有权权限

        新文件由创建该文件的用户所有,只有 root 用户可以更改文件的用户

        组所有权可以由 root 用户或文件的所有者来设置,root 用户可将文件所 有权授予任何组,而普通用户仅可将文件所有权授予他们所属的组。

特殊权限

        特殊权限构成了除了基本用户、组和其他类型之外的第四种权限类型。

        用符号表示:setuid = u+s;setgid = g+s;sticky = o+t

        用数值表示(第四位):setuid = 4;setgid = 2;sticky = 1

文件默认权限

        shell 会话还会设置一个 umask,进一步限制初始设置的权限,这是一个 八进制位掩码,用于清除由该进程创建的新文件和目录的权限。

        例如,umask 0002 可清除其他用户的写入位,前导零表示特殊的用户和 组权限未被清除 umask

        不带参数运行 umask 命令将显示 shell 的当前 umask 值。系统上的每个 进程都有一个umask。Bash 的默认 umask 在 /etc/profile 和 /etc/bashrc 文件中定义。

二.监控和管理Linux进程

进程 process 是正在运行的程序,包括:

        - 分配的内存地址空间 - 安全属性,包括所有权和特权

        - 一个或多个线程

        - 进程状态

进程的环境包括

        - 本地和全局变量

        - 当前调度上下文

        - 分配的系统资源,如文件和网络端

列出进程

        ps 命令用于列出当前进程,包括:

        - 运行进程的用户 UID

        - 进程 PID

        - CPU 在其上运行时间

        - 分配的内存量

        - 进程的 stdout 位置,称为控制终端

        ps 的常用选项是 aux 、 -ef 、lax(长列表)

在后台运行作业

        在命令后加 & 即可在后台启动,shell 继续显示提示符

        jobs 命令可以显示作业列表

        fg %jobid 可将后台作业转至前台

        ctrl+z 可将前台进程放到后台,并暂停运行

        ps j 命令显示作业信息,如果进程状态是 T,表示暂停

        bg %jobid 可以在后台继续运行作业

使用信号控制进程

        一般 signals 分为三种类型:

        - Term 立即关闭

        - Core 保存程序的内存映像(核心转储),然后终止

        - Stop 程序暂停运行,等待恢复运行

使用信号控制进程

        使用 kill 命令来向进程发送 signals :

        - kill 命令可以向进程发送任何 signals

        - kill -l 查看可以发生的 signals

        - kill -signa

        使用 killall 命令发送 signals:(killall 可以匹配命令名称、特定用户的进程 或系统的所有进程)

        使用 pkill 可以向命令、UID 、 GID、子进程、 terminal 发送 signals:

以管理员身份注销用户

        w 命令可以显示当前登录系统的用户

        其中 TTY 列显示用户的位置,pts/ 表示图形化终端,tty 表示文字界面终端  所有用戶登录会话都与某个终端设备 (TTY) 相关联

        pkill -SIGKILL –u username 会强制中断某一用户的所有进程

解读 load average

        uptime 命令可以显示当前 load average,lscpu 可以显示 cpu 数量。  将 load average 除以 cpu 数量,如果负载接近 1,表示 cpu 负载非常高

实时进程监控

        top 命令默认每隔 5 秒刷新动态负载 

        top 还能输出:PID、进程所有者 USER、虚拟内存 VIRT、物理内存 RSS、 进程状态、CPU 时间 TIME(自启动以来总处理时间)、进程命令名称 COMMAND

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值