您好,登錄后才能下訂單哦!
這篇文章主要講解了“linux修改權限命令是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux修改權限命令是什么”吧!
linux權限命令:1、chgrp命令,用于修改文件和目錄的所屬組;2、chown命令,用于修改文件和目錄的所有者和所屬組;3、chmod命令,可以修改文件或目錄的權限;4、umask命令,可以令新建文件和目錄擁有默認權限。
本教程操作環境:CentOS 6系統、Dell G3電腦。
Linux chgrp命令:修改文件和目錄的所屬組
chgrp 命令用于修改文件(或目錄)的所屬組。
為了方便初學者記憶,可以將 chgrp 理解為是 "change group" 的縮寫。
chgrp 命令的用法很簡單,其基本格式為:
[root@localhost ~]# chgrp [-R] 所屬組 文件名(目錄名)
-R
(注意是大寫)選項長作用于更改目錄的所屬組,表示更改連同子目錄中所有文件的所屬組信息。
使用此命令需要注意的一點是,要被改變的群組名必須是真實存在的,否則命令無法正確執行,會提示 "invaild group name"。
舉個例子,當以 root 身份登錄 Linux 系統時,主目錄中會存在一個名為 install.log 的文件,我們可以使用如下方法修改此文件的所屬組:
[root@localhost ~]# groupadd group1 #新建用于測試的群組 group1 [root@localhost ~]# chgrp group1 install.log #修改install.log文件的所屬組為group1 [root@localhost ~]# ll install.log -rw-r--r--. 1 root group1 78495 Nov 17 05:54 install.log #修改生效 [root@localhost ~]# chgrp testgroup install.log chgrp: invaild group name 'testgroup'
可以看到,在具有 group1 群組的前提下,我們成功修改了 install.log 文件的所屬組,但我們再次試圖將所屬組修改為 testgroup 時,命令執行失敗,就是因為系統的 /etc/group 文件中,沒有 testgroup 群組。
Linux chown命令:修改文件和目錄的所有者和所屬組
chown 命令,可以認為是 "change owner" 的縮寫,主要用于修改文件(或目錄)的所有者,除此之外,這個命令也可以修改文件(或目錄)的所屬組。
當只需要修改所有者時,可使用如下 chown 命令的基本格式:
[root@localhost ~]# chown [-R] 所有者 文件或目錄
-R
(注意大寫)選項表示連同子目錄中的所有文件,都更改所有者。
如果需要同時更改所有者和所屬組,chown 命令的基本格式為:
[root@localhost ~]# chown [-R] 所有者:所屬組 文件或目錄
注意,在 chown 命令中,所有者和所屬組中間也可以使用點(.),但會產生一個問題,如果用戶在設定賬號時加入了小數點(例如 zhangsan.temp),就會造成系統誤判。因此,建議大家使用冒號連接所有者和所屬組。
當然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令。
另外需要注意的一點是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時,要保證使用者用戶(或用戶組)存在,否則該命令無法正確執行,會提示 "invalid user" 或者 "invaild group"。
【例 1】
其實,修改文件的所有者,更多時候是為了得到更高的權限,舉一個實例:
[root@localhost ~]# touch file #由root用戶創建file文件 [root@localhost ~]# ll file -rw-r--r--. 1 root root 0 Apr 17 05:12 file #文件的所有者是root,普通用戶user對這個文件擁有只讀權限 [root@localhost ~]# chown user file #修改文件的所有者 [root@localhost ~]# ll file -rw-r--r--. 1 user root 0 Apr 17 05:12 file #所有者變成了user用戶,這時user用戶對這個文件就擁有了讀、寫權限
可以看到,通過修改 file 文件的所有者,user 用戶從其他人身份(只對此文件有讀取權限)轉變成了所有者身份,對此文件擁有讀和寫權限。
【例 2】
Linux 系統中,用戶等級權限的劃分是非常清楚的,root 用戶擁有最高權限,可以修改任何文件的權限,而普通用戶只能修改自己文件的權限(所有者是自己的文件),例如:
[root@localhost ~]# cd /home/user #進入user用戶的家目錄 [root@localhost user]# touch test #由root用戶新建文件test [root@localhost user]# ll test -rw-r--r--. 1 root root 0 Apr 17 05:37 test #文件所有者和所屬組都是root用戶 [root@localhost user]# su - user #切換為user用戶 [user@localhost ~]$ chmod 755 test chmod:更改"test"的權限:不允許的操作 #user用戶不能修改test文件的權限 [user@localhost ~]$ exit #退回到root身份 [root@localhost user]# chown user test #由root用戶把test文件的所有者改為user用戶 [root@localhost user]# su - user #切換為user用戶 [user@localhost ~]$ chmod 755 test #user用戶由于是test文件的所有者,所以可以修改文件的權限 [user@localhost ~]$ ll test -rwxr-xr-x. 1 user root 0 Apr 17 05:37 test #查看權限
可以看到,user 用戶無權更改所有者為 root 用戶文件的權限,只有普通用戶是這個文件的所有者,才可以修改文件的權限。
【例 3】
[root@localhost ~]# chown user:group file [root@localhost ~]# ll file -rw-r--r--. 1 user group 0 Apr 17 05:12 file
chmod命令:修改文件或目錄的權限
chmod 命令設定文件權限的方式有 2 種,分別可以使用數字或者符號來進行權限的變更。
1、chmod命令使用數字修改文件權限
Linux 系統中,文件的基本權限由 9 個字符組成,以 rwxrw-r-x 為例,我們可以使用數字來代表各個權限,各個權限與數字的對應關系如下:
r --> 4
w --> 2
x --> 1
由于這 9 個字符分屬 3 類用戶,因此每種用戶身份包含 3 個權限(r、w、x),通過將 3 個權限對應的數字累加,最終得到的值即可作為每種用戶所具有的權限。
拿 rwxrw-r-x 來說,所有者、所屬組和其他人分別對應的權限值為:
所有者 = rwx = 4+2+1 = 7
所屬組 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
所以,此權限對應的權限值就是 765。
使用數字修改文件權限的 chmod 命令基本格式為:
[root@localhost ~]# chmod [-R] 權限值 文件名
-R
(注意是大寫)選項表示連同子目錄中的所有文件,也都修改設定的權限。
例如,使用如下命令,即可完成對 .bashrc 目錄文件的權限修改:
[root@localhost ~]# ls -al .bashrc -rw-r--r--. 1 root root 176 Sep 22 2004 .bashrc [root@localhost ~]# chmod 777 .bashrc [root@localhost ~]# ls -al .bashrc -rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc
再舉個例子,通常我們以 Vim 編輯 Shell 文件批處理文件后,文件權限通常是 rw-rw-r--(644),那么,如果要將該文件變成可執行文件,并且不讓其他人修改此文件,則只需將此文件的權限該為 rwxr-xr-x(755)即可。
2、chmod命令使用字母修改文件權限
既然文件的基本權限就是 3 種用戶身份(所有者、所屬組和其他人)搭配 3 種權限(rwx),chmod 命令中用 u、g、o 分別代表 3 種身份,還用 a 表示全部的身份(all 的縮寫)。另外,chmod 命令仍使用 r、w、x 分別表示讀、寫、執行權限。
使用字母修改文件權限的 chmod 命令,其基本格式如下圖所示。
例如,如果我們要設定 .bashrc 文件的權限為 rwxr-xr-x,則可執行如下命令:
[root@localhost ~]# chmod u=rwx,go=rx .bashrc [root@localhost ~]# ls -al .bashrc -rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc
再舉個例子,如果想要增加 .bashrc 文件的每種用戶都可做寫操作的權限,可以使用如下命令:
[root@localhost ~]# ls -al .bashrc -rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc [root@localhost ~]# chmod a+w .bashrc [root@localhost ~]# ls -al .bashrc -rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc
umask命令:令新建文件和目錄擁有默認權限
Linux 通過使用 umask 默認權限來給所有新建的文件和目錄賦予初始權限的。
那么,我們如何得知 umask 默認權限的值呢?直接通過 umask 命令即可:
[root@localhost ~]# umask 0022 #root用戶默認是0022,普通用戶默認是 0002
umask默認權限的修改方法
umask 權限值可以通過如下命令直接修改:
[root@localhost ~]# umask 002 [root@localhost ~]# umask 0002 [root@localhost ~]# umask 033 [root@localhost ~]# umask 0033
不過,這種方式修改的 umask 只是臨時有效,一旦重啟或重新登陸系統,就會失效。如果想讓修改永久生效,則需要修改對應的環境變量配置文件 /etc/profile。例如:
[root@localhost ~]# vim /etc/profile ...省略部分內容... if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then umask 002 #如果UID大于199(普通用戶),則使用此umask值 else umask 022 #如果UID小于199(超級用戶),則使用此umask值 fi …省略部分內容…
這是一段 Shell 腳本程序,不懂也沒關系,大家只需要知道,普通用戶的 umask 由 if 語句的第一段定義,而超級用戶 root 的 umask 值由 else 語句定義即可。 修改此文件,則 umask 值就會永久生效。
感謝各位的閱讀,以上就是“linux修改權限命令是什么”的內容了,經過本文的學習后,相信大家對linux修改權限命令是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。