使用者user
Linux使用者:username/uid
管理者:root,0
普通使用者:1-65535
系統使用者:1-499(cetnos6)
1-999(centos7)
組group
Linux組:groupname/gid
管理組:root,0
系統組:1-499(centos6)
普通組:500+(centos6),1000+(centos7)
組的類别
主要組:一個使用者隻允許一個主組
附加組:一個使用者可以屬于零個或多個附加組
指令:id 後跟使用者名可以檢視使用者id群組
使用者群組的配置檔案
/etc/passwd:使用者及屬性資訊,共7個字段,分别是:使用者名:X:UID:GID:描述資訊:家目錄路徑:shell類型
/etc/group:組及屬性資訊
/etc/shadow:使用者密碼及其相關屬性,分别是:使用者名:加密後的密碼:最後一次更改密碼的時間距1970年1月1日的時間:密碼最短有效期:最長有效期:過期前提前多少天通知:密碼過期後多少天停用賬戶:賬戶有效期
/etc/gshadow:組密碼
/etc/login.defs:使用者群組相關預設參數配置檔案
/etc/default/useradd:新增賬号預設配置資訊
/var/spool/mail使用者郵件存放目錄
/home/使用者預設家目錄路徑
/etc/skel存放家目錄的模闆
相關指令:
切換使用者:su mage;不完全切換,切換後仍在目前目錄,su - mage;完全切換,相當于重新登入;
centos後期版本passwd已經不存放密碼,如果需要轉換之前的版本:pwunconv;恢複:pwconv
顯示目前時間距離1970年1月1日的指令:echo <code>date +%s</code>/24/3600 | bc
更改加密算法:authconfig --passalgo=sha256 --updata
使用者建立、删除、修改
useradd,userdel,usermod
<code>useradd mage</code> :建立mage的指令,賬号剛建立是鎖定狀态,在shadow對應行密碼位置有兩個!
useradd:
-u可以指定id(檢視使用者資訊:getent passwd luo),預設是在範圍内按最大的ID新增,-o配合u使用,不檢查id的唯一性(不推薦重複id)
-g可以指定主組的id -c是使用者的描述資訊 -d指定家目錄路徑 -s制定shell類型 -r建立系統使用者,不會建立家目錄,郵箱也不建立
-m為系統使用者強行建立家目錄(與-r配合使用), -M為普通使用者不建立家目錄,(郵箱建立) -G建立使用者添加附加組
usermod
usermod -U可以解鎖賬号,一次減一個!,usermod -L 是賬号加鎖(注:centos 6 不允許通過指令解鎖,需要設定密碼解鎖)
<code>usermod -G bin wang</code>,将wang添加到bin組,如果wang 有其他附加組,會被bin覆寫掉
<code>usermod -aG bin wang</code> 加-a配合-G添加附加組不會覆寫掉 ,删除附加組:usermod -G " " wang或usermod -G wang wang
-c 新的注釋資訊,<code>usermod -c “mayongliang” mage</code>,chfn也可以改描述資訊;可以用finger mage 檢視使用者資訊
usermod -l oldwang wang,更改使用者名:usermod -l mage1 mage;
-s SHELL:更改預設SHELL:usermod -s /sbin/nologin mage;chsh -s也可以改shell類型
-d HOME:新家目錄不會自動建立,若要建立新家目錄并移動原家資料,同時使用-m選項
-e YYYY-MM-DD:指定使用者的過期日期 -f INACTINVE:設定非活動期限
userdel删除使用者
userdel -r mage;删除使用者家目錄及郵箱;
為使用者建立magedu密碼:<code>echo magedu | passwd --stdin mage</code>
強制使用者下次登入修改密碼:passwd -e mage;或chage -d 0 mage;
檢視使用者密碼狀态:chage -l mage;
批量建立新使用者:先按照passwd的格式把使用者資訊儲存到uerlist.txt目錄中,然後執行指令newusers userlist.txt完成批量使用者建立
批量改使用者密碼:按照使用者名:密碼的格式将參數儲存到passwd.txt.然後執行指令:cat passwd.txt |chpasswd 完成批量修改
組建立、删除、修改:
groupadd,groupmod,groupdel,gpasswd,groupmems
groupmod
<code>groupmod -n mage1 mage</code>:改馬哥組組名;
gpasswd -r 改組密碼;
<code>gpasswd -a mage wang</code>:把mage加到wang組;
<code>gpasswd -d mage wang</code>:把mage從wang組删掉;
<code>groupmems -l -g mage</code>:列出mage組成員;<code>groupmems -a wang -g mage</code>:把wang加到mage組
<code>groupmems -d wang -g mage</code>;将wang從mage組删掉; <code>groupmems -p -g mage</code>清理mage組所有成員
權限是基于檔案系統之上:chmod,chown,chgrp
目錄:r:能不能檢視到目錄中檔案清單;w:能不能建立或者删除,x:能不能打開;
目錄的基本權限是r.x,隻有x,隻能進入檔案夾,不能檢視檔案清單,目錄的w權限決定目錄下的檔案能否删除;
檔案:r:能不能檢視檔案内容,w:能不能修改檔案内容,x:能不能執行;
umask
建立檔案和目錄的權限由umask影響,umask相當于建立檔案權限的掩碼(0不遮擋,1遮擋)
umask 顯示目前的umask的值,umask -p 列印umask和值,umask -S 以rwx的方式顯示值
umask的值儲存于:~/.bashrc(目前使用者),/etc/bashrc(全局)
權限公式:umsk + default =777(dir)|666(file)
檔案預設權限:666-umask中遇到奇數加1,偶數不變,得到的值即為檔案的權限
特殊權限:suid(4).sgid(2),skicty(1)(粘滞位)
suid:作用于二進制可執行程式,當使用者執行此程式時,将會臨時繼承此程式所有者的權限
sgid:
1、作用于二進制可執行程式,當使用者執行此程式時,将會臨時繼承此程式所屬組的權限
2、作用于目錄,當使用者在此目錄下建立新檔案時,檔案的所屬組會自動繼承此目錄的所屬組
stikcy:作用于目錄,使用者隻能删除自已的檔案
chmod u+s file或chmod 4644 file
chmod g+s dir 或chmod 2755 dir
chmod 1755 dir,如果O有x權限,執行後最後一位變成t,如果沒有x,執行後最後一位變成T
ACL為是為了更靈活權限管理,檔案權限最後一位有+代表該檔案有acl權限
setfacl 設定acl權限:
<code>setfacl -m u:mage:- file</code>設定mage對file的acl權限為無任何權限;或setfacl -m u:mage:0 file;
<code>setfacl -m u:wang:rwx</code> file 設定wang對file的acl權限為rwx;
<code>setfacl -m g:devops:- file</code>設定devops組對file的acl權限為無任何權限;
getfacl file | setfacl --set-file = - file2,複制file的acl權限給file1
getfacl:檢視acl權限
setfacl -b 删除所有的acl功能,-R支援檔案夾遞歸
setfacl -m mask::r file 設定fac的mask值,相當于權限的限高杆
mask隻影響除所有者和其他人之外的人群組的最大權限
mask需要與使用者的權限進行邏輯與運算後,才能變成有限的權限
防止檔案誤删,可以使用chattr
chattr +i file檔案不可變,不能修改,删除
chattr +a file 隻能追加内容
lsattr file檢視檔案屬性
練習一:删除mage的家目錄,怎麼恢複到初始狀态:
答:1、複制初始化檔案:cp -r /etc/skel /home/mage;
2、更改所有者和所屬組:chmod -R luo:luo /home/mage;
3、更改檔案夾權限:chmod 700 /home/mage;
練習二:cp /etc/fstab /data/dir 所需的最小權限:
答:1、對cp指令要有執行權限;
2、etc目錄要有x權限,對fatab要有r權限;
3、data目錄要有x權限,dir要有wx權限;