天天看點

【Linux】Linux使用者、使用者組、檔案權限學習筆記 Linux使用者權限設定

作者:haihai 釋出時間:august

最近打算更仔細學習一下linux作業系統。先是惡補了一下使用者、使用者組、檔案權限這三樣比較重要的知識。

學習這幾樣東西,得先掌握linux的權限系統相關知識。

linux的權限系統主要是由使用者、使用者組和權限組成。

使用者就是一個個的登入并使用linux的使用者。linux内部用uid表示。

使用者組就是使用者的分組。linux内部用gid表示。

權限分為讀、寫、執行三種權限。

linux的使用者資訊儲存在/etc/passwd檔案中,另外,/etc/shadow檔案存放的是使用者密碼相關資訊。

/etc/passwd檔案格式:

使用者名:密碼:uid:gid:使用者資訊:home目錄路徑:使用者shell

其中uid為0則是使用者root,1~499為系統使用者,500以上為普通使用者

/etc/shadow儲存使用者密碼資訊,包括加密後的密碼,密碼過期時間,密碼過期提示天數等。

使用者組資訊儲存在/etc/group檔案中.

格式如下:

使用者組名:組密碼:gid:組内帳号(多個帳号用逗号分隔)

使用者登入後,/etc/passwd檔案裡的gid為使用者的初始使用者組。

使用者的初始使用者組這一事實不會再/etc/group中展現。

檢視目前使用者的使用者組指令:

[root@local opt]#groups

root bin daemon sys adm disk wheel

輸出的資訊中,第一個使用者組為目前使用者的有效使用者組(目前使用者組)

切換有效使用者組指令:

[root@local opt]#newgrp 使用者組名

要離開新的有效使用者組,則輸入exit回車。

建立使用者指令:

[root@local opt]#useradd 使用者名 -g 初始使用者組 -g 其他使用者組(修改/etc/group) -c 使用者說明 -u 指定uid

建完使用者需要為使用者設定密碼:

[root@local opt]#passwd 使用者名

使用者要修改自己密碼指令:

[root@local opt]#passwd

修改使用者資訊指令:

[root@local opt]#usermod 參數 使用者名

參數:

 -c 說明

 -g 組名 初始使用者組

-e 過期日期 格式:yyyy-mm-dd

 -g 組名 其他使用者組

 -l 修改使用者名

 -l 鎖定賬号(在/etc/shadow檔案中使用者對應密碼密碼串的前面加上兩個歎号(!!))

 -u 解鎖

删除使用者指令:

[root@local opt]#userdel [-r] 使用者名

其中,參數-r為删除使用者的home目錄。

其實,可能在系統其他地方也有該使用者檔案,要完整删除一個使用者和其檔案要先找到屬于他的檔案:

[root@local opt]#find / -user 使用者名

然後删除,再運作userdel删除使用者。

檢視可用shell指令:

[root@local opt]#chsh -l 

修改自己的shell指令:

[root@local opt]#chsh -s

檢視自己或某人uid/gid資訊:

[root@local opt]#id [使用者名]

傳回資訊中groups為有效使用者組

新增使用者組指令:

[root@local opt]#groupadd 使用者組名

修改使用者組名指令:

[root@local opt]#groupmod -n 名稱

删除使用者組指令:

[root@local opt]#groupdel 使用者組名

設定使用者組密碼指令:

[root@local opt]#gpasswd 使用者組名

如果gpasswd加上參數則有其他功能

設定使用者組管理者指令:

[root@local opt]#gpasswd -a 使用者名 使用者組名

添加某帳号到組指令:

[root@local opt]#gpasswd -m 使用者名 使用者組名

從組中删除某帳号指令:

[root@local opt]#gpasswd -d 使用者名 使用者組名

passwd相關參數操作:

-l 鎖使用者

-u 解鎖使用者

-n 天數  密碼不可改天數

-x 天數  密碼過期天數

-w 天數  警告天數

 檔案權限知識

先看個執行個體:

[root@local opt]#ls -al

ls -al 指令是列出目錄的所有檔案,包括隐藏檔案。隐藏檔案的檔案名第一個字元為'.'

-rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2

-rw-------  1 root root   189 08-02 14:54 iceauthority

-rw-------  1 root root    35 08-05 10:02 .lesshst

drwx------  3 root root  4096 08-02 14:54 .metacity

drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

清單的列定義如下:

[權限屬性資訊] [連接配接數] [擁有者] [擁有者所屬使用者組] [大小] [最後修改時間] [檔案名]

權限屬性清單為10個字元:

第一個字元表示檔案類型,d為目錄 -為普通檔案 l為連接配接 b為可存儲的接口裝置 c為鍵盤滑鼠等輸入裝置

2、3、4個字元表示所有者權限,5、6、7個字元表示所有者同組使用者權限,8、9、10為其他使用者權限

第二個字元表示所有者讀權限,如果有權限則為r,沒有權限則為-

第三個字元表示所有者寫權限,如果有權限則為w,沒有權限則為-

第四個字元表示所有者執行權限,如果有權限則為x,沒有權限則為-

第五個字元表示所有者同組使用者讀權限,如果有權限則為r,沒有權限則為-

第六個字元表示所有者同組使用者寫權限,如果有權限則為w,沒有權限則為-

第七個字元表示所有者同組使用者執行權限,如果有權限則為x,沒有權限則為-

第八個字元表示其他非同組讀權限,如果有權限則為r,沒有權限則為-

第九個字元表示其他非同組寫權限,如果有權限則為w,沒有權限則為-

第十個字元表示其他非同組執行權限,如果有權限則為x,沒有權限則為-

修改檔案所屬組指令:

[root@local opt]#chgrp [-r] 組名 檔案名

其中-r為遞歸設定

修改檔案的所有者群組指令:

[root@local opt]#chown [-r] 使用者[:使用者組] 檔案名

修改檔案通路權限指令:

[root@local opt]#chmod [-r] 0777 檔案名

linux下有三類使用者:

1.超級使用者: root  具有作業系統的一切權限, uid為0

2.普通使用者:具有作業系統有限的權限  uid為500—6000

3.僞使用者: 是為了友善系統管理,滿足相應的系統程序檔案屬主的要求,不能登入系統,uid為1--499

linux通過 /etc/passwd進行使用者管理,

執行指令打開該檔案: vi   /etc/passwd

在此檔案中隻定義賬号,不定義密碼。一行定義一個使用者,分為七個部分:

第一列為賬号名稱,

第二列為使用者密碼(密碼不在此定義),

第三列為使用者辨別碼(使用者id),用來确認使用者身份

第四列為使用者所在組的表示(使用者組id),

第五列為使用者相關資訊(如root),

第六列為使用者家目錄(/root),

第七列為使用者的環境(使用者使用的shell)

shell:指令行指令解析器,如 echo  $shell,檢視目前shell

id  賬戶名,檢視目前賬戶的uid

改變所屬使用者組:

chgrp  [-r]  dirname/filename ..

-r: 進行遞歸(recursive)的持續更改,即連同子目錄下得所有檔案、目錄都更新成這個使用者組。常常用在更改某一目錄的情況

eg:  chgrp  users

install.log             //users為使用者組名

更改檔案擁有者:

檔案擁有者必須已經存在于系統中們也就是在/etc/passwd這個檔案中有記錄的使用者名稱才可改變

chown [-r]  賬号名稱:檔案或目錄

chown [-r]  賬号名稱:使用者組名稱、檔案或目錄

eg: chown

bin install.log

          chown root:root install.log

 當需要複制檔案給其他人時:

      cp   源檔案  目的文

eg:  cp   .bashrc   .bashrc_test

        ls  -al  .bashrc*

更改9個屬性:

數字類型改變檔案權限

使用chmod指令改變檔案的屬性,屬性的設定方法有兩種,分别可以使用數字或者是符号:

linux 檔案的基本屬性有9個,分别是 owner/group/others組别的read/write/excute屬性。

eg: -rwxrwxrwx中,三個為一組,其中可以使用數字來表示各個屬性,各屬性的對照表位:

r:4

w:2

x:1

将同一組(owner/group/others)的3個屬性(r/w/x)累加,如目前屬性為[-rwxrwx---],則是:

owner=rwx=4+2+1=7

group=rwx=4+2+1=7

others= --- =0+0+0=0

該屬性為770.

更改屬性的指令chmod文法:

chmod  [-r]  xyz  檔案或目錄

xyz:就是數字類型的權限屬性,為rwx屬性數值的和

eg:

  ls  -al  .bashrc

  chmod  777  .bashrc

符号類型改變檔案權限

可以通過u(user)、g(group)、o(others)來表示三組的屬性,a表示all,即全部的三組,讀寫屬性可以寫成r、w、x:

chmod

u

g

o

a

+(加入)

-(除去)

=(設定)

r

w

x

檔案或目錄

eg:  chmod  u=rwx,go=rx  .bashrc

如果想把一個檔案屬性設定為 -rwxr-xr--,可以這樣: chmod  u=rwx,g=rx,o=r  filename

如果不知道檔案的原先屬性,但想增加其的每人均可寫入的權限,可以這樣:

 chmod  a+w  filename

去掉所有人的x屬性:

繼續閱讀