1. 程式人生 > >linux系統學習第五天

linux系統學習第五天

linux管理員技術 linux工程師技術 linux雲計算 深圳雲計算王森

在真機上操作,還原環境
[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 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 /nsd01
[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/

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系統學習第五天