使用者管理:
先看下用:戶管理需要的幾個檔案
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系統比較安全的原因)