二周第三次课(3月28日)
生活随笔
收集整理的這篇文章主要介紹了
二周第三次课(3月28日)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2.14 文件和目錄權(quán)限chmod
# ls -l -rw-r--r--. 1 root root 0 8月 9 10:53 1.txt # 該文件權(quán)限:可讀、可寫、不可執(zhí)行。 # 權(quán)限位末尾有'.',則表示該文件受制于selinux(防火墻) # 臨時開關(guān) # setenforce 0 #0為關(guān)閉,1為開啟 # getenforce # 查看是否開關(guān) Permissive #Permissive為關(guān)閉,Enforcing為開啟- 如果要徹底關(guān)閉selinux需要改配置文件 # vi /etc/selinux/config# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # '強制開啟' # permissive - SELinux prints warnings instead of enforcing. # '警告,不會強制開啟' # disabled - No SELinux policy is loaded. # '關(guān)閉' SELINUX=enforcing # '更改=號后面的值';更改完畢再重啟。然后創(chuàng)建新的文件就不會帶'.'了。 # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
- -|rwx|r--|r--:文件權(quán)限信息;第一節(jié)為類型;第二節(jié)為所有者權(quán)限:包含可讀、可寫、可執(zhí)行;第三節(jié)為該文件所屬用戶組用戶對該文件的權(quán)限。第四節(jié)為其他用戶對該文件的權(quán)限。
- 權(quán)限可以用數(shù)字表示:r = 4 ; w = 2 ; x = 1 ; rwx = 7 ; rw- = 6 ; --x = 1 ; rw-r--r-- = 644 ;(每3個是一個權(quán)限位,自己的權(quán)限相加。)
- rwx:w:可寫;r:可讀;x:可執(zhí)行。(沒有該權(quán)限用-表示)
- r--:表示所屬用戶組:可讀,不可寫,不可執(zhí)行。
- r--:其他用戶:可讀,不可寫,不可執(zhí)行。
chmod = change mode
- chmod nnn xxx:更改權(quán)限 (只對于目錄本身,其下的子目錄及文件權(quán)限不會做修改) # chmod 700 1.txt #更改1.txt權(quán)限 # ls -l 1.txt -rwx------. 1 root root 0 8月 9 10:53 1.txt #權(quán)限從rw-r--r--變更為rwx------
- chmod -R nnn xxx:更改權(quán)限,該目錄及子目錄和文件都做權(quán)限修改。
- 其他用法 # 這個方法不推薦。寫數(shù)字多方便 # chmod u=rwx,g=rw,o=r 1.txt # ls -l 1.txt -rwxrw-r--. 1 root root 0 8月 9 10:53 1.txt# 把所有項都加上x權(quán)限 # chmod a+x 1.txt # ls -l 1.txt -rwxrwxr-x. 1 root root 0 8月 9 10:53 1.txt# chmod a-x 1.txt # ls -l 1.txt -rw-rw-r--. 1 root root 0 8月 9 10:53 1.txt
2.15 更改所有者和所屬組chown
chown = change owner
- chown uuu xxx :更改文件所有者 # ls -l 1.txt # 查看原所有者 root -rwxrw-r--. 1 root root 0 8月 9 10:53 1.txt# chown longlong 1.txt # 更改所有者# ls -l 1.txt # 查看更改后所有者 longlong -rwxrw-r--. 1 longlong root 0 8月 9 10:53 1.txt
- chown uuu:ggg xxx:更改用戶和組
- chown :ggg xxx:只更改組
- 加上?-R;也會把子目錄及文件的用戶和組更改 # ls -l 2.txt # 查看原用戶和組 -rw-r--r--. 1 root root 0 8月 9 12:14 2.txt# chown longlong:long 2.txt # 更改用戶和組# ls -l 2.txt # 查看更改后用戶和組 -rw-r--r--. 1 longlong long 0 8月 9 12:14 2.txt
- chown :ggg xxx:只更改組
chgrp = change group
- chgrp ggg xxx :更改文件所有者 # chgrp long 1.txt # 更改所屬組 # ls -l 1.txt # 查看所屬組 long -rwxrw-r--. 1 longlong long 0 8月 9 10:53 1.txt
2.16 umask
為什么創(chuàng)建目錄和創(chuàng)建文件的權(quán)限不一樣?
# umask # 查看默認權(quán)限 0022 # 默認值0022# umask 0002 # 更改默認權(quán)限;首位0可以省略 # umask 0002 #更改后的默認權(quán)限# 更改默認權(quán)限前后創(chuàng)建文件和目錄的權(quán)限值對比 # mkdir bb # 創(chuàng)建bb目錄 # touch 2.txt # 創(chuàng)建2.txt # ls -l -rw-r--r--. 1 root root 0 8月 9 16:17 1.txt # 更改前文件 -rw-rw-rw-. 1 root root 0 8月 9 16:19 2.txt # 更改后文件 drwxr-xr-x. 2 root root 6 8月 9 16:16 aa # 更改前目錄 drwxrwxrwx. 2 root root 6 8月 9 16:19 bb # 更改后目錄- 目錄必須有x權(quán)限,因為目錄要執(zhí)行了,才能看到目錄下的子目錄及文件。
- 更改前計算公式:
- 目錄:777(rwxrwxrwx) - 022(----w--w-) = 755(rwxr-xr-x)
- 文件:666(rw-rw-rw-) - 022(----w--w-) = 644(rw-r--r--)
- 更改后計算公式:
- 目錄:777(rwxrwxrwx) - 002(-------w-) = 775(rwxrwxr-x)
- 文件:666(rw-rw-rw-) - 002(-------w-) = 664(rw-rw-r--)
- 第二次更改umask后再創(chuàng)建文件和目錄 # umask 0003 # 更改默認權(quán)限 # mkdir cc # 創(chuàng)建cc目錄 # touch 3.txt # 創(chuàng)建3.txt # ls -l -rw-r--r--. 1 root root 0 8月 9 16:17 1.txt # 更改前的文件 -rw-rw-rw-. 1 root root 0 8月 9 16:19 2.txt # 第一次更改后的文件 -rw-rw-r--. 1 root root 0 8月 9 18:22 3.txt # 第二次更改后的文件 drwxr-xr-x. 2 root root 6 8月 9 16:16 aa # 更改前的目錄 drwxrwxrwx. 2 root root 6 8月 9 16:19 bb # 第一次更改后的目錄 drwxrwxr--. 2 root root 6 8月 9 18:22 cc # 第二次更改后的目錄
- 更改后計算公式:
- 目錄:777(rwxrwxrwx) - 003(-------wx) = 775(rwxrwxr--)
- 文件:666(rw-rw-rw-) - 003(-------wx) = 664(rw-rw-r--)
2.17 隱藏權(quán)限lsattr/chattr
- lsattr xxx:查看是否有隱藏權(quán)限。
- ?lsattr -R xxx:可以查看目錄及所有子目錄和文件的隱藏權(quán)限。
- ?lsattr -a xxx:可以查看目錄及所有子目錄和文件的隱藏權(quán)限包括隱藏的。 # lsattr
-----a---------- ./aa
---------------- ./1.txt
---------------- ./bb
---------------- ./2.txt
---------------- ./cc
---------------- ./3.txt
# lsattr -R -----a---------- ./aa./aa: ---------------- ./aa/11.txt ---------------- ./aa/11_txt.swp ---------------- ./aa/4913 ---------------- ./aa/11.tx~ ---------------- ./aa/22_txt.swp ---------------- ./aa/22.txt -----a---------- ./aa/33.txt ---------------- ./aa/33_txt.swp ---------------- ./aa/5036 ---------------- ./aa/33.tx~---------------- ./1.txt ---------------- ./bb./bb:---------------- ./2.txt ---------------- ./cc./cc:---------------- ./3.txt
- ?chattr +i xxx:增加一個隱藏權(quán)限。給文件或目錄增加i權(quán)限(誰都無法增刪改,但是可以復(fù)制該目錄),把其變成只讀。(可以修改目錄下原有文件內(nèi)容和復(fù)制該文件,不能增加、刪除、移動、重命名文件。)
- chattr +a xxx:給文件或目錄增加a權(quán)限;該權(quán)限只能復(fù)制該文件和追加內(nèi)容,不能刪除和更改文件內(nèi)容及重命名文件名。(目錄下只能增加文件和復(fù)制目錄,不能刪除、移動、重命名文件)。
- ?可以touch該文件。但是只更改創(chuàng)建時間,內(nèi)容不變。
- ?chattr -i xxx:刪除一個隱藏權(quán)限。給文件或目錄刪除i權(quán)限 # tree . ├── aa │ ├── 1.txt │ └── 2.txt ├── bb │ ├── 11.txt │ └── 22.txt └── cc├── a.txt└── b.txt # chattr +i aa/ # 給aa目錄增加i權(quán)限 # chattr +a bb/ # 給bb目錄增加a權(quán)限 # chattr +i cc/a.txt # 給a文件增加i權(quán)限 # chattr +a cc/b.txt # 給b文件增加a權(quán)限 # lsattr -R ----i----------- ./aa./aa: ---------------- ./aa/1.txt ---------------- ./aa/2.txt-----a---------- ./bb./bb: ---------------- ./bb/11.txt ---------------- ./bb/22.txt---------------- ./cc./cc: ----i----------- ./cc/a.txt -----a---------- ./cc/b.txt# mv aa dd # i權(quán)限的aa目錄無法重命名 mv: 無法將"aa" 移動至"dd": 不允許的操作 # mv aa/1.txt aa/3.txt # i權(quán)限的aa目錄下的文件無法重命名 mv: 無法將"aa/1.txt" 移動至"aa/3.txt": 權(quán)限不夠 # mv aa/1.txt cc/ mv: 無法將"aa/1.txt" 移動至"cc/1.txt": 權(quán)限不夠 # aa目錄下的文件無法移動 # vi aa/1.txt # 可以修改aa目錄下文件的內(nèi)容 # cat aa/1.txt qq # rm aa/1.txt # 不可以刪除aa目錄下的文件 rm:是否刪除普通文件 "aa/1.txt"?y rm: 無法刪除"aa/1.txt": 權(quán)限不夠 # mkdir aa/aa # 不可以在aa目錄下創(chuàng)建目錄 mkdir: 無法創(chuàng)建目錄"aa/aa": 權(quán)限不夠 # touch aa/3.txt # 不可以在aa目錄下創(chuàng)建文件 touch: 無法創(chuàng)建"aa/3.txt": 權(quán)限不夠 # rm bb/11.txt # 不可以刪除a權(quán)限的bb目錄下的文件 rm:是否刪除普通空文件 "bb/11.txt"?y rm: 無法刪除"bb/11.txt": 不允許的操作 # mv bb/11.txt cc/d.txt # a權(quán)限的bb目錄下的文件無法移動 mv: 無法將"bb/11.txt" 移動至"cc/d.txt": 不允許的操作 # mv bb/11.txt bb/33.txt # a權(quán)限的bb目錄下的文件無法重命名 mv: 無法將"bb/11.txt" 移動至"bb/33.txt": 不允許的操作 # touch bb/33.txt # 可以在bb目錄下創(chuàng)建文件 # lsattr -R ----i----------- ./aa./aa: ---------------- ./aa/1.txt ---------------- ./aa/2.txt-----a---------- ./bb./bb: ---------------- ./bb/11.txt ---------------- ./bb/22.txt ---------------- ./bb/33.txt---------------- ./cc./cc: ----i----------- ./cc/a.txt -----a---------- ./cc/b.txt
- chattr +a xxx:給文件或目錄增加a權(quán)限;該權(quán)限只能復(fù)制該文件和追加內(nèi)容,不能刪除和更改文件內(nèi)容及重命名文件名。(目錄下只能增加文件和復(fù)制目錄,不能刪除、移動、重命名文件)。
轉(zhuǎn)載于:https://www.cnblogs.com/ksqinglong/p/8666893.html
總結(jié)
以上是生活随笔為你收集整理的二周第三次课(3月28日)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GitLab使用自定义端口
- 下一篇: 在当前进程下取得当前登陆用户