Linux云自动化运维第九课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:[[email protected] mnt]$ ssh [email protected] -X
[email protected]‘s password:
Last login: Fri Mar 31 21:25:25 2017 from foundation42.ilt.example.com
[[email protected] ~]# yum install system-config-kickstart -y
三、创建kickstart文件
1.使用system-config-kickstart工具
2.使用文本编辑器
#模板:/root/anaconda-ks.cfg
#编辑完成后使用ksvalidator命令校验正确性
eg:[[email protected] ~]# 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
[[email protected] ~]# vim /mnt/kss.cfg
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# ls
file1 file2 file3 ks.cfg kss.cfg mailbackup
[[email protected] mnt]# ksvalidator kss.cfg
[[email protected] mnt]# yum install httpd -y
已加载插件:langpacks
软件包 httpd-2.4.6-17.el7.x86_64 已安装并且是最新版本
无须任何处理
[[email protected] mnt]# systemctl stop firewalld.service
[[email protected] mnt]# systemctl start httpd
[[email protected] mnt]# ls
file1 file2 file3 ks.cfg kss.cfg mailbackup
[[email protected] mnt]# cp kss.cfg /var/www/html/
[[email protected] mnt]# cd /var/www/html/
[[email protected] 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
第二单元 控制对文件的访问
一、权限列表的读取
[[email protected] 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:[[email protected] Desktop]# setfacl -m u:bob:rw file
[[email protected] Desktop]# setfacl -m g:westos:rw file
[[email protected] Desktop]# setfacl -m g:redhat:r file
[[email protected] 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-- ###其他人权限读
[[email protected] Desktop]# setfacl -x u:bob file ###删除bob用户的ACL权限
[[email protected] 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--
[[email protected] Desktop]# setfacl -m o::- file ###修改其他人权限为空
[[email protected] 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:[[email protected] lianxi]# ll file
-rw-r--r--. 1 root root 0 Apr 1 01:43 file
[[email protected] lianxi]# setfacl -m u:student:rw file ###授予用户student读写权限
[[email protected] lianxi]# ll file
-rw-rw-r--+ 1 root root 0 Apr 1 01:43 file
[[email protected] lianxi]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
mask::rw-
other::r--
[[email protected] lianxi]# su - student
上一次登录:Sat Apr 1 01:41:49 EDT 2017pts/0 上
[[email protected] ~]$ echo www>/lianxi/file ###student用户可写
[[email protected] ~]$ cat /lianxi/file ###student用户可读
www
[[email protected] ~]$ exit
logout
[[email protected] lianxi]# setfacl -m g:kiosk:rw file ###授予组kiosk读写权限
[[email protected] lianxi]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
group:kiosk:rw-
mask::rw-
other::r--
[[email protected] lianxi]# su - kiosk
[[email protected] ~]$ echo aaa >>/lianxi/file ###kiosk组用户可写
[[email protected] ~]$ cat /lianxi/file ###kiosk用户可读
www
aaa
[[email protected] ~]$ exit
logout
[[email protected] lianxi]# setfacl -x u:student file ###删除student用户权限
[[email protected] lianxi]# setfacl -x g:kiosk file ###删除kiosk组用户权限
[[email protected] lianxi]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
[[email protected] lianxi]# ll file
-rw-r--r--+ 1 root root 8 Apr 1 01:46 file
[[email protected] lianxi]# setfacl -b file ###删除file文件附加权限
[[email protected] 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:[[email protected] ~]# groupadd deho
[[email protected] ~]# useradd -g deho -u 2000 asasin
[[email protected] ~]# useradd -g deho -u 2001 sareo
[[email protected] ~]# echo westos0oll | passwd --stdin asasin
Changing password for user asasin.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# echo westos0oll | passwd --stdin sareo
Changing password for user sareo.
passwd: all authentication tokens updated successfully.
[[email protected] ~]# useradd taromati
[[email protected] ~]# usermod -s " " taromati
[[email protected] ~]# 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:[[email protected] ~]# mkdir /public
[[email protected] ~]# cd /
[[email protected] /]# ls
bin dev home lib64 mnt proc root sbin sys usr
boot etc lib media opt public run srv tmp var
[[email protected] /]# chmod 3777 /public
[[email protected] /]# chgrp deho /public
[[email protected] /]# getfacl /public
getfacl: Removing leading ‘/‘ from absolute path names
# file: public
# owner: root
# group: deho
# flags: -st
user::rwx
group::rwx
other::rwx
[[email protected] /]# setfacl -m u:sareo:- /public
[[email protected] /]# 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
[[email protected] /]# su - sareo
Last login: Tue Apr 4 22:21:46 EDT 2017 on pts/0
[[email protected] ~]$ cd /public
-bash: cd: /public: Permission denied
以上是关于Linux云自动化运维第九课的主要内容,如果未能解决你的问题,请参考以下文章