教學環境介紹 day5 (201901008)

教學環境介紹

1、預裝虛擬機說明

• 每個學員機上有三臺預先配置好的虛擬機
– server —— 作爲練習用服務器
– desktop —— 作爲練習用客戶機
– cla***oom —— 提供網關/DNS/軟件素材/DHCP等資源

開機時優先虛擬機cla***oom,所有的服務隨機自啓動

2、真機:使用rht-vmctl輔助工具

• 控制教學用虛擬機
– 格式:rht-vmctl 控制指令 虛擬機名
– 常用控制指令:
]$ rht-vmctl reset cla***oom #先重置資源服務器
]$ rht-vmctl reset server
]$ rht-vmctl reset desktop #再重置練習虛擬機

1.查看系統版本:RHEL7.0
[root@server0 ~]# cat /etc/redhat-release

2.查看主機名:server0.example.com
[root@server0 ~]# hostname

3.查看IP地址:172.25.0.11/24
[root@server0 ~]# ifconfig
[root@server0 ~]# ifconfig | head -2

3、 利用真機遠程管理虛擬機

1.通信測試
[student@room pc01 ~]$ ping 172.25.0.11

[student@room pc01 ~]$ ping 172.25.0.10

2.Linux平臺進行遠程管理
[student@room pc01 ~]$ ssh 用戶@對方的IP地址
[student@room pc01 ~]$ ssh [email protected]

[root@server0 ~]# hostname #查看主機名
[root@server0 ~]# ifconfig | head -2 #查看IP地址信息
[root@server0 ~]# exit
登出
Connection to 172.25.0.11 closed.
[student@room pc01 ~]$

補充:Ctrl + shift + t 新開一個終端
Ctrl + PgUp = Alt + 1
Ctrl + PgDn = Alt + 2

3.遠程管理的選項 -X(大寫):在遠程管理時開啓對方的圖形程序
[root@server0 ~]# exit

[student@room pc01 ~]$ ssh -X [email protected]

[root@server0 ~]# firefox #運行火狐瀏覽器
[root@server0 ~]# firewall-config #防火牆的圖形程序

常見的報錯提示:
dconf:Linux桌面背景服務,與遠程管理無關

[student@room pc01 ~]$ ssh -X [email protected]
(process:3045): dconf-WARNING : failed to commit changes to dconf: 無法連接:拒絕連接
[root@desktop0 ~]#

在真機定義永久的別名,修改配置文件 ~/.bashrc
[student@room pc01 ~]$ vim /home/student/.bashrc
#.bashrc
alias gos='ssh -X [email protected]'
alias god='ssh -X [email protected]'

在真機新開一個終端,纔會生效

[student@room pc01 ~]$ gos
[student@room pc01 ~]$ god

4、權限和歸屬

基本權限

• 訪問方式(權限)
– 讀取:允許查看內容-read(r)
– 寫入:允許修改內容-write(w)
– 可執行:允許運行和切換-execute(x)

針對文本文件:

 讀取權限 r: cat  less  head  tail 
 寫入權限 w: vim(可以保存)  >  >>
 可執行權限 x: Shell腳本   Python腳本

• 權限適用對象(歸屬)
– 所有者:擁有此文件/目錄的用戶-user(u)
– 所屬組:擁有此文件/目錄的組-group(g)
– 其他用戶:除所有者、所屬組以外的用戶-other(o)

zhangsan zhangsan 1.txt

查看權限

• 使用 ls -l 命令
– ls -ld 文件或目錄...

以-開頭:文本文件
以d開頭:目錄
以l開頭:快捷方式

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

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

設置基本權限

• 使用 chmod 命令
– chmod [-R] 歸屬關係+-=權限類別 文檔...

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

[root@server0 ~]# chmod g+w /nsd01 #所屬組添加寫入權限
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod g-w /nsd01 #所屬組去掉寫入權限
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u-w /nsd01 #所有者去掉寫入權限
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod u=rwx,g=rwx,o=--- /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod ugo=rwx /nsd01
[root@server0 ~]# ls -ld /nsd01

[root@server0 ~]# chmod -R o=--- /opt/aa
[root@server0 ~]# ls -ld /opt/aa
[root@server0 ~]# ls -ld /opt/aa/bb/
[root@server0 ~]# ls -ld /opt/aa/bb/cc/

Linux判斷用戶具備的權限: 原則:匹配及停止
1.判斷用戶針對該數據所處身份 所有者>所屬組>其他人
2.查看相應的權限位的表示

Permission denied:權限不足

1.所有人不能進入 1.杜老師可以進入 1.允許192.168.1.1
2.杜老師可以進入 2.所有人不能進入 2.拒絕所有

目錄的 r 權限:能夠 ls 瀏覽此目錄內容
目錄的 w 權限:能夠執行 rm/mv/cp/mkdir/touch/等更改目錄內容的操作
目錄的 x 權限:能夠 cd 切換到此目錄

以root用戶新建/nsddir目錄,在此目錄下新建readme.txt文件

並進一步完成下列操作
1)使用戶lisi能夠在此目錄下創建子目錄 切換用戶 su - lisi
chmod o+w /nsddir/
2)使用戶lisi不能夠在此目錄下創建子目錄
chmod o-w /nsddir/
3)使用戶lisi能夠修改readme.txt文件內容
chmod o+w /nsddir/readme.txt
4)調整此目錄的權限,使所有用戶都不能cd進入此目錄
chmod u-x,g-x,o-x /nsddir/
5)爲此目錄及其下所有文檔設置權限 rwxr-x---
chmod -R u=rwx,g=rx,o=--- /nsddir/
   -R:遞歸設置權限,目錄下及目錄下所有

設置文檔歸屬

• 使用 chown 命令
– chown [-R] 屬主 文檔...
– chown [-R] :屬組 文檔...
– chown [-R] 屬主:屬組 文檔...

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

[root@server0 ~]# groupadd tarena #創建組
[root@server0 ~]# chown lisi:tarena /nsd03
[root@server0 ~]# ls -ld /nsd03

[root@server0 ~]# chown student /nsd03 #僅修改所有者
[root@server0 ~]# ls -ld /nsd03

[root@server0 ~]# chown :root /nsd03 #僅修改所屬組
[root@server0 ~]# ls -ld /nsd03

利用root用戶新建/nsd06目錄,並進一步完成下列操作
1)將屬主設爲gelin01,屬組設爲tarena組
[root@server0 /]# useradd gelin01
[root@server0 /]# useradd gelin02
[root@server0 /]# groupadd tarena
[root@server0 /]# chown gelin01:tarena /nsd06
2)使用戶gelin01對此目錄具有rwx權限
除屬主與屬組之外的人,對此目錄無任何權限
[root@server0 /]# chmod o=--- /nsd06
3)使用戶gelin02能進入、查看此目錄內容
[root@server0 /]# gpasswd -a gelin02 tarena
4)將gelin01加入tarena組, 將nsd06目錄的權限設爲rw-r-x---
再測試gelin01用戶能否進入此目錄
[root@server0 /]# gpasswd -a gelin01 tarena
[root@server0 /]# chmod u=rw,g=rx /nsd06

設置權限,使用戶lisi可以讀取/etc/shadow內容,您有幾種辦法?
1.利用其他人
[root@server0 ~]# chmod o+r /etc/shadow
2.利用所屬組
[root@server0 ~]# chown :lisi /etc/shadow
[root@server0 ~]# chmod g+r /etc/shadow
3.利用所有者
[root@server0 ~]# chown lisi /etc/shadow
[root@server0 ~]# chmod u+r /etc/shadow
4.利用ACL
[root@server0 ~]# setfacl u:lisi:r /etc/shadow

5、附加權限(特殊權限)

Set GID

• 附加在屬組的 x 位上
– 屬組的權限標識會變爲 s
– 適用於目錄,Set GID可以使目錄下新增的文檔自動設置與父目錄相同的屬組

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

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

[root@server0 ~]# mkdir /nsd08/abc01
[root@server0 ~]# ls -ld /nsd08/abc01

[root@server0 ~]# chmod g+s /nsd08/ #設置Set GID權限
[root@server0 ~]# ls -ld /nsd08/

[root@server0 ~]# mkdir /nsd08/abc02
[root@server0 ~]# ls -ld /nsd08/abc02

[root@server0 ~]# touch /nsd08/1.txt
[root@server0 ~]# ls -l /nsd08/1.txt

chmod o=--- /nsd10
groupadd caiwu
chown :caiwu /nsd10
chmod g+s /nsd10

/nsd10/2019-10-8.txt
/nsd10/2019-10-9.txt
/nsd10/2019-10-10.txt
/nsd10/2019-10-11.txt
.......

6、Sticky Bit

• 附加在其他人的 x 位上
– 其他人的權限標識會變爲 t
– 適用於開放 w 權限的目錄,可以阻止用戶濫用 w 寫入
權限(禁止操作別人的文檔)

[root@server0 ~]# mkdir /home/public
[root@server0 ~]# chmod ugo=rwx /home/public #賦予所有權限
[root@server0 ~]# ls -ld /home/public
[root@server0 ~]# chmod o+t /home/public/ #設置t權限

7、acl訪問控制列表

acl策略的作用
• 文檔歸屬的侷限性
– 任何人只屬於三種角色:屬主、屬組、其他人
– 無法實現更精細的控制

• acl訪問策略
– 能夠對個別用戶、個別組設置獨立的權限

[root@server0 ~]# mkdir /nsd11
[root@server0 ~]# chmod o=--- /nsd11
[root@server0 ~]# ls -ld /nsd11
[root@server0 ~]# su - student
[student@server0 ~]$ cd /nsd11
-bash: cd: /nsd11: Permission denied
[student@server0 ~]$ exit
logout
[root@server0 ~]# setfacl -m u:student:rx /nsd11/
[root@server0 ~]# getfacl /nsd11/

[root@server0 ~]# su - student
[student@server0 ~]$ cd /nsd11
[student@server0 nsd11]$ pwd
[student@server0 nsd11]$ exit
logout
[root@server0 ~]#

設置acl訪問控制策略

• 使用 getfacl、setfacl 命令
– getfacl 文檔...
– setfacl [-R] -m u:用戶名:權限類別 文檔...
– setfacl [-R] -m g:組名:權限類別 文檔...
– setfacl [-R] -x u:用戶名 文檔... #刪除指定的ACL策略
– setfacl [-R] -b 文檔... #刪除所有的ACL策略

]# mkdir /nsd12
]# setfacl -m u:lisi:rwx /nsd12
]# setfacl -m u:harry:rwx /nsd12
]# setfacl -m u:dc:rx /nsd12
]# setfacl -m u:student:rwx /nsd12
]# setfacl -m u:gelin01:rwx /nsd12

]# getfacl /nsd12

]# setfacl -x u:student /nsd12 #刪除student用戶的ACL策略
]# getfacl /nsd12

]# setfacl -b /nsd12 #刪除/nsd12所有的ACL策略
]# getfacl /nsd12

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章