1. 程式人生 > >達內-linux基礎-day05

達內-linux基礎-day05

linux 權限設置

cron計劃任務
系統服務:crond
日誌文件:/var/log/cron
使用crontab命令
-編輯 crontab -e -u 用戶名
-查看 crontab -l -u 用戶名
-清除 crontab -r -u 用戶名
1.查看服務狀態
systemctl status crond
2.書寫計劃任務
* * * * * 分 時 日 月 周
useradd lisi 創建用戶lisi
[root@room8pc205 桌面]# which date 查看date運行程序的位置
/usr/bin/date
[root@room8pc205 桌面]# crontab -e -u lisi 編寫計劃任務
*/1 * * * * /usr/bin/date >> /home/lisi/1.txt 將date的數據每隔1分鐘追加重定向到1.txt。

watch -n 1 cat /home/lisi/1.txt 每間隔1s,查看1.txt中的數據。
###########################################################################################


基本權限類別
-讀取 允許查看內容 -read -r
-寫入 允許修改內容 -write -w
-可執行 允許運行和切換 -excute -x
對於文本文件:
r:cat less head tail
w: vim
x:運行
權限適用對象:
-所有者:擁有此文件/目錄的用戶 user u
-所屬組:擁有此文件/目錄的組 group g
-其他用戶:出所有者,所屬組之外的用戶 other o

查看權限:
ls -ld 文件或目錄
[root@server0 ~]# ls -ld /root/
dr-xr-x---. 16 root root 4096 10月 30 19:58 /root/
類型 硬連接數 屬主 屬組 大小 最後修改時間 文件/目錄名稱

設置基本權限:
使用chmod命令
-chmod -R 歸屬關系+-=權限類別 文檔
-R 遞歸賦予權限
[root@server0 ~]# chmod u-x /nsd01 取消屬主的可執行權限
[root@server0 ~]# ls-ld /nsd01/
drw-r-xr-x. 2 root root 6 10月 30 20:15 /nsd01/
[root@server0 ~]# chmod g+w /nsd01/ 增加屬組的寫入權限
[root@server0 ~]# ls -ld /nsd01/
drw-rwxr-x. 2 root root 6 10月 30 20:15 /nsd01/
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd01/
屬主 屬組 所有人 都具有讀寫可執行權限
[root@server0 ~]# ls -ld /nsd01/
drwxrwxrwx. 2 root root 6 10月 30 20:15 /nsd01/

如何判斷用戶具備權限:
1.判斷用戶的所屬的身份 所有者>所屬組>其他人
2.看相應的權限位的權限劃分
目錄r的權限:能夠ls瀏覽目錄內容
目錄w的權限:能夠cp/mv/mkdir/touch/rm等更改目錄內容的操作
目錄x的權限:能夠cd切換到此目錄
設置文檔歸屬:
-chown -R 屬主 文檔
-chown -R 屬組 文檔
-chown -R 屬主:屬組 文檔
[root@server0 ~]# mkdir /nsd05 創建目錄
[root@server0 ~]# ls -ld /nsd05
drwxr-xr-x. 2 root root 6 10月 30 20:35 /nsd05 查看目錄權限
root@server0 ~]# groupadd tedu 創建組tedu
[root@server0 ~]# chown :tedu /nsd05 將nsd05的屬組改為tedu
[root@server0 ~]# ls -ld /nsd05
drwxr-xr-x. 2 root tedu 6 10月 30 20:35 /nsd05 查看權限,屬組已經成為tedu
#######################################################################################


特殊權限:
Set UID
附加在屬主的x位上
-屬主的權限標示會變為s
-適用於可執行文件,Set UID可以讓使用者具有文件屬主的身份及部分權限(傳遞所有者身份)
[root@server0 ~]# chmod u+s /usr/bin/mkdir 設置屬主的特殊權限
[root@server0 ~]# ls -lh /usr/bin/mkdir
-rwsr-xr-x. 1 root root 78K 1月 25 2014 /usr/bin/mkdir
[zhangsan@server0 ~]$ mkdir /a 進入zhangsan用戶,利用mkdir創建a目錄
[zhangsan@server0 ~]$ ls -ld /a
drwxrwxr-x. 2 root zhangsan 6 Oct 30 20:55
a目錄的屬主身份為root(如果未設置特殊權限a目錄的屬主應該為zhangsan)
當我們給可執行文件的屬主設置特殊權限之後,再利用其他用戶執行可執行文件時,會繼承屬主的身份。
Set GID
附加在屬組的x位上
-屬組的權限標示會變為s
-適用於可執行文件,功能與Set UID類似(傳遞所屬組身份)
-適用於目錄,可以使目錄下的新增文檔自動設置與父目錄相同的屬組
[root@server0 ~]# chown :tedu /tarena/
[root@server0 ~]# ls -ld /tarena/
drwxrwxr-x. 2 root tedu 6 10月 30 21:06 /tarena/
[root@server0 ~]# chmod g+s /tarena 設置屬組的特殊權限
[root@server0 ~]# mkdir /tarena/a
[root@server0 ~]#
[root@server0 ~]# ls -ld /tarena/a
drwxr-sr-x. 2 root tedu 6 10月 30 21:08 /tarena/a
設置之後tarena下創建的文檔的屬組都會繼承tarena的屬組。

Sticky Bit
-附加在其他人的x位上
-其他人的權限會變為t
-適用於開放w權限的目錄,可以阻止用戶濫用w寫入

[root@server0 ~]# useradd dc
[root@server0 ~]# useradd tc
[root@server0 ~]# mkdir /public 創建公共目錄public
[root@server0 ~]# ls -ld /public/
drwxr-xr-x. 2 root root 6 10月 30 21:15 /public/
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public/ 讓任何用戶在public下都有讀寫和運行權限。
這樣導致的問題在於,其他人也可以去對別人的文檔進行編輯,刪除等操作。
[root@server0 ~]# chmod o+t /public/ 我們設置特殊權限對於其他人
[root@server0 ~]# ls -ld /public/
drwxrwxrwt. 2 root root 30 10月 30 21:25 /public/
[dc@server0 ~]$ rm -rf /public/2.txt 刪除其他用戶創建的文件
rm: cannot remove ‘/public/2.txt’: Operation not permitted 提示權限不足。
###########################################################################################
acl訪問控制列表

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/ zhangsan用戶給與rx權限
[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/
########################################################################################
使用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基礎-day05