一.控制对文件的访问
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