1. 程式人生 > >LINUX系統管理員技術(Admin)-------第五天

LINUX系統管理員技術(Admin)-------第五天

cron計劃任務 基本權限的類別 文檔歸屬的設置 acl策略的作用


在真機上操作,還原環境

[root@room9pc14 桌面]# rht-vmctl reset classroom

[root@room9pc14 桌面]# rht-vmctl reset server

[root@room9pc14 桌面]# rht-vmctl reset desktop


為虛擬機 server 配置以下靜態地址參數

– 主機名:server0.example.com


– IP地址:172.25.0.11

– 子網掩碼:255.255.255.0

– 默認網關:172.25.0.254


– DNS服務器:172.25.254.254


# cat /etc/sysconfig/network-scripts/ifcfg-eth0

# cat /etc/resolv.conf


測試DNS解析

[root@server0 ~]# nslookup server0.example.com ?


###################################################

?cron計劃任務


系統服務:crond

日誌文件:/var/log/crond



? 使用 crontab 命令

– 編輯:crontab -e [-u 用戶名]

– 查看:crontab -l [-u 用戶名]

– 清除:crontab -r [-u 用戶名]


1.查看服務狀態

[root@server0 ~]# systemctl status crond


2.書寫計劃任務, ?

? ?* ? ?* ? ?* ? ?* ? ?*

? ?分 ?時 ?日 ?月 ?周

[root@server0 ~]#useradd hanjie

[root@server0 ~]#ls /home

[root@server0 ~]#su - hanjie?

[root@server0 ~]#$ touch a.txt

[root@server0 ~]#crontab -e -u hanjie

*/1 * * * * /usr/bin/date ?>> /home/hanjie/abc.txt

[root@server0 ~]#watch -n 1 cat /home/natasha/abc.txt



[root@server0 ~]# useradd natasha

[root@server0 ~]# which ifconfig ? ?#查詢命令所對應的程序在那裏

[root@server0 ~]# which date

[root@server0 ~]# crontab -e -u natasha

[root@server0 ~]# crontab -l -u natasha


*/1 * * * * /usr/bin/date ?>> /home/natasha/abc.txt


[root@server0 ~]# ?watch -n 1 cat /home/natasha/abc.txt


#######################################################

基本權限的類別

? 訪問方式(權限)

– 讀取:允許查看內容-read ? ?r

– 寫入:允許修改內容-write ? ? w

– 可執行:允許運行和切換-execute ?x


?對於文本文件:

? ? ? ? ? ? r: cat ?head tail less

? ? ? ? ? ? w: ?vim

? ? ? ? ? ? x: ?運行


? 權限適用對象(歸屬)

– 所有者:擁有此文件/目錄的用戶-user ? ? u

– 所屬組:擁有此文件/目錄的組-group ? ? ? g

– 其他用戶:除所有者、所屬組以外的用戶-other ?o





權限位 硬連接數 屬主 屬組 大小 最後修改時間 文件/目錄名稱


[root@server0 ~]# ls -l /etc/passwd

[root@server0 ~]# ls -ld /etc/


[root@server0 ~]# ls -ld /root


[root@server0 ~]# ls -ld /home/student


[root@server0 ~]# ls -ld /tmp----是一個特殊的基本權限


? 以“-”開頭: 文件

? 以“l”開頭: 快捷方式

? 以“d”開頭: 目錄


? 使用 chmod 命令

– chmod [-R] 歸屬關系+-=權限類別 文檔...

? ? ? ? [-R] 遞歸賦予權限


[root@server0 ~]# mkdir /nsd010

[root@server0 ~]# ls -ld /nsd01


[root@server0 ~]# chmod u-x /nsd01

[root@server0 ~]# ls -ld /nsd01


[root@server0 ~]# chmod g+w /nsd01

[root@server0 ~]# ls -ld /nsd01


[root@server0 ~]# chmod o=rwx /nsd01

[root@server0 ~]# ls -ld /nsd01


[root@server0 ~]# chmod u=rwx,g=rx,o=r /nsd01

[root@server0 ~]# ls -ld /nsd01


################################################

? 如何判斷用戶具備權限

? ? ?1.判斷用戶所屬的身份 ? ? ? ? 所有者>所屬組>其他人 ? 匹配及停止 ? ?

? ? ?2.看相應權限位的權限劃分


? ?

?目錄的 r 權限:能夠 ls 瀏覽此目錄內容

?目錄的 w 權限:能夠執行 rm/mv/cp/mkdir/touch/... 等更改目錄內容的操作

?目錄的 x 權限:能夠 cd 切換到此目錄


####################################################

以root用戶新建/nsddir/目錄,在此目錄下新建readme.txt文件,並進一步完成下列操作

1)使用戶zhangsan能夠在此目錄下創建子目錄 ?切換用戶 ?su - zhangsan

? ? chmod o+w ?/nsddir/

[root@S ~]# mkdir /nsddir

[root@S ~]# touch /nsddir/readme.txt

[root@S ~]# useradd zhangsan

[root@S ~]# su - zhangsan

[zhangsan@S ~]$ exit

[root@S ~]# chmod o+w /nsddir/

[root@S ~]# su - zhangsan

[zhangsan@S ~]$ mkdir /nsddir/abc

[zhangsan@S ~]$ ls /nsddir/

2)使用戶zhangsan不能夠在此目錄下創建子目錄

? ? chmod o-w ?/nsddir/


3)使用戶zhangsan能夠修改readme.txt文件

? ? chmod o+w ?/nsddir/readme.txt


4)調整此目錄的權限,使所有用戶都不能進入此目錄

? ?chmod u-x,g-x,o-x ?/nsddir/


5)為此目錄及其下所有文檔設置權限 rwxr-x---

? ?chmod -R ?u=rwx,g=rx,o=--- ?/nsddir/


###############################################


設置文檔歸屬

? 使用 chown 命令

– chown [-R] 屬主 文檔...

– chown [-R] :屬組 文檔...

– chown [-R] 屬主:屬組 文檔...


[root@server0 ~]# mkdir /nsd05

[root@server0 ~]# ls -ld /nsd05

[root@server0 ~]# groupadd tedu

[root@server0 ~]# chown dc:tedu /nsd05

[root@server0 ~]# ls -ld /nsd05


[root@server0 ~]# chown student /nsd05

[root@server0 ~]# ls -ld /nsd05


[root@server0 ~]# chown :root /nsd05/

[root@server0 ~]# ls -ld /nsd05/


####################################################

?特殊權限(附加權限)


Set UID


? 附加在屬主的 x 位上

– 屬主的權限標識會變為 s

– 適用於可執行文件,Set UID可以讓使用者具有文件屬

主的身份及部分權限(傳遞所有者身份)



Set GID

? 附加在屬組的 x 位上

– 屬組的權限標識會變為 s

– 適用於可執行文件,功能與Set UID類似(傳遞所屬組身份)


– 適用於目錄,Set GID可以使目錄下新增的文檔自動設

置與父目錄相同的屬組

??

[root@server0 ~]# mkdir /tarena

[root@server0 ~]# ls -ld /tarena


[root@server0 ~]# chown :tedu /tarena

[root@server0 ~]# ls -ld /tarena


[root@server0 ~]# mkdir /tarena/nsd01

[root@server0 ~]# ls -ld /tarena/nsd01


[root@server0 ~]# chmod g+s ?/tarena/

[root@server0 ~]# ls -ld ?/tarena/


[root@server0 ~]# mkdir ? /tarena/nsd02

[root@server0 ~]# ls -ld ?/tarena/nsd02

[root@server0 ~]# touch ?/tarena/nsd02/abc.txt

[root@server0 ~]# ls -l ?/tarena/nsd02/abc.txt

#################################################



Sticky Bit

? 附加在其他人的 x 位上

– 其他人的權限標識會變為 t

– 適用於開放 w 權限的目錄,可以阻止用戶濫用 w 寫入

權限(禁止操作別人的文檔)


[root@server0 ~]# mkdir /public

[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public

[root@server0 ~]# ls -ld /public


[root@server0 ~]# chmod o+t /public

[root@server0 ~]# ls -ld /public


###################################################


acl策略的作用


? 文檔歸屬的局限性

– 任何人只屬於三種角色:屬主、屬組、其他人

– 無法實現更精細的控制


? acl訪問策略

– 能夠對個別用戶、個別組設置獨立的權限

– 大多數掛載的EXT3/4、XFS文件系統默認已支持



[root@server0 ~]# mkdir /test

[root@server0 ~]# ls -ld /test

[root@server0 ~]# chmod o=--- /test

[root@server0 ~]# ls -ld /test

[root@server0 ~]# su - zhangsan


[zhangsan@server0 ~]$ cd /test/

-bash: cd: /test/: Permission denied

[zhangsan@server0 ~]$ exit

logout


[root@server0 ~]# setfacl -m u:zhangsan:rx /test/

[root@server0 ~]# getfacl /test/

[root@server0 ~]# su - zhangsan

[zhangsan@server0 ~]$ cd /test/

[zhangsan@server0 test]$ pwd

[zhangsan@server0 test]$ exit



? 使用 getfacl、setfacl 命令

– getfacl 文檔...

– setfacl ?-m u:用戶名:權限類別 文檔...

– setfacl ?-m g:組名:權限類別 文檔...

– setfacl ?-x u:用戶名 ? ? 文檔... ? ? ? ? #刪除指定的ACL策略 ? ?

– setfacl ?-b 文檔... ? ? ? ? ? ? ? ? ? ? ? ? ? ? #清空ACL策略 ? ? ? ??


[root@server0 ~]# getfacl /test/

[root@server0 ~]# setfacl -m u:dc:rwx /test/

[root@server0 ~]# setfacl -m u:natasha:rx /test/

[root@server0 ~]# getfacl /test/


[root@server0 ~]# setfacl -x u:dc /test/ ?#刪除指定的ACL

[root@server0 ~]# getfacl /test/


[root@server0 ~]# setfacl -b /test/ ? ? #清空所有的ACL

[root@server0 ~]# getfacl /test/




##################################################

[root@server0 ~]# mkdir /nsd20

[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd20

[root@server0 ~]# ls -ld /nsd20

drwxrwxrwx. 2 root root 6 10月 30 15:49 /nsd20

[root@server0 ~]# setfacl -m u:natasha:--- /nsd20


###################################################

使用LDAP認證


? ? ? ?傳統用戶名密碼:本地創建,用於本地登陸 ?/etc/passwd

? ? ? ?網絡用戶: 在LDAP服務器上創建,可以登陸域中每一臺機器


? LDAP服務器: classroom


? ? 客戶端:指定服務端LDAP位置

? ??

? 1.安裝客戶端軟件

? ? ? – 軟件包:

? ? ? ? ? sssd:與服務端溝通軟件


? ? ? ? ? authconfig-gtk:圖形配置sssd工具


[root@server0 ~]# rpm -q sssd ? ? ? ? ? #驗證軟件包安裝成功

[root@server0 ~]# rpm -q authconfig-gtk


? 2.運行圖形配置sssd工具:authconfig-gtk

[root@server0 ~]# authconfig-gtk


? 用戶賬戶數據庫:LDAP

?LDAP搜索基礎DN:dc=example,dc=com

?LDAP服務器: classroom.example.com


? ?鉤選:用TLS加密連接

? ? ? ? 指定證書加密:

? ? ? ? ? ?http://172.25.254.254/pub/example-ca.crt

? ?認證方法:LDAP密碼


3.啟動sssd服務,並設置為開機自起

[root@server0 ~]# systemctl restart sssd

[root@server0 ~]# systemctl enable sssd

4.驗證

[root@server0 ~]# grep ‘ldapuser0‘ /etc/passwd

[root@server0 ~]# id ldapuser0


##################################################

家目錄漫遊


? Network File System,網絡文件系統

– 由NFS服務器將指定的文件夾共享給客戶機

– 客戶機將此共享目錄 mount 到本地目錄,訪問此共享

資源就像訪問本地目錄一樣方便

– 類似於 EXT4、XFS等類型,只不過資源在網上



? 查看NFS資源

[root@server0 ~]# showmount -e 172.25.254.254



? 進行掛載,將服務端NFS共享內容掛載到本地目錄

[root@server0 ~]# mkdir /home/guests


# mount ?172.25.254.254:/home/guests/ ? ?/home/guests


[root@server0 ~]# ls /home/guests

[root@server0 ~]# su - ldapuser0











LINUX系統管理員技術(Admin)-------第五天