红帽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
红帽RHCE培训-课程2笔记内容的更多相关文章
- 红帽RHCE培训-课程1笔记内容
ssh -X root@s0 1.环境变量 env 系统变量名都为大写; 引用变量名对应的值时使用$引导: SHELL下,修改变量临时生效. # PS1=' # ' # echo $PS1 永久生效放 ...
- 红帽RHCE培训-课程3笔记内容2
9 NFS 9.1 NFS基础 目标 .使用NFS将文件系统连接到客户端,并使用IP 地址控制访问 .使用NFS将文件系统连接到客户端,并使用kerberos 来控制访问 .配置用户名和密码控制访问的 ...
- 红帽RHCE培训-课程3笔记内容1
1 控制服务和守护进程 systemctl systemctl start ** systemctl restart ** systemctl enable ** systemctl status * ...
- 红帽RHCE培训-课程3笔记目录
目录: 1 控制服务和守护进程 systemctl systemctl restart enable servicename service servicename restart chkconfig ...
- 红帽RHCE培训-课程2笔记目录
目录 1 kickstart自动安装 DHCP+TFTP(syslinux) +FTP +KICKSTART ~/anaconda-ks.cfg system-config-kickstart 2 g ...
- 红帽RHCE培训-课程1笔记目录
目录 1.环境变量 env 2.man手册mandb;系统日志/var/log/messages 3.重定向和管道> 2> &> | tee 4.mail mail -s 标 ...
- 4.bootstrap练习笔记-内容区块
bootstrap练习笔记-内容区块 1.bootstrap中,采用的全部是div布局,把你的内容首先要包含在一个大的DIV区块当中 2.然后再写一个div.container,这个div里面存放真正 ...
- 01_Hadoop学习笔记内容说明
Hadoop学习笔记内容说明_00 1. 观看云帆大数据梦琪老师的<企业级 Hadoop 1.x 应用开发基础课程>2014年4月左右版本. 2. 博客是在梦琪老师的随堂笔记上改动的, ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
随机推荐
- 【Unity|C#】基础篇(6)——const、readonly、static readonly
[学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...
- 关于强类型、ViewData
对于ASP.NET MVC中页面强类型的个人理解 进入ASP.NET MVC学习 发现很多和winfrom不同的东西,但是利用的C#语言还是没有变化,更多的是利用了新的语言,html jquery ...
- Python入门5 —— 基本运算符
1.算数运算符('+'.'-'.'*'.'/'.'//'.'%'.'**') print(10 + 3) -- 输出:13 print(10 - 3) -- 输出:7 print(10 * 3) -- ...
- 【15】【有点特殊的dp】 剪绳子
题目 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]k[1]...* ...
- Git push 报错error: failed to push some refs to 'git@github.com'
出错原因 当我们在github版本库中发现一个问题后,你在github上对它进行了在线的修改:或者你直接在github上的某个库中添加readme文件或者其他什么文件,但是没有对本地库进行同步.这个时 ...
- java&python使用对比的浅析
本人写了一段时间java了,最近半年在写python,遂想将其使用中的共同点和异同点整理出来,方便自己和大家学习. 两者的本质区别,请参考如下别人写的帖子: https://blog.csdn.net ...
- array.find()方法
//array.find(function(currentValue, index, arr),thisValue) 方法说明 let tempArray = [ {"key":1 ...
- Windows下PHP安装 Imagick 扩展
1.下载拓展下载地址一: http://windows.php.net/downloads/pecl/releases/imagick/下载地址二: https://pecl.php.net/pack ...
- Go_sqlx和占位符
sqlx使用 第三方库sqlx能够简化操作,提高开发效率. 安装 go get github.com/jmoiron/sqlx package main import ( "fmt" ...
- Android 使用 MPAndroidChart 实现折线图
Android 使用 MPAndroidChart 实现折线图 做Android项目的时候用到了折线图,不光折线图,还可能遇到很多的图表需要展示渲染,自己手画的话那好玩了,今天使用MPAndroidC ...