目錄
1、連接文件
(1)軟連接
是連接文件本身,可以跨分區建立軟連接,不會因爲不同分區而出現不能使用的問題。
在創建軟連接的文件中,修改一處文件另一處同時發生修改,當刪除軟連接對象時,不影響源文件使用,當刪除源文件後,連接對象失去作用。
創建軟連接的方式:
#ln -s soure /file object
#ln -s /root/test.txt testlink
(2)硬連接
在文件中使用inode號連接,兩個連接文件同事使用一個inode號進行文件表示,一處文件修改,修改針對文件底層數據塊修改,兩個文件同時修改內容,刪除一處文件,不會影響另一處文件的使用。因爲硬連接使用inode號連接,所以只能在同分區能使用,不能跨分區使用。
創建硬連接的方式:
#ln soure /file object
#ln /root/test.txt testlink2
2、命令別名
(1)定義別名
alias [name[=value]]
#alias li=’cat /etc/passwd’
(2)刪除別名
unalias li
(3)查看系統可用別名
alias
3.sudo中的Alias主要分成4種
Host_Alias 、Cmnd_Alias 、User_Alias 、Runas_Alias
(1) 配置Host_Alias:就是主機的列表
Host_Alias
HOST_FLAG = hostname1, hostname2, hostname3
(2) 配置Cmnd_Alias:就是允許執行的命令的列表,命令前加上!表示不能執行此命令.
注意:命令一定要使用絕對路徑,避免其他目錄的同名命令被執行,造成安全隱患 ,因此使用的時候也是使用絕對路徑!
Cmnd_Alias
COMMAND_FLAG = command1, command2, command3 ,!command4
(3) 配置User_Alias:就是具有sudo權限的用戶的列表
User_Alias USER_FLAG = user1, user2, user3
(4) 配置Runas_Alias:就是用戶以什麼身份執行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
(5) 配置權限
配置權限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密碼驗證的話,則按照這樣的格式來配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG
4、sudo概述
sudo允許根據指定的安全策略,運行一個用戶以其他用戶身份或管理員身份去執行某個命令。
(1)sudo配置
查看sudo軟件包:# rpm -qi sudo
查看是否安裝了sudo :rpm -qa|grep sudo
如果沒有安裝則在系統光盤中找到sudo的rpm包進行安裝:rpm -vih /media/Packages/sudo-1.8.6p7-16.e17.x86_64
sudoers的模板配置文件:# cat /etc/sudoers
(2)配置一個普通用戶,不需要切換密碼就能以管理員身份執行管理命令
yanhui ALL=(ALL) NOPASSWD: ALL
第一個ALL:多個系統之間部署 sudo 環境時,該ALL代表所有主機。
也可以換成相應的主機名,表示改規則只適用主機名對應的系統
第二個ALL(即括號內的):指出規定的 user 用戶能夠以何種身份來執行命令。
該ALL表示user用戶能夠以任何用戶的身份執行命令
第三個ALL:表示能執行"命令表",ALL表示用戶能夠執行系統中的所有命令。
(3)定義別名並簡單驗證
Cmnd_Alias NETADMINCMD = /usr/sbin/ip,/usr/sbin/ifconfig,/usr/sbin/route
Cmnd_Alias USERADMINCMD = /usr/sbin/useradd,/ur/sbin/userdel,/usr/sbin/passwd,! /usr/sbin/passwd root
fedora ALL=(ALL) NETADMINCMD
centos ALL=(ALL) NETADMINCMD,USERADMINCMD
實例
爲用戶stu1進行提權操作,讓他只具用戶與用戶組的管理權限
編輯sudo配置文件/etc/sudoers
vim /etc/sudoers
使用Cmnd_Alias爲用戶與用戶組的管理權限定義別名,並加入以下權限
stu1 ALL=(ALL) NETADMINCMD,USERADMINCMD
使用wq!保存並強制退出