红帽RHCE培训-课程2笔记内容

 

 

1 kickstart自动安装

已安装系统中,在root下述目录会自动生成kickstart配置文件

ll ~/anaconda-ks.cfg

关键配置元素注释,详见未精简版

 

创建Kickstart配置文件

yum list *kick*

system-config-kickstart

yum install system-config-kickstart

包安装后,在应用-系统工具中有kickstart

使用system-config-kickstart实用程序创建kickstart配置文件

--有两种方法来创建一个启动配置文件:

1、使用系统配置与实用( system-config-kickstart)

2、使用文本编辑器(vi,vim 模板/root/anaconda-ks.cfg )从已安装的系统中拷贝一份

 

Kickstart安装步骤: 详见Virtualization and AutomatedInstallation.docx

1、创建安装源(FTP、NFS)

2、编辑DHCP配置文件,启动DHCP服务器

3、创建启动引导界面配置文件,启动TFTP服务器(TFTP)

4、创建kickstart配置文件

PXE网卡启动 实用kickstart自动安装

PXELinux

DHCP+TFTP(syslinux) +FTP +KICKSTART

原理:

PXE网卡启动

-=>DHCP服务器获得IP

-=>TFTP下载“pxelinux.0"、“vmlinuz”、“initrd”

-=>启动系统

-=>FTP下载文件

 

tftp ftp

小文件 大文件

局域网 广域网

UDP TCP

无用户 用户

桌面服务

gdm = gnome desktop manager

 

2 grep sed

# touch /tmp/{a..c}{1..3}

# ls /tmp/[ac]*

# ls /tmp/[a-c]*

# grep ^S /etc/selinux/config 以S开头的行

# grep ^S.*= /etc/selinux/config 以S开头并且包含=的行 SELINUX=enforcing .为占位符

# grep root /etc/passwd 含root的行

# grep -n root /etc/passwd 含root的行 并显示行号

# grep -n ^root /etc/passwd 以root开头的行 显示行号

# grep -n nologin$ /etc/passwd 没有bash的用户 ,即查找以nologin结尾的行

# grep -n nologin$ /etc/passwd | wc -l 统计行数wc -l

# grep -i ^his /etc/profile 以his开头的行,不区分大小写

# grep -v '#' /etc/fstab 不包含#的行

# grep -v '#' /etc/fstab | grep -v ^$ 不包含#号的行,且忽略空行^$

# ip add show | grep inet

# ip add show | grep -A 1 inet 输出含inet的行及其一行

# ip add show | grep -B 1 inet 输出含inet的行及其一行

# grep -e ^root -e student /etc/passwd -e查找字符串,多条件同事查找

# grep -E '^root|student' /etc/passwd -E后跟多个条件,各条件以|连接

两条命令均为:查找以root开头的行,或包含student的行

# man sed 查找文件内容并替换

# sed '/=/anei rong' /etc/selinux/config 在每个含=的行后,都增加显示一行nei rong,实际未写入文件,仅显示在屏幕

# sed -i '/=/anei rong' /etc/selinux/config 在每个含=的行后,都增加一行nei rong,-i交互

# sed -i '/nei rong/d' /etc/selinux/config 将含neirong的行删除

# sed -i '/^SELINUX=/s/=.*/=permissive/' /etc/selinux/config 将以SELINUX=开头的行中=及其之后的内容,修改为=permissive

# sed -i.bk '/^SELINUX=/s/=.*/=enforcing/' /etc/selinux/config

将以SELINUX=开头的行中=及其之后的内容,修改为=permissive,并把原文件备份为config.bk

 

3 计划任务

3.1 at 一次性任务

systemctl status atd

at 11:00

输入执行,例如echo haha>/tmp/1100.txt

<ctrl+d>

atq查询

atrm 删除

3.2 cron 循环服务 最小单位分

systemctl status crond

crontab -e 编辑

查找帮助:vim /etc/crontab 或 man 5 crontab

* * * * * 命令

分 时 日 月 年 星期 命令

*/5 8-20 * * * command 每天8到20点,每隔五分钟执行

crontab -l 查看

crontab -r 删除

 

配置文件/etc/cron.deny 拒绝使用crontab的用户,直接添加用户名

crontab -e -u student编辑其他用户的计划任务

# vim /etc/cron.deny

...

student

cron相关日志/var/log/cron

 

4 优先级 nice renice

nice可分配的-20~19 高~低

 

dd if=/dev/zero of=/dev/null bs=1K &

ps -o pid,nice,cmd 查看优先级nice

修改正在运行的进程优先级

renice -n -10 31034

在运行进程时指定优先级

nice -n -7 dd if=/dev/zero of=/dev/null bs=1K &

普通用户只能降低优先级

# top

# killall dd

 

5 facl == file Access control list

文件的访问控制ACLs

设置ugo之外,具体的访问控制权限

访问控制列表的概念

标准Linux文件权限,有局限性。

ACL允许细粒度的权限被分配到一个文件。

文件的所有者可以设置ACL在单个文件或目录。

新的文件和子目录,可以自动从父目录的默认ACL继承ACL设置。

getfacl 文件 获取文件权限

getfacl . 获取当前目录权限

 

setfacl [参数] 文件或目录

-m 设定的ACL参数给文件使用

-x 删除ACL参数

-b 删除全部ACL参数

-k 删除预设的ACL参数

-R 递归设定ACL参数

-d 设定预设参数,default,只对目录有效,在该目录新建的数据会引用此默认值[参数] 文件或目录

选项,先-d 后其他,设定默认facl

单独-m设定即时生效facl

 

# touch /folder/file

# setfacl -m u:student:rwx /folder/file 用户student可读写

# getfacl /folder/file

# setfacl -x u:student /folder/file 删除student权限

# getfacl /folder/file 但mask未删除 权限标示仍为+

# setfacl -x mask /folder/file 删除mask 权限标示恢复为.

# setfacl -m g:wheel:rwx /folder 目录设置组wheel权限 无-d,目录中新创建文件无法继承

# setfacl -b /folder 删除所有facl权限-b

# setfacl -d -m g:wheel:rwx /folder other无法继承,user group可以继承

 

备份acl权限及恢复

# mkdir /mnt/backup

# mount classroom:/home/guests /mnt/backup

# getfacl -R /folder > /mnt/backup/s0_yymmdd.bk

# setfacl -R -b /folder

# ll -d /folder /folder/*

# setfacl --restore /mnt/backup/s0_yymmdd.bk

# getfacl /folder

 

当facl权限和原组 用户权限冲突时:

匹配,取小

 

6 管理SELinux安全

考点

selinux security enhanced linux

semange port vim /var/log/messages Listen 8089

chcon LINUX和windows互相共享 samba +filesystem

setsebool ftp +firewall

/.autorelabel single单用户跳密码

/etc/selinux/config SELINUX开关

 

ll -Z /var/www查看上下文关系-Z

 

chcon 修改上下文

resotrecon 恢复文件至默认的安全上下文

resotrecon -Rv /var/www将目录下所有文件的上下文关系恢复至和目录一致

nv /tmp/file1 /var/www/html拷贝文件及上下文关系至目标位置

cp /tmp/file2 /var/www/html拷贝文件,但上下文关系继承目标目录

semanage也可用于给目录添加上下文关系

semanage fcontext -a -t httpd_sys_content_t '/common'

 

6.1 实验1:/etc/selinux/config SELINUX开关

/etc/selinux/config 中

SELINUX=enforcing 强制启动 on # setenforce 1 # getenforce

---------=permissive 警告启动 on # setenforce 0

---------=disable 停止 off

on | off # shutdown -r now

getenforce

setenforce (1 | 0 ) 命令立即生效

改配置文件,重启生效

-----------实验命令------------

# vim /etc/selinux/config 修改配置文件,重启生效

...

SELINUX=permissive

# grep ^SELINUX= /etc/selinux/config

# setenforce 0

# getenforce

 

6.2 实验2:chcon LINUX和windows互相共享 samba SMB

# yum list samba samba-common samba-client

原文地址:https://www.cnblogs.com/DaweiJ/p/8463366.html