ch5
- 什么是用户?什么是组?
在Red Hat Enterprise Linux系统中,每个用户都拥有一个唯一的标识符,称为用户ID( UID)。
Red Hat Enterprise Linux系统中的用户至少属于一个组, 称为用户分组。
用户分组是由系统管理员建立的,一个用户分组内包含若干个用户,一个用户也可以归属于不同的分组。
用户分组也有一个唯一的标识符, 称为分组ID (GID )。对某个文件的访问都是以文件的用户ID和分组ID为基础的。同时根据用户和分组信息可以控制如何授权用户访问系统,以及允许访问后用户可以进行的操作权限。
- 什么是用户的登陆shell
当用户登陆系统时所取的shell。
登录shell属于交互shell。
- 用户的登陆shell有哪儿些?
登录式shell
非登录式shell
- 不允许用户登陆系统应该如何设置用户的登陆shell
将其shell设置为 /usr/sbin/nologin 或 /bin/false
#usermod -s | --shell /usr/sbin/nologin {username}
#usermod -s | --shell /bin/false {username}
- 什么是密码策略?
主要是通过 /etc/login.defs 与 pam_cracklib.so 实现
设置密码的有效期和最小长度
设置用户密码的复杂度
- Linux下用户的密码策略有哪儿些?
Linux用户密码的有效期,是否可以修改密码可以通过login.defs文件控制。
对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可以使用chage命令。
Linux用户密码的复杂度可以通过pam pam_cracklib module或pam_passwdqc module控制,两者不能同时使用。
[Linux用户密码策略](https://www.cnblogs.com/cheyunhua/p/8342819.html)
- 如何让用户的密码永不过期?
usermod -e //设置密码用户密码过期时间
使用管理员权限运行命令chage,设置某个用户的密码永不过期
sudo chage -m 9999 username//将用户名密码设置为9999天过期。
- 如何让用户下次登陆系统必须修改密码?
让用户密码过期,就可以让其修改密码。修改密码用chage,将上次密码更改的日期设置为0。
chage [选项] 用户名
chage -d 0 用户名
ch6:
- 什么是磁盘?
存储需永久保存的数据(访问速度慢,成本低)
- 磁盘有哪儿些格式?有哪儿些组成?
FAT:文件分配表
FAT32
NTFS
目前常见的磁盘包括 硬盘、软盘、光盘、磁带与闪存。
- 磁盘的接口有哪儿几种?
IDE磁盘、SCSI磁盘、软盘、移动磁盘
- 什么是文件系统?
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法
- Linux中常见的文件系统有哪儿几种?
Linux中默认使用的文件系统类型:
EXT4, 第4代扩展(Extended)文件系统
SWAP,交换文件系统
Linux支持的其它文件系统类型
FAT16、FAT32、NTFS
XFS、JFS
……
- 如何使用服务器共享的文件系统?
1. Samba(用于Linux 和windows之间的共享,ubuntu里面默认没有安装samba)
2. NFS (Network File Service),NFS用于Linux系统之间的文件共享。
3. tftp形式进行共享
Linux用户密码策略
7. 如何实现永久访问共享文件系统?
Linux 上永久挂载一个 Windows 共享
8. 什么是交换空间?用来做什么?
交换内存是Red Hat Enterprise Linux用来暂时取代物理内存,以提供更多内存空间的一种机制。
依照空间单位分为:
分区类型的交换内存:效率高,弹性差。
文件类型的交换内存:弹性佳,效率较差。
ch7:
- 什么是LVM?
Logical Volume Manager,逻辑卷管理
它是Linux环境下对磁盘分区进行管理的一种机制
屏蔽了底层磁盘布局,便于动态调整磁盘容量。
需要注意:
/boot分区用于存放引导文件,不能应用LVM机制
- 什么是PV、VG、LV?
PV(Physical Volume,物理卷)
整个硬盘,或使用fdisk等工具建立的普通分区
包括许多默认4MB大小的PE(Physical Extent,基本单元)
VG(Volume Group,卷组)
一个或多个物理卷组合而成的整体
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,用于建立文件系统
- PV、VG、LV之间的相互关系?
- 逻辑卷是否可以在线扩容、缩小?
可以。
放大:先放大LV,再放大系统文件。
缩小:先缩小系统文件,再缩小LV。
- 文件系统是否可以在线扩容和缩小?
可以
对于具有LVM类型的分区,可以组成PV;
VG是由一个个PV组成,不可以直接使用;
VG类似于扩展分区,随着VG中的PV的增减,VG也会自动增减;
VG的上层就是LV,LV就类似于逻辑分区,通过将LV格式化(也就是创建文件系统),挂载后,就可以使用。
- 缩小逻辑卷或文件系统应注意哪儿些?
一定要做好备份。
在缩小ext4文件系统时,先卸载ext4文件系统。放大则无此限制。
- 如何创建逻辑卷?
(1)、新建空分区
fdisk -c /dev/vdb
(2)、查看分区
fdisk -l
(3)、创建物理卷
格式:pvcreate 设备名
(4)、创建卷组
- 卷组的PE默认大小是多少?
4MB
ch8:
- 什么是程序?什么是进程?
进程是指一个程序在其自身的虚拟地址空间中的一次执行活动,是系统资源分配和调度的基本单位。
程序则是指存储在磁盘上包括可执行机器指令和数据的静态实体。
两者的不同之处主要如下。
(1)程序只是个静态的指令集合,而进程是一个程序的动态执行过程,它具有生命周期,是动态地产生和消亡的。
(2)进程是系统资源分配和调度的基本单位,因此,它使用系统的运行资源。而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,它不占用系统的运行资源。
(3)程序和进程无一对应的关系。 一方面一个程序可以由多个进程所共用,即一个程序在运行过程中可以产生多个进程;另一方面, 一-个进程在生命期内可以顺序地执行若干个程序。
Red Hat Enterprise Linux操作系统是多任务的,如果一个应用程序需要几个进程并发地协调运行来完成相关工作,系统会安排这些进程并发运行,同时完成对这些进程的调度和管理任务,包括CPU、内存、存储器等系统资源的分配。
- 程序与进程的关系?
程序:
保存在硬盘、光盘等介质中的可执行代码和数据
是静态保存的代码
进程:
在CPU及内存中运行的程序代码
是动态执行的代码
父、子进程:每个进程可以创建一个或多个进程
- 进程的类型有哪儿些?
(1)交互进程:由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
(2)批处理进程:不与特定的终端相关联,提交到就绪队列中顺序执行的进程。
(3)守护进程:是指在后台运行而又没有终端或登录Shell与之结合在一起的进程。 守护进程经常在系统启动时开始运行,在系统结束时停止。这些进程没有控制终端,所以称为在后台运行。
- 进程的状态分几种?分别是什么?
主要状态如下:
运行态
等待态
停止态
僵死态
- 什么是僵尸进程?危害有哪儿些?
当子进程(child process)先于父进程(parent process)退出,但是父进程没有调用wait/waitpid回收子进程的资源,则子进程变成僵尸进程。
危害:
进程的退出状态必须被维持下去,父进程如果一直不读取,那子进程就一直处于Z状态。
维护退出状态本身就是要用数据维护,也属于进程基本信息,所以保存在task_struct(PCB)中。Z状态一直不退出,PCB一直都要维护。
如果进程不调用 wait / waitpid 的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,
但是系统所能使用的进程号是有限的,如果大量的产生僵死进程,将因为没有可用的进程号而导致系统不能产生新的进程。
- 什么是计划任务?
一次性或周期性地自动完成某些任务。
- 计划任务有哪儿些?
一次性计划任务 at调度
周期性计划任务 cron调度
- 如何查看计划任务?
atq(查看计划任务)
atm(删除任务计划)
- 能否给其他用户设置计划任务?
crontab 命令--管理用户的计划任务
-u:指定所管理的计划任务属于哪个用户,默认是当前用户。
一般只有 root 用户有权限使用此选项(用于编辑、删除其他用户的计划任务);
ch9:
- 什么是软件?
程序
链接库
脚本
-
常见软件包的封装类型有哪儿些?
-
RHEL软件包封装的类型是什么?
RPM
- 软件包的一般格式是什么?
常见的格式包括有rpm、tar、gz、tgz、bz、bz2等等
- YUM源配置文件应放在哪儿?
yum的一切配置信息都存储在一个叫yum.repos.d目录下的配置文件中。
配置方式:
1、配置YUM源配置文件
存放目录/etc/yum.repos.d
命名规则***.repo,如:dvd.repo
文件格式示例:
[dvd]
Enabled=1
name=dvd
baseurl=http://instructor.example.com/pub/rhel6/dvd
gpgcheck=0
2、清空YUM源缓存
yum clean all
3、安装软件
- 源代码包安装的步骤有哪儿些?
(1)、获得软件。
获取渠道:
直接从软件提供者获取。
重要的FTP服务器。
著名软件搜索引擎。
解压源代码包
(2)、编译前的准备工作。
1)详细阅读文件。
2)准备编译所需的组件。
3)设置编译参数。
准备完成后,进入相应的目录,执行指定的脚本(多少需要安装gcc编译器)
(3)、开始编译。
最简单的方式,是通过make工具编译
(4)、安装与部署。
使用make配合install这个Makefile定义的TARGET进行安装的动作。
安装完成,进入安装目录下的bin目录中执行apachectl命令,就可以使用编译安装好的apache软件来启动http服务器了
ch11
-
图形界面的网络工具是什么?
-
使用ping命令测试主机到网关地址的网络连接
使用Ctrl+c 组合键结束ping命令执行。
-
练习使用nslookup命令的交互模式进行域名查询
-
如何进行路由追踪
-
如何永久修改主机名