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