linux set权限,Linux 特殊权限set_uid(示例代码)
特殊權限set_uid默認情況下 , 在新安裝好的Linux系統(tǒng)下 , 僅有一個命令是擁有set_uid特殊權限的 .
擁有s權限的命令(文件) : 為了確保非所有者用戶 , 在使用該命令時,臨時擁有所有者的身份 ; 給一個文件設置set_uid特殊權限,前提是該文件是一個可執(zhí)行的二進制文件(一般都是給命令加上這樣的特殊權限) , 否則沒有任何意義 , 就如給一個文件夾設置一個set_uid權限一樣 , 沒有任何實際意義 .
1. 給命令加上set_uid特殊權限格式 chmod u+s 命令的文件路徑 chmod u+s /usr/bin/ls chmod u-s /usr/bin/ls/root/目錄的權限?,?是只有root用戶和root組下的用戶才能訪問的?,?其他用戶沒有任何權限?.[[email?protected]?~]#?ls?-ld?/root/dr-xr-x---.?3?root?root?178?6月???8?14:16?/root/那么如果用一個普通用戶去查看/root/目錄下的內(nèi)容時?,?肯定會報權限不足的錯誤?.[[email?protected]?~]$?ls?-l?/root/ls:?無法打開目錄/root/:?權限不夠給ls命令添加上set_uid特殊命令后?,?驗證能否臨時加上只有root用戶才有的查看/root/目錄的權限[[email?protected]?~]#?which?lsalias?ls=‘ls?--color=auto‘
/usr/bin/ls[[email?protected]?~]#?ls?-l?/usr/bin/ls-rwxr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls[[email?protected]?~]#?chmod?u+s?/usr/bin/ls[[email?protected]?~]#?!lsls?-l?/usr/bin/ls-rwsr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls[[email?protected]?~]#
切換到allin1的普通用戶?,?再次使用ls命令?,?看看普通用戶是否擁有了root用戶的權限?,?可以查看/root/目錄[[email?protected]?~]#?ssh?-p?22?[email?protected]130Last?login:?Fri?Jun??9?08:54:21?2017?from?192.168.245.132[[email?protected]?~]#?whoamiroot
[[email?protected]?~]#?su?-?allin1上一次登錄:五?6月??9?08:54:30?CST?2017pts/3?上
[[email?protected]?~]$?whoami
allin1
[[email?protected]?~]$?ls?-l?/root/
總用量?8-rwx--x--x.?1?root?root????0?6月???8?14:16?2.txt
-rw-------.?1?root?root?7728?6月???6?22:11?anaconda-ks.cfg.1[[email?protected]?~]$
2. 給命令添加set_uid特殊權限的第二種方式格式 : chmod u=rws 命令文件路徑 chmod u=rws /usr/bin/ls
這樣修改后的ls命令的權限 , 和第一種方式修改后的ls命令權限有一些區(qū)別 , 但是效果卻一樣[[email?protected]?~]#?chmod?u-s?/usr/bin/ls[[email?protected]?~]#?ls?-l?/usr/bin/ls-rwxr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls
[[email?protected]?~]#?chmod?u=rws?/usr/bin/ls[[email?protected]?~]#?ls?-l?/usr/bin/ls-rwSr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls
[[email?protected]?~]#
這樣添加set_uid的特殊權限后 , ls命令的權限變成rwS , 是一個大寫的S , 而第一種方式添加特殊權限后 , ls命令的權限是rws , 是一個小寫的s ... 這兩者的區(qū)別是 , 第二種方式 , 缺少了x權限 , 要想也成為小寫的s , 那么也可以額外在添加上x權限 , 不過這個并不影響ls命令臨時擁有了root用戶權限 .[[email?protected]?~]$?ls?-l?/usr/bin/ls
-rwSr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls
[[email?protected]?~]$?ls?-l?/bin/ls
-rwSr-xr-x.?1?root?root?117656?11月??6?2016?/bin/ls
[[email?protected]?~]$?ls?-l?/root/
總用量?8-rwx--x--x.?1?root?root????0?6月???8?14:16?2.txt
-rw-------.?1?root?root?7728?6月???6?22:11?anaconda-ks.cfg.1[[email?protected]?~]$
加上x權限[[email?protected]?~]#?chmod?u+x?/usr/bin/ls[[email?protected]?~]#?ls?-l?/usr/bin/ls-rwsr-xr-x.?1?root?root?117656?11月??6?2016?/usr/bin/ls
總結
以上是生活随笔為你收集整理的linux set权限,Linux 特殊权限set_uid(示例代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: el-table 树形表格 自定义展开图
- 下一篇: linux 其他常用命令