Linux 系统管理与监视

第7个ppt

一、基础知识

1、用户账号管理

无论是从本机还是远程登录Linux系统,每个操作者都要有自己的用户账号,不同的账号对资源拥有不同的访问权限。在系统管理的范围内,除了文件资源的管理外,系统管理员最重要的工作就是用户的账号管理了。所谓用户账号管理是指账号的新建、删除、修改和账号的规划以及权限的授予等操作。Linux系统的账号分为用户账号和组账号两类:

  • 用户账号:通常一个操作者拥有一个用户账号,每个用户账号有唯一的识别号UID(User ID)。Linux系统有个根用户root,除此之外,系统中创建的用户分为管理员与标准用户,管理员用户拥有比标准用户更多的权限。
  • 组账号:每个用户账号都有自己所属组(所属组的识别号为GID(Group ID))

账号管理和查看命令:

命令 含义
useradd user 新建用户账号user
useradd -g xxx user 新建用户账号user,其属组为xxx
passwd user 修改user 的密码(root用户修改其他用户密码)
passwd 普通用户修改自己的密码
userdel user 删除user用户
usermod 修改用户属性
groupadd group 新建用户组group
groupdel group 删除用户组group
修改组成员 编辑/etc/group文件
su xxx 切换用户为xxx
whoami 显示用户自身的用户名
who 查询当前系统中有哪些用户
w 查询当前系统中有哪些用户,是who命令的增强版

2、文件访问权限管理

文件或目录的访问权限分三种:可读(readable)、可写(writable)和可执行(executable)。
不同用户可以对相同文件具有不同的访问权限。

  • 拥有者(owner)权限 u
  • 同组用户(group)权限 g
  • 其他用户(others)权限 o

在这里插入图片描述上述操作是我用ls将各个文件的详细信息列了出来,首先显示了总共的大小;之后第一个字段显示了文件的权限,再之后是文件的连接数,拥有者,所属群组,大小,最后修改时间,文件名等,值得一提的是文件权限(共有10位):

字段 含义
1 文件类型
2-4 拥有者(owner)权限
5-7 同组用户(group)权限
8-10 其他用户(others)权限
  • 文件类型:
字母 含义
d 目录
l 链接
c 字符设备
b 块设备
s socket文件
p 命令管道
- 普通文件
  • 文件权限:
字母 含义
r 可读文件的实际内容
w 可编辑添加修改文件内容
x 可执行该文件
  • 目录权限:
字母 含义
r 可读目录结构列表
w 可以更改目录结构
x 可以cd到该目录使之成为工作目录

SUID (Set UID):文件拥有者的x权限位出现s
SGID (Set GID):文件组用户的x权限位出现s
SBIT (Sticky Bit):其他用户的x权限位出现t。
• SUID位于属主的x位置,对应u+s
• SGID位于属组的x位置,对应g+s
• SBIT位于其他用户的x位置,对应o+t

SUID和SGID仅用于可执行文件, SUID表示程序执行时执行者对于该程序具有文件拥有者的权限; SGID表示程序执行时执行者对该程序具有文件所属用户组的权限。
SBIT仅对目录有效,表示当用户在此目录下创建了文件或者目录时,仅自己和root用户才能有权利删除文件。
比如:

‐rwsr‐xr‐x. 1 root root 31K 2月 22 2012 /usr/bin/passwd
‐r‐xr‐sr‐x 1 root tty 15K 7月 19 2011 /usr/bin/wall
drwxrwxrwt. 40 root root 148K 10月 13 11:01 /tmp

第一个:其他用户拥有x权限,执行该程序时,短暂获取该程序的拥有者root的权限rws。作用是让本来没有相应权限的用户在运行这个程序时,可以访问该用户没有权限访问的资源。
第二个:其他用户拥有x权限,执行该程序时,短暂获取该程序的组用户tty的权限rs。
第三个:属主root用户具有rwx权限,属组root具有rwx权限,其他用户具有rwt的权限。亦即,所有用户具有该文件夹的可读可写可cd权限,同时只有root用户、该目录下的文件所有者和目录所有者具有删除对应用户的文件及子文件夹的权限。

文件权限设置

 chmod u+s binary_file
 chmod g+s binary_file
 chmod o+t folder
 chmod u+r file1.txt 增加属主可读权限
 chmod g+r file1.txt 增加属组可读权限
 chmod o+r file1.txt 增加其他用户的可读权限
 chmod a+r file1.txt 增加所有用户的可读权限
 chmod +x file1.txt  增加所有用户的可执行权限
 chmod u‐r file1.txt 去掉属主的可读权限
 chmod 777 file1.txt #看下面

权限字母与数字

字母 数字
r 二进制表示为100,十进制为4
w 二进制表示为010,十进制为2
x 二进制表示为001,十进制为1
--- 0
r-- 4
-w- 2
--x 1
-wx 3
r-x 5
rw- 6
rwx 7

3、进程管理

进程(process)是指执行中程序的一个实例(instance)。
进程分类:

  • (1).交互进程:由shell启动的进程
  • (2).批处理进程:与终端没有联系,是进程序列
  • (3).守护进程:在后台持续运行的进程

UNIX支持多进程。每个进程仅容许在一个极短的期间执行(几微秒的时间片time slice),之后会暂时搁置,让其他等待中的进程执行。通过调度器( scheduler)负责进程的执行。

  • 进程会被指定优先级,利用nicerenice命令调整进程的优先级。
  • 平均负载(load average)给出了系统运行总负载量的一个平均值(单位时间内的可运行进程个数)。 在这里插入图片描述平均负载有三个值:第一个为1分钟内的平均值;第二个为5分钟内的平均值;第三个为15分钟内的平均值。平均负载越高,表明系统工作负荷越高,此时响应可能会陷入停滞状态。

启动进程

  • 手动启动
    • 用户在终端输入命令,就直接启动了一个进程。
    • 用户输入命令可以启动一个前台进程,前台进程控制着标准输入和输出, shell暂时挂起,命令执行完后回到shell。如ls。 后台进程命令如:
    • ls &。后台进程在后台运行,终端可继续运行其他命令。
    在这里插入图片描述出现的数字是进程的编号

  • 调度启动
    • 在指定时间运行命令,调度启动命令如at、 batch、crontab
    步骤1:在终端输入at 时间 后回车
    步骤2:每行输入一条命令
    步骤3:所有命令输入完毕后按cltr+D结束。
    在这里插入图片描述

命令 含义
at -l/atq 查看调度启动命令启动的调度进程列表,亦即作业列表
at time -f xx.sh 对文件使用调度启动
at -d/ atrm 用于删除指定的命令序列
batch 用于低优先级运行作业,该命令与at命令的功能几乎完全一样,唯一的区别在于at是在指定时间执行指定命令;而batch是在系统负载较低,资源比较空闲的时候执行指定命令
cron 可以让 crontab 安装的文件中的命令集每分钟执行一次,而前面的 at 和 batch 命令只使得命令集在规定时间执行一次
ps 进程命令
kill PID 杀死进程

at调度启动命令的其他时间格式
• at 5:30pm
• at 17:30
• at 17:30 today
• at now +5 hours
• at now +300 minutes
• at 17:3012.2.15
• at 17:302/12/15
• at 17:30 Feb12

调度启动 crontab命令
crontab调用命令的语法为:

 crontab [‐u<user>] <file>   #提交作业文件
 crontab [‐u<user>] {
    
    ‐l|‐r|‐e} #显示(‐l)、删除(‐r)和修改(‐e)作业文件
# [‐u<user>]为可选的用户名参数,默认为用户自己(不带此参数)。

在crontab源文件中,前5个域指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者指标符分割。格式如下:

<minute> <hour> <day-of-month> <month-of-year> <day-of-week> <commands>

关于每个域的说明如下:

名称 含义 合法值
minute 分钟 00-59
hour 小时 00-23
day-of-month 一个月的第几天 01-31
month-of-year 一年的第几个月 01-12
day-of-week 一周的星期几 0-6
commands 命令

如:

5,15,25,35,45,55 16,17,18 * * * command  
# 每天下午的456点的5、15、25、35、45、55分执行命令
0 15 * * 1,3,5 shutdown -r now 
# 每周一、三、五下午3:00系统进入维护状态,重新启动系统

进程查看命令ps
ps(process)用于查看linux系统所有用户进程,
• 包括当前用户、 root用户、伪用户等。
• ps命令格式:ps [选项]
• ‐e显示所有进程 ‐r显示当前终端运行进程
• ‐h不显示标题 ‐x显示所有进程不区分终端
• ‐l详细格式显示 ‐u以用户为主的格式显示进程
• ‐a显示所有终端上的进程,包括其他用户进程
在这里插入图片描述
其中:

字段 含义
USER 用户名
PID 进程ID
%CPU 进程使用的CPU时间比例
%MEM 进程使用的内存占可用内存的比例
VSZ 进程在内存中的大小以kB为单位
RSS 进程在未换出时占用的物理内存
TTY 进程启动时的终端设备
STAT 代表当前进程状态的双字符状态码。

关于状态:

字母 含义
< 该进程运行在高优先级上
N 该进程运行在低优先级上
L 该进程有页面锁定在内存中
s 该进程是控制进程
S 进程处于休眠
R 进程正在运行
Z 僵尸进程
T 进程停止
l 该进程是多线程的
+ 该进程运行在前台

4、系统监视

命令 含义
top 实时监视系统的资源 按ctrl+Z或q键退出top
free ‐m 以MB为单位查看内存使用情况
df ‐h 以MB和GB为单位查看磁盘空间

在这里插入图片描述
其中:

字段 含义
PID 进程ID
USER 进程属主的名字
PR 进程优先级
NI 进程的谦让度值
VIRT 进程占用的虚拟内存总量
RES 进程占用的物理内存总量
SHR 进程和其他进程共享的内存总量
S 进程状态(D代表中断的休眠状态、R代表正在运行状态、S代表休眠状态、T代表跟踪状态或停止状态,Z代表僵化状态)
%CPU 进程使用的CPU时间比例
%MEM 进程使用的内存占可用内存的比例。
TIME+ 进程自启动到当前时间的CPU时间总量
COMMAND 启动的程序名

二、操作技巧

1、ubuntu 登陆 root 账户

Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter. 之后终端会提示输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令 su root,再输入新的密码就ok了。
在这里插入图片描述

2、at 执行文件并输出到文件

st1: 编辑.sh文件
在这里插入图片描述
st2: 提交作业

at 16:25 today -f ./test.sh

st3: 查看作业,显示已完成

at -l

st4: 查看结果

cat result.txt

3、crontab 命令

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Gou_Hailong/article/details/109646922