天天看點

Linux運維基礎-系統管理之權限管理使用者群組權限ACL 通路控制清單

使用者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權限;

繼續閱讀