Linux運維基礎-系統管理之權限管理

用戶和組

用戶user
Linux用戶:username/uid
管理員:root,0
普通用戶:1-65535
系統用戶:1-499(cetnos6)
1-999(centos7)
組group
Linux組:groupname/gid
管理組:root,0
系統組:1-499(centos6)
1-999(centos7)
普通組: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 date +%s/24/3600 | bc
更改加密算法:authconfig --passalgo=sha256 --updata

用戶創建、刪除、修改
useradd,userdel,usermod
useradd mage :創建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 不允許通過命令解鎖,需要設置密碼解鎖)
usermod -G bin wang,將wang添加到bin組,如果wang 有其他附加組,會被bin覆蓋掉
usermod -aG bin wang 加-a配合-G添加附加組不會覆蓋掉 ,刪除附加組:usermod -G " " wang或usermod -G wang wang
-c 新的註釋信息,usermod -c “mayongliang” mage,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密碼:echo magedu | passwd --stdin mage
強制用戶下次登錄修改密碼: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
groupmod -n mage1 mage:改馬哥組組名;
gpasswd -r 改組口令;
gpasswd -a mage wang:把mage加到wang組;
gpasswd -d mage wang:把mage從wang組刪掉;
groupmems -l -g mage:列出mage組成員;groupmems -a wang -g mage:把wang加到mage組
groupmems -d wang -g mage;將wang從mage組刪掉; groupmems -p -g mage清理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爲是爲了更靈活權限管理,文件權限最後一位有+代表該文件有acl權限
setfacl 設置acl權限:
setfacl -m u:mage:- file設置mage對file的acl權限爲無任何權限;或setfacl -m u:mage:0 file;
setfacl -m u:wang:rwx file 設置wang對file的acl權限爲rwx;
setfacl -m g:devops:- file設置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需要與用戶的權限進行邏輯與運算後,才能變成有限的權限

練習一:刪除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權限;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章