?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Day18課堂筆記
如何調(diào)試定時(shí)任務(wù)耍铜?
1藤违,查看錯(cuò)誤日志:/var/log/cron? ? ?
? ? 學(xué)會(huì)最小化排除:先清空,>/var/log/cron
? ? 然后在測(cè)試和觀察
2沉馆,增加執(zhí)行任務(wù)頻率調(diào)試任務(wù)
? ? ? 把頻率調(diào)快
3杨名,把定時(shí)任務(wù)執(zhí)行時(shí)間比當(dāng)前時(shí)間拖后5分鐘
?? ? 00? 03執(zhí)行,當(dāng)前時(shí)間為5:00覆劈,就把時(shí)間調(diào)成05? 05,有個(gè)五分鐘的提前量
4沛励,把系統(tǒng)時(shí)間往前調(diào)(測(cè)試環(huán)境下责语,企業(yè)環(huán)境最好不要使用)
5,通過(guò)腳本日志輸出調(diào)試定時(shí)任務(wù)
定時(shí)任務(wù)輸出:
* * * * *? /bin/sh? /server/scripts/bak.sh? &>/tmp/bak.log
腳本輸出:tar? zcvf? oldboy.tar.gz? ./data? &>/tmp/tar.log
注意:有時(shí)候程序只能執(zhí)行一次目派,一定要在測(cè)試環(huán)境測(cè)試好坤候,然后直接復(fù)制到正式
防止在正式環(huán)境發(fā)生錯(cuò)誤,從而影響用戶體驗(yàn)企蹭,業(yè)務(wù)的穩(wěn)定
代碼發(fā)布流程:
辦公室測(cè)試環(huán)境====》IDC機(jī)房測(cè)試環(huán)境====〉IDC機(jī)房正式環(huán)境
NO? space? left? on? device 常見企業(yè)故障案例
磁盤滿的報(bào)錯(cuò)白筹,原因往往是inode被占滿了
df -i 查看inode
定時(shí)任務(wù)沒(méi)有加&>/dev/null,定時(shí)任務(wù)執(zhí)行的時(shí)候把輸出給系統(tǒng)root發(fā)郵件
程序通過(guò)手動(dòng)可以執(zhí)行谅摄,定時(shí)任務(wù)不能執(zhí)行
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 第十四章: Linux用戶管理知識(shí)與應(yīng)用實(shí)踐
?用戶管理
用戶所在文件:/etc/passwd 用戶所在文件
?? ? ? ? ? ? ? ? ? ? /etc/shadow 密碼所在文件
Useradd oldboy? 添加用戶實(shí)際上就是修改上述兩個(gè)文件
Passwd? oldboy 改密碼時(shí)間上就是修改密碼所在文件
用戶組所在文件:/etc/group? ? 用戶組所在文件
?? ? ? ? ? ? ? ? ? ? ? /etc/gshadow? ? 用戶組密碼所在文件(基本廢棄)
Useradd oldboy? 添加用戶時(shí)間上也會(huì)修改上述兩個(gè)文件(因?yàn)橐獎(jiǎng)?chuàng)建同名的用戶組)
Groupadd? sa 添加用戶組就是修改上述兩個(gè)文件
Md5sum 給文件設(shè)置指紋? (計(jì)算和檢查MD5數(shù)字信息)
[root@zhangxiangyu-58 ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadowa3ea2ee78623f96b9bda09cb6cae63bb? /etc/passwd
51b4c87d70769782529496d022b4aeee? /etc/shadow
acfb19edb5feeb94cab0584693884dac? /etc/group
97d2d72a538205143184cf29a67e9b80? /etc/gshadow
/etc/passwd 里的解釋器
[root@zhangxiangyu-58 ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c
? ? ? 7 /bin/bash
? ? ? 1 /bin/sync
? ? ? 1 /sbin/halt
?? ? 17 /sbin/nologin
? ? ? 1 /sbin/shutdown
bash是sh的擴(kuò)展徒河,sh是bash的軟連接。
[root@zhangxiangyu-58 ~]# ls -l /bin/sh
lrwxrwxrwx. 1 root root 4 3月? 4 18:49/bin/sh -> bash
/bin/bash /server/scripts/bak.sh
/etc/shadow? 儲(chǔ)存用戶密碼信息
[root@zhangxiangyu-58 ~]# tail -1 /etc/shadow
test1:!!:17977:0:99999:7:::
bingbing? 用戶
:!!? ? ? ? ? 密碼
:17980? ? 最近更改密碼的時(shí)間
:0? ? ? ? ? 禁止修改密碼的天數(shù)
:99999? ? 用戶必須更改口令的天數(shù)
:7? ? ? ? ? 警告更改密碼的期限
: ? ? 在用戶密碼過(guò)期之后到禁用賬戶的天數(shù)
: ? ? 從1970年1月1日起送漠,到用戶被禁用的天數(shù)
: ? ? 保留
/etc/group? ? 用戶組信息文件
[root@zhangxiangyu-58 ~]# grep incahome /etc/group
incahome:x:1004:
/etc/gshadow
[root@zhangxiangyu-58 ~]# grep incahome /etc/gshadow
incahome:!::
useradd 添加普通用戶
-u 指定UID? -s指定登陸的SHELL解釋器? ? -M 不創(chuàng)建家目錄
[root@zhangxiangyu-58 ~]# useradd gongli -u 888 -s /sbin/nologin -M
[root@zhangxiangyu-58 ~]# tail -1 /etc/passwd
gongli:x:888:1010::/home/gongli:/sbin/nologin
/etc/default/useradd 文件? useradd命令的配置文件
默認(rèn)shell就是/bin/bash
為什么默認(rèn)的家目錄在home下
為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件
就是/etc/default/useradd文件配置的顽照。
[root@zhangxiangyu-58 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改方法:
useradd? -D? -s? /bin/sh? 相當(dāng)于vim編輯文件。
/etc/skel 目錄闽寡,創(chuàng)建用戶默認(rèn)就會(huì)把次目錄下的文件拷貝到/home/用戶名下
/etc/skel? 為每個(gè)用戶提供用戶環(huán)境變量的目錄
[root@zhangxiangyu-58 ~]# ls /etc/skel -A
.bash_logout? .bash_profile? .bashrc? .mozilla 用戶環(huán)境變量
添加用戶要用的文件
/etc/login.defs? /etc/skel /etc/default/useradd?
編輯/etc/passwd,通過(guò)注釋來(lái)刪除代兵。
#chenglong1:x:1007:1009::/home/chenglong1:/bin/sh
"/etc/passwd" 30L, 1362C written? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
[root@zhangxiangyu-58 ~]# su? -? chenglong1
su: user chenglong1 does not exist
[root@zhangxiangyu-58 ~]# useradd? -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng
[root@zhangxiangyu-58 ~]# tail? -1? /etc/passwd
zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh
[root@zhangxiangyu-58 ~]# id? zongsheng
uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)
[root@zhangxiangyu-58 ~]# chage? -l? zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1"?
[root@zhangxiangyu-58 ~]# usermod? -u? 8888? -s? /bin/bash? -g? incahome? -c? "男孩"? -e "2020/5/1"? zongsheng
[root@zhangxiangyu-58 ~]# chage? -l? zongsheng
Last password change : Mar 25, 2019
Password expires : never
Password inactive : never
Account expires : May 01, 2020
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@zhangxiangyu-58 ~]# id zongsheng
uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)
[root@zhangxiangyu-58 ~]# tail -1 /etc/passwd
zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash
You have new mail in /var/spool/mail/root
usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng
usermod -m /home/zongsheng zongsheng
不交互設(shè)置密碼:
方法1:
[root@zhangxiangyu-58 ~]# echo 123456|passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
方法2:
[root@zhangxiangyu-58 ~]# echo 123456 >pass
[root@zhangxiangyu-58 ~]# cat pass
123456
[root@zhangxiangyu-58 ~]# passwd --stdin oldgirl
Changing password for user oldgirl.
passwd: all authentication tokens updated successfully.
[root@zhangxiangyu-58 ~]# tail -4 /etc/passwd|awk -F? ":"? '{print $1":oldboy"}'? >user.log
[root@zhangxiangyu-58 ~]# cat user.log
gongli1:oldboy
gongli2:oldboy
chenglong1:oldboy
zongsheng:oldboy
chpasswd對(duì)密碼文件的要求是上述user.log
方法1:
[root@zhangxiangyu-58 ~]# chpasswd
方法2:
[root@zhangxiangyu-58 ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'|chpasswd?