########第二本書#######html
#######unit自動安裝#####linux
###1.kickstart腳本#####ios
kickstart腳本是自動應答系統在安裝過程當中一切問題的腳本文件vim
在這個文件能夠實現系統的自動安裝bash
在系統安裝完畢後會在系統的root家目錄中生成網絡
anaconda-ks.cfg這個文件就是以此係統爲模板生成的kickstart腳本ide
#####2.kickstart腳本的製做#####工具
手動編寫kickstart的難度很大測試
系統中system-config-kickstart工具能夠用圖形的方式製做kickstartspa
yum install system-config-kickstart -y ##安裝圖形制做工具
system-config-kickstart ##打開圖形ks製做工具
ksvalidator ks.cfg ##檢測ks語法
####3.kickstart文件共享####
yum install httpd -y
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl start httpd
systemctl enable httpd
cp ks.cfg /var/www/html
####4.測試#####
[root@foundation7 Desktop]#virt-install \
> --name vmname(虛擬機名字) \
> --ram 800 \
> --file /var/lib/libvirt/p_w_picpaths/vmname(虛擬機名字)qcow2 \
> --file-size 8 \
> --location ftp://172.25.254.250/pub/rhel7.2 \
> --extra-args "ks=http://172.25.254.107/ks.cfg" & ##文件的地址ip
###附加pxe網絡安裝服務####
1.相應軟件安裝
yum install dhcp tftp-server syslinux httpd xinetd.x86_64 -y
systemctl stop firewalld.service
systemctl disable firewalld.service
vim /etc/xinetd.d/tftp
[ disable = yes ] =====> [ disable = no ]
systemctl restart xinetd
systemctl start httpd
systemctl enable httpd
2.必須文件的下載複製
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
把安裝鏡像中的isolinux/* 所有複製到 /var/lib/tftpboot/
mkdir /var/lib/tftpboot /pxelinux.cfg
cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
@@注意: 此處必定要放在/var/lib/tftpboot/pxelinux.cfg/default下,只有在這個目錄文件下,纔會被識別。
3.dhcp服務的配置
subnet 172.25.254.0 netmask 255.255.255.0 {
range 172.25.254.200 172.25.254.220;
option routers 172.25.254.254;
filename "pxelinux.0"; ##[所用到的文件]
next-server 172.25.254.107; ##[文件地址的ip]
}
#####unit2.用戶權限列表####
##1.權限列表的定義###
指定特定用戶對某個文件有特殊權限的記錄表格
##2.權限列表的識別###
-rw-r--r--. 1 root root 188 Oct 29 13:49 1 ##權限位是.權限列表未激活
-rw-r--r--+ 1 root root 0 Oct 26 16:57 file1 ##權限位是+權限列表開啓
##3.權限列表的查看###
getfacl file
# file: file1 ##文件名稱
# owner: root ##文件全部人
# group: root ##文件全部組
user::rw- ##文件全部人權限
user:test:rw- ##特殊指定用戶權限
group::r-- ##組權限
mask::r-- ##權限閥值
other::r-- ##其餘人權限
##4.如何設定acl列表##
setfacl -m u:username:權限(如:rwx) filename
例:setfacl -m u:test:rw file ##指定test用戶對file文件可讀寫
##5.mask權限閥值##
若是對有權限列表的文件執行chmod極可能會修改該權限列表中的mask
mask位特殊用戶可以得到到的最大權限值
setfacl -m m:權限(如:rwx) ##修改該mask的值
[root@foundation7 mnt]# setfacl -m u:kiosk:rwx file
[root@foundation7 mnt]# chmod 644 file
[root@foundation7 mnt]# getfacl file
# file: file
# owner: root
# group: root
user::rw-
user:kiosk:rwx #effective:r--
group::r--
mask::r--
other::r--
@@!!!注意:當用chmod修改文件權限以後,若chmod中給的權限小於mask的值時,會出現正上方的#effectiver:r--語句。例子如上!!!
###6.默認權限###
當咱們須要在指定目錄中新建文件或目錄都對指定用戶有特殊權限時設定
setfacl -m d:u:username:權限 filename
例如:
[root@foundation7 lzt]# touch nihao/kk
[root@foundation7 lzt]# getfacl nihao/
# file: nihao/
# owner: root
# group: root
user::rwx
user:kiosk:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:kiosk:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@foundation7 lzt]# getfacl nihao/kk
# file: nihao/kk
# owner: root
# group: root
user::rw-
user:kiosk:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
默認權限對已有文件不生效
例如:
[root@foundation7 ~]# cd /lzt/
[root@foundation7 lzt]# ls
file1 file2 file3 lp
[root@foundation7 lzt]# setfacl -m d:u:kiosk:rwx /lzt
[root@foundation7 lzt]# getfacl /lzt/lp/
getfacl: Removing leading '/' from absolute path names
# file: lzt/lp/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
默認權限對目錄自己不生效
例如:
[root@foundation7 lzt]# getfacl /lzt/
getfacl: Removing leading '/' from absolute path names
# file: lzt/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:kiosk:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
####unit3.系統延遲及定時機制###
##1.at延時任務##
at time
at> 動做
at>ctrl + d
at> <EOT>
at -l
atrm 任務號
當執行動做有輸出時
輸出內容會以郵件的形式發送給任務的發起人
[root@foundation7 mnt]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/kiosk": 1 message 1 new
>N 1 root Sun Oct 30 14:11 14/554 "Output from your job "
& 1
Message 1: ##回覆mail編號
From root@foundation7.ilt.example.com Sun Oct 30 14:11:02 2016
Return-Path: <root@foundation7.ilt.example.com>
X-Original-To: kiosk
Delivered-To: kiosk@foundation7.ilt.example.com
Subject: Output from your job 2
To: kiosk@foundation7.ilt.example.com
Date: Sun, 30 Oct 2016 14:11:02 +0800 (CST)
From: root@foundation7.ilt.example.com (root)
Status: R
hello world
& q
Held 1 message in /var/spool/mail/kiosk
[root@foundation7 mnt]# echo > /var/spool/mail/kiosk ##清空日誌
You have new mail in /var/spool/mail/kiosk
[root@foundation7 mnt]# mail
No mail for kiosk
at用戶的黑白名單
/etc/at.deny ##默認存在並生效
/etc/at.allow ##默認不存在,一旦存在,/etc/at.deny失效
#####2.系統定時/按期任務###
命令方式發起:
crontab -u username -e
@@!!!注意:普通用戶執行不能使用-u,即,執行crontab -e
MM hh dd mm ww
mm/2 ##每隔兩分鐘
hh-hh ##幾點到幾點
hh1,hh2 ##幾點和幾點
!!!可經過cat /etc/crontab查看具體用法
結果以下:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,t hu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
crontab -l ##查看當前的任務
crontab -u username -r ##刪除當前username用戶的任務(全部任務)
文件的方式發起
vim /etc/cron.d/filename
MM hh dd mm ww USERNAME 動做
echo 'MM hh dd mm ww USERNAME 動做' > /etc/cron.d/filename
crontab用戶的黑白名單(效果同at用戶的黑白名單)
/etc/cron.deny ##默認存在並生效
/etc/cron.allow ##默認不存在,一旦存在,/etc/cron.deny失效
###3.系統臨時文件的管理###
vim /usr/lib/tmpfiles.d/xxxx.conf
type filename perm user group time
d /mnt/westos 1777 root root 10s
systemd-tmpfiles --create /usr/lib/tmpfiles.d/xxxx.conf ##讀取相應配置文件,使之成爲臨時文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/xxxx.conf ##執行編寫的文件
例如:vim /usr/lib/tmpfiles.d/westos.conf
內容爲: d /mnt/wetos 1777 root root 10s
退出保存後執行:
systemd-tmpfiles --create /usr/lib/tmpfiles.d/xxxx.conf
touch /mnt/westos/file
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/xxxx.conf
能夠發如今最短保存時間內執行systemd-tmpfiles --clean /usr/lib/tmpfiles.d/xxxx.conf操做無效