linux權(quán)限命令是什么

linux權(quán)限命令:1、chgrp命令,用于修改文件和目錄的所屬組;2、chown命令,用于修改文件和目錄的所有者和所屬組;3、chmod命令,可以修改文件或目錄的權(quán)限;4、umask命令,可以令新建文件和目錄擁有默認(rèn)權(quán)限。

linux權(quán)限命令是什么

本教程操作環(huán)境:centos 6系統(tǒng)、Dell G3電腦。

Linux chgrp命令:修改文件和目錄的所屬組

chgrp 命令用于修改文件(或目錄)的所屬組。

為了方便初學(xué)者記憶,可以將 chgrp 理解為是 “change group” 的縮寫(xiě)。

chgrp 命令的用法很簡(jiǎn)單,其基本格式為:

[root@localhost?~]#?chgrp?[-R]?所屬組?文件名(目錄名)
  • -R(注意是大寫(xiě))選項(xiàng)長(zhǎng)作用于更改目錄的所屬組,表示更改連同子目錄中所有文件的所屬組信息。

使用此命令需要注意的一點(diǎn)是,要被改變的群組名必須是真實(shí)存在的,否則命令無(wú)法正確執(zhí)行,會(huì)提示 “invaild group name”。

舉個(gè)例子,當(dāng)以 root 身份登錄 Linux 系統(tǒng)時(shí),主目錄中會(huì)存在一個(gè)名為 install.log 的文件,我們可以使用如下方法修改此文件的所屬組:

[root@localhost?~]#?groupadd?group1 #新建用于測(cè)試的群組?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 文件的所屬組,但我們?cè)俅卧噲D將所屬組修改為 testgroup 時(shí),命令執(zhí)行失敗,就是因?yàn)橄到y(tǒng)的 /etc/group 文件中,沒(méi)有 testgroup 群組。

Linux chown命令:修改文件和目錄的所有者和所屬組

chown 命令,可以認(rèn)為是 “change owner” 的縮寫(xiě),主要用于修改文件(或目錄)的所有者,除此之外,這個(gè)命令也可以修改文件(或目錄)的所屬組。

當(dāng)只需要修改所有者時(shí),可使用如下 chown 命令的基本格式:

[root@localhost?~]#?chown?[-R]?所有者?文件或目錄
  • -R(注意大寫(xiě))選項(xiàng)表示連同子目錄中的所有文件,都更改所有者。

如果需要同時(shí)更改所有者和所屬組,chown 命令的基本格式為:

[root@localhost?~]#?chown?[-R]?所有者:所屬組?文件或目錄

注意,在 chown 命令中,所有者和所屬組中間也可以使用點(diǎn)(.),但會(huì)產(chǎn)生一個(gè)問(wèn)題,如果用戶在設(shè)定賬號(hào)時(shí)加入了小數(shù)點(diǎn)(例如 zhangsan.temp),就會(huì)造成系統(tǒng)誤判。因此,建議大家使用冒號(hào)連接所有者和所屬組。

當(dāng)然,chown 命令也支持單純的修改文件或目錄的所屬組,例如 chown :group install.log 就表示修改 install.log 文件的所屬組,但修改所屬組通常使用 chgrp 命令,因此并不推薦大家使用 chown 命令。

另外需要注意的一點(diǎn)是,使用 chown 命令修改文件或目錄的所有者(或所屬者)時(shí),要保證使用者用戶(或用戶組)存在,否則該命令無(wú)法正確執(zhí)行,會(huì)提示 “invalid user” 或者 “invaild group”。

【例 1】

其實(shí),修改文件的所有者,更多時(shí)候是為了得到更高的權(quán)限,舉一個(gè)實(shí)例:

[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對(duì)這個(gè)文件擁有只讀權(quán)限 [root@localhost?~]#?chown?user?file #修改文件的所有者 [root@localhost?~]#?ll?file -rw-r--r--.?1?user?root?0?Apr?17?05:12?file #所有者變成了user用戶,這時(shí)user用戶對(duì)這個(gè)文件就擁有了讀、寫(xiě)權(quán)限

可以看到,通過(guò)修改 file 文件的所有者,user 用戶從其他人身份(只對(duì)此文件有讀取權(quán)限)轉(zhuǎn)變成了所有者身份,對(duì)此文件擁有讀和寫(xiě)權(quán)限。

【例 2】

Linux 系統(tǒng)中,用戶等級(jí)權(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 用戶無(wú)權(quán)更改所有者為 root 用戶文件的權(quán)限,只有普通用戶是這個(gè)文件的所有者,才可以修改文件的權(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ù)字或者符號(hào)來(lái)進(jìn)行權(quán)限的變更。

1、chmod命令使用數(shù)字修改文件權(quán)限

Linux 系統(tǒng)中,文件的基本權(quán)限由 9 個(gè)字符組成,以 rwxrw-r-x 為例,我們可以使用數(shù)字來(lái)代表各個(gè)權(quán)限,各個(gè)權(quán)限與數(shù)字的對(duì)應(yīng)關(guān)系如下:

r –> 4

w –> 2

x –> 1

由于這 9 個(gè)字符分屬 3 類用戶,因此每種用戶身份包含 3 個(gè)權(quán)限(r、w、x),通過(guò)將 3 個(gè)權(quán)限對(duì)應(yīng)的數(shù)字累加,最終得到的值即可作為每種用戶所具有的權(quán)限。

拿 rwxrw-r-x 來(lái)說(shuō),所有者、所屬組和其他人分別對(duì)應(yīng)的權(quán)限值為:

所有者 = rwx = 4+2+1 = 7

所屬組 = rw- = 4+2 = 6

其他人 = r-x = 4+1 = 5

所以,此權(quán)限對(duì)應(yīng)的權(quán)限值就是 765。

使用數(shù)字修改文件權(quán)限的 chmod 命令基本格式為:

[root@localhost?~]#?chmod?[-R]?權(quán)限值?文件名
  • -R(注意是大寫(xiě))選項(xiàng)表示連同子目錄中的所有文件,也都修改設(shè)定的權(quán)限。

例如,使用如下命令,即可完成對(duì) .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

再舉個(gè)例子,通常我們以 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 的縮寫(xiě))。另外,chmod 命令仍使用 r、w、x 分別表示讀、寫(xiě)、執(zhí)行權(quán)限。

使用字母修改文件權(quán)限的 chmod 命令,其基本格式如下圖所示。

linux權(quán)限命令是什么

例如,如果我們要設(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

再舉個(gè)例子,如果想要增加 .bashrc 文件的每種用戶都可做寫(xiě)操作的權(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 通過(guò)使用 umask 默認(rèn)權(quán)限來(lái)給所有新建的文件和目錄賦予初始權(quán)限的。

那么,我們?nèi)绾蔚弥?umask 默認(rèn)權(quán)限的值呢?直接通過(guò) umask 命令即可:

[root@localhost?~]#?umask 0022 #root用戶默認(rèn)是0022,普通用戶默認(rèn)是?0002

umask默認(rèn)權(quán)限的修改方法

umask 權(quán)限值可以通過(guò)如下命令直接修改:

[root@localhost?~]#?umask?002 [root@localhost?~]#?umask 0002 [root@localhost?~]#?umask?033 [root@localhost?~]#?umask 0033

不過(guò),這種方式修改的 umask 只是臨時(shí)有效,一旦重啟或重新登陸系統(tǒng),就會(huì)失效。如果想讓修改永久生效,則需要修改對(duì)應(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(超級(jí)用戶),則使用此umask值 fi …省略部分內(nèi)容…

這是一段 Shell 腳本程序,不懂也沒(méi)關(guān)系,大家只需要知道,普通用戶的 umask 由 if 語(yǔ)句的第一段定義,而超級(jí)用戶 root 的 umask 值由 else 語(yǔ)句定義即可。 修改此文件,則 umask 值就會(huì)永久生效。

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享