• 红帽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

  • 相关阅读:
    被.net郁闷的一天
    使用批处理出现奇怪的现象
    我们应该更相信ghost
    asp.net设置默认按钮的一种方法(041217更新)
    asp中access到sql server导入升级后要做的工作。
    一种简单方便的权限控制方案
    为何我的本本不能打开休眠功能?
    祝贺自己的blog开张
    sql server中分页获取数据的存储过程
    httpcompress实际效果能有多少?
  • 原文地址:https://www.cnblogs.com/DaweiJ/p/8463366.html
Copyright © 2020-2023  润新知