天天看點

Linux----使用者管理和檔案管理

使用者管理:

    先看下用:戶管理需要的幾個檔案

1)  /etc/passwd  使用者身份資訊

--使用者名稱:使用者密碼(已經移植到/etc/shadow中):uid:gid:使用者說明:使用者家目錄:使用者所使用的shell

2)/etc/group  使用者組資訊

--組名稱:組密碼:gid:附加成員

3)/home/username   家目錄

4)/etc/skel/.*使用者家目錄骨架檔案

5)/etc/shadow  使用者加密資訊,專門管理密碼相關資料(chage -d -m -M -W -I -E)

--使用者名字:密碼加密字元:3密碼被使用的天數(1970.1.1為1開始累加,1971.1.1就是366):密碼最短有效期(密碼不可被改動的天數,即最後一次更改後多少天可以再次改,為0表示随時可以改):5密碼最長有效期(在最近一次更改後,多少天内重新設定密碼,99999(273年)表示密碼更改沒有強制性限制):警告期(密碼到期前n天内系統發出警告):密碼過期後還能用多少天(3+5,過期後登陸時系統要求必須重設密碼才可登陸):密碼鎖定期限(無論密碼是否過期鎖定後均不能登陸):無利用(為以後添加新功能保留)

普通使用者預設情況下不能建立使用者

用useradd建立使用者時修改的是/etc/passwd和/etc/group這兩個檔案夾

超級使用者不受密碼權限限制,可以随時修改普通使用者的密碼

使用root使用者可以建立和修改新使用者的屬性:

 1)   使用指令useradd   [選項]  參數

useradd 使用者名     ####添加使用者

useradd -u 8000 使用者名   ####建立一個ID為8000的使用者

useradd -g 2000 使用者名   ####修改使用者的組ID

useradd -G 2000 使用者名   ####把已經存在的使用者附加到ID為2000的使用者組

useradd -aG 2000 使用者名     ####保留自己原來在的那個組,同時附加到别的組 

useradd -c  "說明文字" 使用者名   ####修改該使用者的說明

useradd -d /mnt/ 使用者名      ####修改該使用者的家目錄

useradd -s /sbin/nologin  使用者名   ####修改該使用者使用的shell

useradd -G 2000 使用者名 

2)   使用指令userdel [選項] 參數  删除使用者

       eg:   userdel -r 使用者名   ####删除使用者

3) 也可使用usermod修改使用者的屬性:用法與useradd相似

    usermod [選項] 參數

    參數:usermod -u -g -G -aG -c -d -md -s -U -L

    特别說明 -d 和-md兩個參數:

    usermod -d /home/lee lee #### 修改使用者的家目錄,但是不修改/home下的名稱

    usermod -md /home/lee lee #### 修改使用者的家目錄,同時修改/home下的名稱

            -U ####使用者解鎖

            -L ####使用者加鎖

##############################################################################################

watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;)

watch -n 1(tail -2 /etc/passwd;echo ===========;tail -2 /etc/group;echo===========;ls -l /home')    監視資訊:1秒監視一次,并顯示home目錄下的資訊

檔案管理:

1 visudo使用者權限下放

visudo   ##為某一個使用者下放權限時,使用指令visudo(用vim /etc/sudoers也可以進去這個檔案但不能修改),為了規範操作,進去修改99行的内容(:99)。

   eg(添加内容為):   test(使用者名)   主機名(用hostname指令檢視)=(root)   NOPASSWD: /usr/sbin/useradd ,/user/sbin/userdel (執行什麼指令)    

##表示給使用者test一個可以建立新使用者和删除使用者的權限,NOPASSWD表示執行該權限時不需要輸入test使用者的密碼。不添加NOPASSWD:時,會出現【sudo】passwd for test的提示。

[test@localhost ~]$ sudo useradd username       ##當使用test使用者建立和删除使用者時,指令前必須加sudo來調用在/etc/sudoers檔案中添加的内容,否則test使用者添加新使用者不被允許。

hostname   ##檢視主機名

which useradd  ##檢視useradd所在檔案的路徑(在本機上使用該指令得到路徑為/usr/sbin/useradd,給使用者下放權限時添加的指令要用到該指令的路徑。如上eg)

2 /etc/shadow 

/etc/shadow  使用者加密資訊,專門管理密碼相關資料(chage -d -m -M -W -I -E)

chage  ##修改密碼權限 (使用者密碼權限控制)

        -d  ##第3欄,密碼被使用多少天

-m  ##第4欄,密碼最短有效期(修改後多少天可以改)

-M  ##第5欄,密碼最長有效期(多久要重新設定)

-W  ##第6欄,警告期(密碼到期前n天系統發出警告)

-I  ##第7欄,密碼過期後還可用的天數

-E  ##第8欄,密碼鎖定期

3 檔案的權限: 

ls -al指令看到檔案權限:

----------        ###-(目錄【d】,檔案【-】或連結檔案【l】)---(檔案所有者【user】權限rwx)---(檔案所屬使用者組【group】權限rwx)---(其他人【other】對檔案的權限rwx)   

        r(讀)    ##可讀取此檔案的實際内容,如讀取文本檔案的文字内容

w(寫)    ##可以編輯,新增或者是修改該檔案的内容(但不含删除該檔案)

x(執行)   ##該檔案具有可以被系統執行的權限

  目錄的權限:(要開放目錄給任何人浏覽時,至少給r和x權限,w權限不能随便給)

r:  ##查詢目錄下的檔案名資料,用ls顯示目錄内容(最多隻能看到檔案名)

w:  ##該目錄下的檔案名變動有關

//建立新的檔案與目錄

//删除已經存在的檔案與目錄(不論該檔案權限如何)

//将已經存在的檔案或目錄重命名

//轉移該目錄内的檔案,目錄位置

x:  ##使用者能否進入該目錄成為‘工作目錄’(目前所在的目錄)的用途,即能否在該目錄下執行指令

  ls -ld   ##檢視本級目錄的權限[使用者@主機 目錄]

4 修改檔案的屬性

 chown ##改變檔案所有者  eg:chown lee test (-R)  表示把檔案test的所有者改為lee,加R表示遞歸修改所有者

 //也可以用來修改使用者組  eg:chown root:lee test  表示把檔案test的所有者改為root,所有組改為lee

 chgrp ##改變檔案所屬使用者組   eg:chgrp root test 表示把檔案test所屬的使用者組改為root

 chmod ##改變檔案權限 方式有2種(字元和數字)

  字元:chmod   (u|g|o|a)(+|-|=)(r|w|x)  ##u【user】,g【group】,o【other】,a(all,所有身份),+(加上),-(減去),=(設定)

eg:u+x  u-x   u+rwx   ug+x   ug-x

   chmod u+x directory -R   ##表示該目錄下的所有檔案都遞歸的在【user】權限上增加了x權限

    數字:r:4   w:2   x:1

    eg:chmod 755 directory -R  ##表示該目錄下所有檔案的權限都為 -rwxr-xr-x

5 檔案特殊權限    

  u+s(suid冒險位)    ##若檔案(/usr/bin/touch)有權限u+s,不管是誰發起touch指令建立新檔案,所建立的新檔案的使用者都是檔案(/usr/bin/touch)的使用者,與指令的發起者無關。

     ##用于權限的提升或下放,即(/usr/bin/touch的所有者是root)讓普通使用者暫時獲得root使用者建立檔案的權限,本來在某些目錄下隻允許root建立檔案的權限被普通使用者得到,使普通使用者也可以建立。

  g+s(sgid粘制位)     ##對檔案(/usr/bin/touch)來說,若有權限g+s,則不論誰執行檔案(/usr/bin/touch)建立所得的新檔案所屬使用者組都是檔案(/usr/bin/touch)的使用者組,與touch指令的執行者是誰無關。

             ##對目錄來說,如果目錄的權限是g+s,則隻要在該目錄下,無論是哪個使用者執行的建立檔案的指令,建立檔案所屬的使用者組都和該目錄相同,與指令的執行者所處的使用者組無關。

o+t(sticky強制位)  ##若一個目錄有該權限,則目錄内的檔案隻能被檔案所有者删除(t對檔案無意義,隻針對目錄來說)

6  設定umask

   umask  ##顯示預設減去的權限

  修改預設減去權限的步驟:

   步驟1:vim /etc/profile(進入檔案)->輸入/umask(查找修改位置) -> 修改權限(if後修改,改變的是普通使用者的權限;else後修改,改變的是超級使用者的權限)->wq(儲存退出)

   步驟2:vim /etc/bashrc(進入檔案)-> 輸入/umask(查找修改位置) -> 修改權限(if後修改,改變的是普通使用者的權限;else後修改,改變的是超級使用者的權限)->wq(儲存退出)

   步驟3:兩個檔案的修改必須統一,執行指令source /etc/profile和source /etc/bashrc(讀一次,使修改生效)

   步驟4:修改umask成功,建立檔案的權限和未修改前不一樣了。

  注意:linux系統預設所有檔案都不可執行,即預設檔案權限減去111,要執行須手工添加(病毒就是可執行檔案,在linux系統中新加入的檔案全都預設去掉可執行的權限,是以病毒不能執行,這也就是linux系統比較安全的原因)

繼續閱讀