zoukankan      html  css  js  c++  java
  • Linux云自动化运维第九课

    第一单元 自动安装RED HAT ENTERPRISE LINUX

    一、Kickstart 概述

    1.使用kickstart,系统管理员可以创建一个包含安装期间所有常见问题的答案的文件,以自动安装Red Hat Enterprise Linux

    2.Kickstart类似于Oracle solaris中的Jumpstart或Microsoft Windows的无人值守安装

    二、Kickstart制作工具安装

    1.软件包

    #system-config-kickstart

    2.安装

    #yum install system-config-kickstart

    eg:[kiosk@foundation42 mnt]$ ssh root@172.25.254.142 -X

    root@172.25.254.142's password:

    Last login: Fri Mar 31 21:25:25 2017 from foundation42.ilt.example.com

    [root@localhost ~]# yum install system-config-kickstart -y

    三、创建kickstart文件

    1.使用system-config-kickstart工具

    2.使用文本编辑器

    #模板:/root/anaconda-ks.cfg

    #编辑完成后使用ksvalidator命令校验正确性

    eg:[root@localhost ~]# system-config-kickstart

    /usr/share/system-config-kickstart/kickstartGui.py:104: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

      xml = gtk.glade.XML ("/usr/share/system-config-kickstart/system-config-kickstart.glade", domain="system-config-kickstart")

    /usr/lib/python2.7/site-packages/scdate/core/zonetab.py:241: RuntimeWarning: Untranslated time zone: Antarctica/Troll

      entry = ZoneTabEntry(code, lat, long, tz, comments)

    /usr/lib/python2.7/site-packages/scdate/core/zonetab.py:241: RuntimeWarning: Untranslated time zone: Europe/Busingen

      entry = ZoneTabEntry(code, lat, long, tz, comments)

    /usr/lib/python2.7/site-packages/scdate/core/zonetab.py:241: RuntimeWarning: Untranslated time zone: Asia/Khandyga

      entry = ZoneTabEntry(code, lat, long, tz, comments)

    /usr/lib/python2.7/site-packages/scdate/core/zonetab.py:241: RuntimeWarning: Untranslated time zone: Asia/Ust-Nera

      entry = ZoneTabEntry(code, lat, long, tz, comments)

    已加载插件:langpacks

    [root@localhost ~]# vim /mnt/kss.cfg

    [root@localhost ~]# cd /mnt/

    [root@localhost mnt]# ls

    file1  file2  file3  ks.cfg  kss.cfg  mailbackup

    [root@localhost mnt]# ksvalidator kss.cfg

    [root@localhost mnt]# yum install httpd -y

    已加载插件:langpacks

    软件包 httpd-2.4.6-17.el7.x86_64 已安装并且是最新版本

    无须任何处理

    [root@localhost mnt]# systemctl stop firewalld.service

    [root@localhost mnt]# systemctl start httpd

    [root@localhost mnt]# ls

    file1  file2  file3  ks.cfg  kss.cfg  mailbackup

    [root@localhost mnt]# cp kss.cfg  /var/www/html/

    [root@localhost mnt]# cd /var/www/html/

    [root@localhost html]# ls

    ks.cfg  kss.cfg

    四、选择明细

    –basic configuration------------基本信息设定

    –installation method------------安装模式选择

    –boot loader options------------引导程序选项

    –partition information------------分区划分策略

    –authentication------------认证加密方式

    –firewall configuration------------火墙配置信息

    –display configuration------------图形界面选择

    –package selection------------软件包选择

    –pre-installation------------安装前执行脚本

    –post-installation------------安装后执行脚本

    五、Kickstart文件参数解析

    1.%end------目的结束

    2.%packages------安装包

    3.%pre------安装前执行脚本

    4.%post------安装后执行脚本

    5.url------安装源路经

    6.repo yum------源地址

    7.text------文本安装

    8.vnc------安装时开启vnc

    9.Askmethod------交互模式

    10.clearpart------删除分区

    11.part------分区策略

    12.ignoredisk------跳过磁盘

    13.bootloader------引导程序设定

    14.volgroup-------lvm组设定

    15.logvol------lvm设定

    16.zerombr------清空 mbr

    17.network------网路设定

    18.firewall------火墙设定

    19.lang------语言设定

    20.keyboard------键盘设定

    21.timezone------时区设定

    22.auth------认证方式选择

    23.rootpw------root 密码

    24.selinux------selinux 设定

    25.services------开机启动服务

    26.group, user------用户组建立

    27.logging------安装日志设定

    28.firstboot------首次启动设定

    29.reboot, poweroff, halt------安装完成动作

    eg:vim /mnt/kss.cfg

    #%packages

    #@base

    #lftp

    #%end

    六、为安装程序提供kickstart文件

    1.网络服务器 :FTP 、 HTTP 和 NFS

    2.DHCP/TFTP 服务器

    3.USB 磁盘或 CD-ROM

    4.本地磁盘

    七、创建引导介质

    1.安装磁盘

    2.PXE

    3.boot.iso

    八、使安装程序指向kickstart文件

    1.ks=http://server/dir/file

    2.ks=ftp://server/dir/file

    3.ks=nfs:server:/dir/file

    4.ks=hd:device:/dir/file

    5.ks=cdrom:/dir/file

    第二单元 控制对文件的访问

    一、权限列表的读取

    [root@localhost Desktop]# getfacl file

    # file: file   ###文件名称

    # owner: root   ###文件所有人

    # group: root   ###文件所有组

    user::rw-   ###用户权限

    user:student:rwx   ###特殊指派student用户及读写执行权限   

    group::r--   ###组权限

    mask::rwx   ###可指派最大权限

    other::r--   ###其他人权限

    二、setfacl用于设置或修改文件的ACL

    1.setfacl -m u:bob:rw filename   ###授予用户bob读写权限

    2.setfacl -m g:westos:rw filename   ###授予组westos读写权限

    3.setfacl -m g:redhat:r filename   ###授予组redhat读的权限

    4.setfacl -x u:bob filename   ###删除用户bob的ACL权限

    5.setfacl -m o::- filename   ###修改其他所有人的权限为空

    eg:[root@localhost Desktop]# setfacl -m u:bob:rw file

    [root@localhost Desktop]# setfacl -m g:westos:rw file

    [root@localhost Desktop]# setfacl -m g:redhat:r file

    [root@localhost Desktop]# getfacl file

    # file: file    ###文件名称file

    # owner: root   ###文件所有人root

    # group: root   ###文件所有组root

    user::rw-   ###所有人权限读写

    user:student:rwx   ###特殊指派student用户及读写执行权限

    user:bob:rw-   ###特殊指派bob用户及读写权限

    group::r--   ###所有组权限读

    group:westos:rw-   ###特殊指派westos组及读写权限

    group:redhat:r--   ###特殊指派redhat组及读权限

    mask::rwx   ###可指派最大权限读写执行

    other::r--   ###其他人权限读

    [root@localhost Desktop]# setfacl -x u:bob file   ###删除bob用户的ACL权限

    [root@localhost Desktop]# getfacl file

    # file: file

    # owner: root

    # group: root

    user::rw-

    user:student:rwx

    group::r--

    group:westos:rw-

    group:redhat:r--

    mask::rwx

    other::r--

    [root@localhost Desktop]# setfacl -m o::- file   ###修改其他人权限为空

    [root@localhost Desktop]# getfacl file

    # file: file

    # owner: root

    # group: root

    user::rw-

    user:student:rwx

    group::r--

    group:westos:rw-

    group:redhat:r--

    mask::rwx

    other::---

    三、ACL 掩码及继承

    1.具有 ACL 的文件拥有一个“mask”(掩码),这个掩码既能够限制拥有该文件的组的最大权限,有能够限制ACL中的补充用户和组所拥有的最大权限

    #setfacl -m m:rwx file

    2.目录可以有“默认ACL”条目,系统自动针对在该目录中创建的新文件设置这些条目,这类似setgid权限的方法(针对目录时),使得在该目录中创建的新文件归拥有该目录的组所有

    #setfacl -m d:u:bob:rw directory

    四、设备权限列表加载

    1.挂载文件系统之后,必须启用对POSIX ACL条目的支持

    2.安装程序会配置它创建的所有ext4文件系统,以自动启用ACL支持

    #tune2fs -l /dev/sda1 |grep "Default mount"

    Default mount options:

    user_xattr acl

    3.如果手动格式化文件系统,则需要使用acl挂载选项挂载该系统

    #tune2fs -o user_xattr,acl /dev/sda1

    eg:[root@localhost lianxi]# ll file

    -rw-r--r--. 1 root root 0 Apr  1 01:43 file

    [root@localhost lianxi]# setfacl -m u:student:rw file   ###授予用户student读写权限

    [root@localhost lianxi]# ll file

    -rw-rw-r--+ 1 root root 0 Apr  1 01:43 file

    [root@localhost lianxi]# getfacl file

    # file: file

    # owner: root

    # group: root

    user::rw-

    user:student:rw-

    group::r--

    mask::rw-

    other::r--

    [root@localhost lianxi]# su - student

    上一次登录:Sat Apr  1 01:41:49 EDT 2017pts/0 上

    [student@localhost ~]$ echo www>/lianxi/file   ###student用户可写

    [student@localhost ~]$ cat /lianxi/file    ###student用户可读

    www

    [student@localhost ~]$ exit

    logout

    [root@localhost lianxi]# setfacl -m g:kiosk:rw file     ###授予组kiosk读写权限

    [root@localhost lianxi]# getfacl file

    # file: file

    # owner: root

    # group: root

    user::rw-

    user:student:rw-

    group::r--

    group:kiosk:rw-

    mask::rw-

    other::r--

    [root@localhost lianxi]# su - kiosk

    [kiosk@localhost ~]$ echo aaa >>/lianxi/file    ###kiosk组用户可写

    [kiosk@localhost ~]$ cat /lianxi/file   ###kiosk用户可读

    www

    aaa

    [kiosk@localhost ~]$ exit

    logout

    [root@localhost lianxi]# setfacl -x u:student file   ###删除student用户权限

    [root@localhost lianxi]# setfacl -x g:kiosk file   ###删除kiosk组用户权限

    [root@localhost lianxi]# getfacl file

    # file: file

    # owner: root

    # group: root

    user::rw-

    group::r--

    mask::r--

    other::r--

    [root@localhost lianxi]# ll file

    -rw-r--r--+ 1 root root 8 Apr  1 01:46 file

    [root@localhost lianxi]# setfacl -b file   ###删除file文件附加权限

    [root@localhost lianxi]# ll file

    -rw-r--r--. 1 root root 8 Apr  1 01:46 file

    unit9-作业

    1.新建用户并满足以下条件

    1)asasin、uid=2000

    2)sareo、uid=2001

    3)这两个用户都属于deho组

    4)这两个用户的密码为westos0oll

    5)新建用户taromati

    6)此用户为系统用户,没有交互式shell

    eg:[root@localhost ~]# groupadd deho

    [root@localhost ~]# useradd -g deho -u 2000 asasin

    [root@localhost ~]# useradd -g deho -u 2001 sareo

    [root@localhost ~]# echo westos0oll | passwd --stdin asasin

    Changing password for user asasin.

    passwd: all authentication tokens updated successfully.

    [root@localhost ~]# echo westos0oll | passwd --stdin sareo

    Changing password for user sareo.

    passwd: all authentication tokens updated successfully.

    [root@localhost ~]# useradd taromati

    [root@localhost ~]# usermod -s " " taromati

    [root@localhost ~]# tail -n 3 /etc/passwd

    asasin:x:2000:1004::/home/asasin:/bin/bash

    sareo:x:2001:1004::/home/sareo:/bin/bash

    taromati:x:2002:2002::/home/taromati:

    2.新建文件/public并满足以下条件

    1)所有用户都可以在此目录中建立文件

    2)除sareo用户外任何人在此目录中建立的文件都自动归属到deho组中

    3)sareo对此目录中新建所有文件均不能做任何操作

    4)任何人在此目录中只能删除属于自己的文件

    eg:[root@localhost ~]# mkdir /public

    [root@localhost ~]# cd /

    [root@localhost /]# ls

    bin   dev  home  lib64  mnt  proc    root  sbin  sys  usr

    boot  etc  lib   media  opt  public  run   srv   tmp  var

    [root@localhost /]# chmod 3777 /public

    [root@localhost /]# chgrp deho /public

    [root@localhost /]# getfacl /public

    getfacl: Removing leading '/' from absolute path names

    # file: public

    # owner: root

    # group: deho

    # flags: -st

    user::rwx

    group::rwx

    other::rwx

    [root@localhost /]# setfacl -m u:sareo:- /public

    [root@localhost /]# getfacl /public

    getfacl: Removing leading '/' from absolute path names

    # file: public

    # owner: root

    # group: deho

    # flags: -st

    user::rwx

    user:sareo:---

    group::rwx

    mask::rwx

    other::rwx

    default:user::rwx

    default:group::rwx

    default:mask::rwx

    default:other::rwx

    [root@localhost /]# su - sareo

    Last login: Tue Apr  4 22:21:46 EDT 2017 on pts/0

    [sareo@localhost ~]$ cd /public

    -bash: cd: /public: Permission denied

  • 相关阅读:
    pdf.js安装步骤和使用
    PDFObject.js、jquerymedia.js、pdf.js的对比
    7 Best jQuery & JavaScript PDF Viewer plugin with examples
    Linux 内核:设备驱动模型(4)uevent与热插拔
    Linux 内核:设备驱动模型(3)class与device
    Linux 内核:设备驱动模型(2)driver-bus-device与probe
    Linux 内核:sysfs 有关的API
    Linux 内核:设备驱动模型(1)sysfs与kobject基类
    在Linux驱动中使用LED子系统
    Linux 驱动:LED子系统
  • 原文地址:https://www.cnblogs.com/Virgo-sept/p/6667703.html
Copyright © 2011-2022 走看看