国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux學(xué)習(xí)筆記(三):權(quán)限管理(文件目錄權(quán)限、用戶(hù)權(quán)限)

2020-06-13 11:38:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

文件及目錄的權(quán)限管理

上篇簡(jiǎn)單介紹了下文件和目錄的一些簡(jiǎn)單的操作,接下來(lái)介紹用戶(hù)和文件權(quán)限的管理。首先了解用戶(hù)和組賬號(hào)的配置文件,然后是管理用戶(hù)和組賬號(hào),最后要會(huì)設(shè)置文件和目錄權(quán)限和歸屬。

Linux基于用戶(hù)身份對(duì)資源訪問(wèn)進(jìn)行控制。用戶(hù)賬號(hào)分為超級(jí)用戶(hù)root(相當(dāng)于windows下的Administrator),然后是普通用戶(hù)。Linux中是不建議使用root登錄系統(tǒng)執(zhí)行管理任務(wù)的,因?yàn)檫@很不安全。要是誤刪了系統(tǒng)中某個(gè)重要的文件,那就玩完了。

用戶(hù)賬號(hào)文件——passwd

用于保存用戶(hù)的賬號(hào)的基本信息,文件位置:/etc/passwd,每一行對(duì)應(yīng)一個(gè)用戶(hù)的賬號(hào)記錄,下面是取出最后兩行記錄的賬號(hào)信息,然后來(lái)分析它每個(gè)字段的含義(字段之間用冒號(hào)分隔)。

Linux,權(quán)限管理,文件目錄權(quán)限,用戶(hù)權(quán)限

字段1  jzhou:用戶(hù)賬號(hào)的名字;

字段2  x :密碼占位符

字段3  500:用戶(hù)賬號(hào)的UID號(hào)(RedHat和CentOS中默認(rèn)從500開(kāi)始)

字段4  500:用戶(hù)所屬主賬號(hào)的GID號(hào)(也是默認(rèn)從500開(kāi)始)

字段5 zhoujie:用戶(hù)全名

字段6  /home/jzhou :用戶(hù)的宿主目錄,即家目錄

字段7  /bin/bash :登錄shell信息

基于系統(tǒng)運(yùn)行和管理需要,所有用戶(hù)都可以訪問(wèn)passwd文件中的內(nèi)容,但只有root用戶(hù)才能更改

用戶(hù)密碼文件——shadow

用于保存密碼串、密碼有效期等信息,文件位置:/etc/shadow,每一行對(duì)應(yīng)一個(gè)用戶(hù)的密碼記錄。下面列出最后兩行記錄并解釋每個(gè)字段的含義:

Linux,權(quán)限管理,文件目錄權(quán)限,用戶(hù)權(quán)限

字段1 :用戶(hù)賬號(hào)的名稱(chēng)

字段2 :加密的密碼字串信息(采用MD5加密)

字段3 :上次修改密碼的時(shí)間

字段4:密碼的最短有效天數(shù),默認(rèn)值為 0

字段5:密碼的最長(zhǎng)有效天數(shù),默認(rèn)值為 99999

字段6:提前多少天警告用戶(hù)口令將要過(guò)期,默認(rèn)值為 7

字段7:在密碼過(guò)期后多少天禁用此用戶(hù)(默認(rèn)為空)

字段8:賬號(hào)失效時(shí)間(默認(rèn)為空)   

字段9 :保留字段(未使用)

默認(rèn)只要root用戶(hù)能夠讀取該文件中的內(nèi)容,并且不允許root直接編輯該文件中的內(nèi)容。那么添加用戶(hù)時(shí)如何來(lái)指定選項(xiàng)以實(shí)現(xiàn)這些功能呢?下面將簡(jiǎn)單介紹如何添加用戶(hù)、組。

添加用戶(hù)賬號(hào)——useradd

Linux,權(quán)限管理,文件目錄權(quán)限,用戶(hù)權(quán)限

用戶(hù)賬號(hào)的初始配置文件

文件來(lái)源——新建用戶(hù)賬號(hào)時(shí),從/etc/skel目錄中復(fù)制而來(lái)

主要的用戶(hù)初始配置文件有 :

 

復(fù)制代碼
代碼如下:

~/.bash_profile:用戶(hù)每次登錄時(shí)執(zhí)行
~/.bashrc:每次進(jìn)入新的Bash環(huán)境時(shí)執(zhí)行,默認(rèn)設(shè)置了一些命令的別名
~/.bash_logout:用戶(hù)每次退出登錄時(shí)執(zhí)行

 

可通過(guò)cat命令查看上述文件的內(nèi)容。

設(shè)置/更改用戶(hù)口令——passwd

一般我不會(huì)也沒(méi)有必要解釋每個(gè)命令的帶的參數(shù),但是passwd我會(huì)介紹它的參數(shù)含義及用法,因?yàn)槲矣X(jué)得在系統(tǒng)維護(hù)中會(huì)常用到。

 

復(fù)制代碼
代碼如下:

[jzhou@localhost ~]$ su - root
口令:
[root@localhost ~]# passwd -l jzhou ==>鎖定用戶(hù)jzhou的賬號(hào)
Locking password for user jzhou.
passwd: Success
[root@localhost ~]# passwd -S jzhou ==>查看用戶(hù)狀態(tài)
jzhou LK 2013-02-03 0 99999 7 -1 (Password locked.) ==>為鎖定狀態(tài)
[root@localhost ~]# tail -2 /etc/shadow ==>賬號(hào)鎖定后,有木有發(fā)現(xiàn)密碼位前面多了兩個(gè)!!,表示密碼不可用
jzhou:!!$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd -u jzhou ==>為賬號(hào)jzhou解鎖
Unlocking password for user jzhou. ==>已被成功解鎖
passwd: Success.
[root@localhost ~]# passwd -S jzhou ==>再次查看用戶(hù)狀態(tài)
jzhou PS 2013-02-03 0 99999 7 -1 (Password set, MD5 crypt.)
[root@localhost ~]# tail -2 /etc/shadow ==>觀察密碼位變化,沒(méi)有了兩個(gè)!!,表示密碼可用
jzhou:$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd -d jzhou ==>清楚用戶(hù)jzhou的密碼
Removing password for user jzhou. ==>密碼已被成功清除
passwd: Success
[root@localhost ~]# tail -2 /etc/shadow ==>查看密碼位有什么變化
jzhou::15771:0:99999:7::: ==>密碼位變空了。。。
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd jzhou ==>為用戶(hù)重新設(shè)定密碼
Changing password for user jzhou.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully. ==>OK,密碼已經(jīng)設(shè)置成功了
[root@localhost ~]#

 

注意,“未設(shè)置密碼”的用戶(hù)賬號(hào)尚未完成初始化,處于不可登錄狀態(tài),與“空密碼”的情況不同,普通用戶(hù)可以使用passwd命令,但只能更改自己的密碼。另外,被鎖定的賬號(hào)也不能登錄系統(tǒng)。

修改用戶(hù)賬號(hào)的屬性——usermod

它的命令有幾個(gè)功能和passwd是一樣的,比如L和U參數(shù)就是鎖定和解鎖賬戶(hù)的,不過(guò)要大寫(xiě)。其他選項(xiàng)和useradd的中的一樣,就是更改uid,gid等。

刪除用戶(hù)賬號(hào)——userdel
     
刪除賬號(hào)時(shí)直接用”userdel  用戶(hù)名“就行了,但是這樣刪除的話(huà),用戶(hù)的家目錄依然存在,這時(shí)你若要再建立一個(gè)與剛才同名的賬號(hào)那是不行的,所以我習(xí)慣帶上-r選項(xiàng),刪的徹底點(diǎn),即連同家目錄一起刪除,反正刪除賬號(hào)后家目錄也沒(méi)什么用了。
 
還有兩個(gè)域組賬號(hào)相關(guān)的文件,即/etc/group 和/etc/gshadow,不太常用,尤其是后者,知道下應(yīng)該就行了。

添加組賬號(hào)——groupadd

添加一個(gè)組賬號(hào),在新建用戶(hù)時(shí),若要指定用戶(hù)的gid和組名稱(chēng),則必須先保證這個(gè)組要存在,所以要先建立組,簡(jiǎn)單的操作如下:

 

復(fù)制代碼
代碼如下:

[root@localhost ~]#groupadd -g 1000 test ==>創(chuàng)建一個(gè)組gid為1000
[root@localhost ~]#tail -3 /etc/group
jzhou:x:500:
user1:x:504:
test:x:1000:
[root@localhost ~]#

 

刪除組賬號(hào)——groupdel

很簡(jiǎn)單,直接接用戶(hù)名作為參數(shù),刪除組賬號(hào)后,從/etc/group文件中將查不到相應(yīng)的記錄。

用戶(hù)和組賬號(hào)查詢(xún):

id命令——查詢(xún)用戶(hù)身份標(biāo)識(shí)

groups命令——查詢(xún)用戶(hù)所屬的組

finger命令——查詢(xún)用戶(hù)的詳細(xì)信息

users、w、who命令查詢(xún)已登錄到主機(jī)的用戶(hù)信息

文件/目錄的權(quán)限和歸屬

將ls帶上參數(shù)l或直接打ll命令,則可以查看用戶(hù)對(duì)文件的使用權(quán)。

Linux,權(quán)限管理,文件目錄權(quán)限,用戶(hù)權(quán)限


 第一列權(quán)限位由10位(比如d rwx rwx r-x)組成,其中第一位表示文件類(lèi)型,d表示目錄,l表示鏈接文件,b表示塊文件,c表示字符文件,-表示普通文件。關(guān)于rwx-分別表示讀、寫(xiě)、執(zhí)行、無(wú)權(quán)限,r w x - 四個(gè)權(quán)限字符分別可表示為8進(jìn)制數(shù)字4,2,1,0,即 rwx rwx r-x權(quán)限也可表示為775,其中前三位rwx(7)表示文件所有者(owner)對(duì)該文件的權(quán)限,中間3位rwx(7)表示文件所在的組(group)對(duì)該文件的權(quán)限,最后三位r-x(5)表示其他用戶(hù)(other)對(duì)該文件的權(quán)限,也即ugo權(quán)限。

設(shè)置文件/目錄的權(quán)限——chmod

 

復(fù)制代碼
代碼如下:

[jzhou@localhost dirtest]$ ll
總計(jì) 36
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-rw-r-- 1 jzhou jzhou 67 03-05 22:40 testfile
[jzhou@localhost dirtest]$ chmod g-w,o+x testfile ==>設(shè)置文件testfile的組權(quán)限和其他人權(quán)限,注意權(quán)限變化
[jzhou@localhost dirtest]$ ls -l
總計(jì) 36
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile ==>看,權(quán)限變化了
[jzhou@localhost dirtest]$ chmod 644 dirtest1/ ==>改變目錄dirtest1的權(quán)限,即讀寫(xiě)|讀|讀
[jzhou@localhost dirtest]$ ll
總計(jì) 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1 ==>發(fā)現(xiàn)它的變化了沒(méi)
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile
[jzhou@localhost dirtest]$ chown jzhou:root testfile ==>普通用戶(hù)沒(méi)有權(quán)限更改
chown: 正在更改 “testfile” 的所有者: 不允許的操作
[jzhou@localhost dirtest]$ su root ==>切換到root用戶(hù)
口令:
[root@localhost dirtest]# ll
總計(jì) 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile
[root@localhost dirtest]# chown root:root testfile ==>將文件testfile的擁有者和屬組都改為root
[root@localhost dirtest]# ll
總計(jì) 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 root root 67 03-05 22:40 testfile ==>看,它的文件擁有者和所屬組都變?yōu)閞oot了
[root@localhost dirtest]#

 

修改目錄的權(quán)限和所屬組時(shí)可以指定-R選項(xiàng)以實(shí)現(xiàn)目錄里的文件或者目錄也可以遞歸變化。若只修改文件/目錄所有者只需指定前者,即chown root testfile,若只修改文件/目錄所屬組的權(quán)限,前面的用戶(hù)可不寫(xiě),即chown :root testfile。

附加權(quán)限位

普通用戶(hù)并沒(méi)有權(quán)限修改“/etc/shadow”文件,那為什么可以修改自己的登錄密碼呢?因?yàn)閜asswd命令程序被設(shè)置了SUID權(quán)限,普通用戶(hù)在執(zhí)行該命令時(shí)臨時(shí)獲得相當(dāng)于屬主用戶(hù)(root)的權(quán)限。

set位權(quán)限的主要用途:

為可執(zhí)行(有 x 權(quán)限的)文件設(shè)置,權(quán)限字符為“s”;

 其他用戶(hù)執(zhí)行該文件時(shí),將擁有屬主或?qū)俳M用戶(hù)的權(quán)限。

set位權(quán)限類(lèi)型:
SUID:表示對(duì)屬主用戶(hù)增加SET位權(quán)限;
SGID:表示對(duì)屬組內(nèi)的用戶(hù)增加SET位權(quán)限。

 

復(fù)制代碼
代碼如下:

[root@localhost ~]# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 19876 2006-07-17 /usr/bin/passwd
==>普通用戶(hù)以root用戶(hù)的身份,間接更新了shadow文件中自己的密碼

 

注意:不要輕易為可執(zhí)行文件設(shè)置SET位權(quán)限,特別是對(duì)于那些屬主、屬組是root的執(zhí)行程序,使用SET位權(quán)限時(shí)更應(yīng)該慎重。例如,若為vim編輯器程序設(shè)置SUID權(quán)限,將導(dǎo)致普通用戶(hù)也可以使用vim編輯器修改系統(tǒng)中的任何配置文件     

 粘滯位(Sticky)

主要用途:
為公共目錄(例如,權(quán)限為777的)設(shè)置,權(quán)限字符為“t”
用戶(hù)不能刪除該目錄中其他用戶(hù)的文件
 
由于系統(tǒng)及服務(wù)程序運(yùn)行的需要, Linux提供了/tmp、/var/tmp等臨時(shí)目錄,允許任意用戶(hù)、程序?qū)懭霐?shù)據(jù),然而試想一下,若任意一個(gè)普通用戶(hù)都能夠刪除系統(tǒng)服務(wù)運(yùn)行中使用的臨時(shí)文件,將造成什么后果?設(shè)置粘滯位以后,正好可以保持一種動(dòng)態(tài)的平衡:允許各用戶(hù)在目錄中任意寫(xiě)入、刪除數(shù)據(jù),但是禁止隨意刪除其他用戶(hù)的數(shù)據(jù) 。

 

復(fù)制代碼
代碼如下:

[root@localhost ~]# ls -ld /tmp /var/tmp
drwxrwxrwt 8 root root 4096 09-09 15:07 /tmp ==>就是將t位代替執(zhí)行位x
drwxrwxrwt 2 root root 4096 09-09 07:00 /var/tmp

 

其實(shí)這些特殊權(quán)限位用的不多,我認(rèn)為只不過(guò)是為那幾種特殊的文件作個(gè)解釋罷了,不用深究的,知道派什么用的就行了吧。

使用附加權(quán)限

設(shè)置SET位、粘滯位權(quán)限
使用權(quán)限字符
 

復(fù)制代碼
代碼如下:

chmod ug±s 可執(zhí)行文件...
chmod o±t 目錄名...

使用權(quán)限數(shù)字:

復(fù)制代碼
代碼如下:

chmod mnnn 可執(zhí)行文件...

 

m為4時(shí),對(duì)應(yīng)SUID,2對(duì)應(yīng)SGID,1對(duì)應(yīng)粘滯位,可疊加
 
SET位標(biāo)記字符為“s”,若使用8進(jìn)制數(shù)字形式,則SUID對(duì)應(yīng)為“4”、SGID對(duì)應(yīng)為“2”;在權(quán)限模式中可采用“nnnn”的形式時(shí),如“4755”表示設(shè)置SUID權(quán)限、“6755”表示同時(shí)設(shè)置SUID、SGID權(quán)限。


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗城| 贺州市| 化州市| 和静县| 武宣县| 曲水县| 庄河市| 昌乐县| 手游| 朝阳市| 烟台市| 克山县| 大田县| 襄汾县| 曲阜市| 垣曲县| 旌德县| 乌拉特后旗| 永平县| 深水埗区| 滁州市| 宜城市| 平谷区| 锦州市| 大石桥市| 海淀区| 武川县| 施秉县| 海兴县| 蓬莱市| 拉孜县| 邛崃市| 蓬安县| 南岸区| 新野县| 高邑县| 宜兰县| 台中县| 抚顺县| 桂林市| 介休市|