特殊權限

特殊權限

passwd:s


SUID: 運行某程序時,相應進程的屬主是程序文件自身的屬主,而不是啓動者;

chmod u+s FILE

chmod u-s FILE

如果FILE本身原來就有執行權限,則SUID顯示爲s;否則顯示S;

SGID: 運行某程序時,相應進程的屬組是程序文件自身的屬組,而不是啓動者所屬的基本組;

chmod g+s FILE

chmod g-s FILE

develop team, hadoop, hbase, hive

/tmp/project/

develop

Sticky: 在一個公共目錄,每個都可以創建文件,刪除自己的文件,但不能刪除別人的文件;

chmod o+t DIR

chmod o-t DIR

000: 

001: 

...

110: 

111:


chmod 5755 /backup/test


umask 0022

umask 



find:

find DIRICTORY Cretiria ACTION

匹配條件:

-type

f, d, c, b, l, s, p

-atime [+|-]

-amin

-size [+|-] 11M

10M<


-user

-uid

-nouser

-nogroup

-name

-iname

-regex 

組合條件:

-a

-o

-not

\( \)

ACTION

-print

-ls

-ok

-exec


文件特殊權限

SUID: s

SGID: s

Sticky: t 


chmod u+s

 g+s

 o+t

 


練習:寫一個腳本

寫一個腳本,顯示當前系統上shell爲-s指定類型的用戶,並統計其用戶總數。-s選項後面跟的參數必須是/etc/shells文件中存在的shell類型,否則不執行此腳本。另外,此腳本還可以接受--help選項,以顯示幫助信息。腳本執行形如:

./showshells.sh -s bash

顯示結果形如:

BASH,3users,they are:

root,redhat,gentoo



#!/bin/bash

#

if [ $1 == '-s' ]; then

  ! grep "${2}$" /etc/shells &> /dev/null && echo "Invalid shell." && exit 7

elif [ $1 == '--help' ];then

  echo "Usage: showshells.sh -s SHELL | --help"

  exit 0

else

  echo "Unknown Options."

  exit 8

fi


NUMOFUSER=`grep "${2}$" /etc/passwd | wc -l`

SHELLUSERS=`grep "${2}$" /etc/passwd | cut -d: -f1`

SHELLUSERS=`echo $SHELLUSERS | sed 's@[[:space:]]@,@g'`


echo -e "$2, $NUMOFUSER users, they are: \n$SHELLUSERS"


${變量名}


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