命令替換 許可權 chmod 特殊許可權

2021-09-16 23:46:01 字數 3731 閱讀 4152

把字串裡面的命令先執行再把該字串輸出,與php的「」裡面的變數被執行一樣。

[root@jiakang ~]# echo "the directory is $(pwd)"

the directory is /root

[root@jiakang ~]# touch ./file-$(date +%f-%h-%m-%s).txt

[root@jiakang ~]# ls

a install.log

anaconda-ks.cfg install.log.syslog

file-2017-03-30-19-52-22.txt

[root@jiakang ~]# echo "the directory is `pwd`"        

the directory is /root

檔案:

目錄:用數字表示:

修改檔案的許可權

chmod mode file

[root@jiakang tmp]# chmod 057 yum.log
u,g,o,a

chmod 使用者類別=mode file,...

[root@jiakang tmp]# chmod u=rwx /tmp/yum.log

[root@jiakang tmp]# chmod g=r,o=r /tmp/yum.log

[root@jiakang tmp]# chmod go=r /tmp/yum.log

[root@jiakang tmp]# ls -l /tmp/yum.log

-rwxr--r--. 1 tom root 0 3月 25 07:01 /tmp/yum.log

u,g,o,a

chmod 使用者類別+|-mode file

[root@jiakang tmp]# chmod go+w /tmp/yum.log

[root@jiakang tmp]# ls -l /tmp/yum.log

-rwxrw-rw-. 1 tom root 0 3月 25 07:01 /tmp/yum.log

[root@jiakang tmp]# chmod +x /tmp/yum.log

[root@jiakang tmp]# ls -l /tmp/yum.log

-rwxrwxrwx. 1 tom root 0 3月 25 07:01 /tmp/yum.log

suid:執行某程式時,相應的程序的屬主是檔案自身的屬主,而不是啟動者;

注意:suid用於二進位制可執行檔案,對目錄和非二進位制可執行檔案沒什麼意義

【現在rm的許可權】

[root@jiakang tmp]# ls -l /bin/rm

-rwxr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm

[root@jiakang tmp]# ls -l abc

-rw-r--r--. 1 root root 0 4月 2 19:55 abc

【普通使用者刪除abc】

[jiakang@jiakang ~]$ rm /tmp/abc

rm:是否刪除有寫保護的普通空檔案 "/tmp/abc"?y

rm: 無法刪除"/tmp/abc": 不允許的操作

【給rm新增s許可權,注意看我當前操作的使用者】

[root@jiakang tmp]# ls -l /bin/rm

-rwsr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm

【再次刪除,沒有abc檔案了】

[jiakang@jiakang ~]$ rm /tmp/abc

[jiakang@jiakang ~]$ ls /tmp

def keyring-v2ldqh rc.d

inittab keyring-ydevd8 rc.local

sgid:執行某程式時,相應的程序的屬組是檔案自身的屬組,而不是啟動者所屬的基本組;

用法和上面的一樣【g+s , g-s】,現在介紹一種常用的用法【用於目錄】:

每個使用者的基本組都相同,這樣建立的檔案基本組也都一樣【新增乙個附加組是不行的,那樣每個使用者再建立檔案時屬組是不一樣的】

注意:使用者有基本組和附加組usermod進行修改;檔案和目錄只有乙個屬組,預設是使用者的基本組,chown進行修改,在這容易混淆

新增乙個附加組【developteam】,把該目錄【project】的gid加s許可權,在該目錄下建立的檔案的基本組就會是該目錄的基本組【developteam】而非使用者本身的基本組,這樣每個檔案的組都相同了,檔案可以相互訪問

[root@jiakang tmp]# groupadd developteam

[root@jiakang tmp]# mkdir /tmp/project

[root@jiakang tmp]# chown -r :developteam /tmp/project【修改屬組】

[root@jiakang tmp]# chmod g+s project【加sgid】

[root@jiakang tmp]# ls -ld project

drwxr-sr-x. 2 root developteam 4096 4月 11 13:04 project

[root@jiakang tmp]# usermod -a -g developteam jiakang【追加附加組developteam】

[root@jiakang tmp]# id jiakang

uid=500(jiakang) gid=500(jiakang) 組=500(jiakang),5001(developteam)

[root@jiakang tmp]# chmod g+w project【組內使用者+w許可權】

[jiakang@jiakang tmp]$ cd project

[jiakang@jiakang project]$ touch ss.txt

touch: 無法建立"ss.txt": 許可權不夠

[jiakang@jiakang project]$ exit【需要退出重新登陸才能生效】

logout

[root@jiakang ~]# su - jiakang

[jiakang@jiakang project]$ touch s.txt

[jiakang@jiakang project]$ ls -l s.txt

-rw-rw-r--. 1 jiakang developteam 0 4月 11 13:26 s.txt【屬組自動就是developteam】

sticky:在上面建立的那個公共目錄裡,每個使用者都能建立、刪除自己的檔案,但是不能刪除他人的檔案

這樣許可權修改的時候用數字表示就又多了一位:

chmod 5755 /tmp/test【5代表:u+s,o+t】

umask 0022 也是同理

chmod 特殊許可權 t

set uid,gid,sticky bit的三個許可權的詳細說明 乙個檔案都有乙個所有者,表示該檔案是誰建立的.同時,該檔案還有乙個組編號,表示該檔案所屬的組,一般為檔案所有者所屬的組.如果是乙個可執行檔案,那麼在執行時,一般該檔案只擁有呼叫該檔案的使用者具有的許可權.而setuid,setgid...

chmod 設定檔案特殊許可權

linux中除了常見的讀 r 寫 w 執行 x 許可權以外,還有3個特殊的許可權,分別是setuid setgid和stick bit 1 setuid setgid 先看個例項,檢視你的 usr bin passwd 與 etc passwd檔案的許可權 root mylinux ls l usr...

Linux許可權命令chmod

一 linux chmod命令修改檔案和檔案目錄許可權 預設情況下只有root使用者才能使用 命令格式 chmod 修改內容 要修改的檔案或者 目錄 或者 chmod r 修改內容 要修改的檔案或者 目錄 二 共有2種修改方法。第一種 字母操作符修改法 1.字母操作符修改法實際上就是用字母表示所有者...