用戶(hù)和組
Linux安全模型:3A資源分派
Authentication:認(rèn)證
?????? Authorization:授權(quán)
?????? Accounting|Audition:審計(jì)
用戶(hù)user:
?????? Linux用戶(hù):Username/UID(identity身份驗(yàn)證成功后發(fā)放相應(yīng)token令牌)
????????????? 管理員:root瘤睹,0
????????????? 普通用戶(hù)(1-60000自動(dòng)分配)
???????????????????? 系統(tǒng)用戶(hù):1-499(centos6),1-999(centos7)
???????????????????? 登錄用戶(hù):500+(centos6),1000+(centos7)
組group:
?????? Linux組:Groupname/GID
????????????? 管理員組:root牲览,0
????????????? 普通組
???????????????????? 系統(tǒng)組:1-499(centos6)谴轮,1-999(centos7)
???????????????????? 普通組:500+(centos6)岩喷,1000+(centos7)
?????? 組與用戶(hù)的關(guān)系->多對(duì)多映射
????????????? 一個(gè)組可以有多個(gè)用戶(hù)
????????????? 一個(gè)用戶(hù)可以加入多個(gè)組
組存在的意義->簡(jiǎn)化授權(quán)
安全上下文:
?????? Linux上下文content:
環(huán)境->進(jìn)程發(fā)起者->訪(fǎng)問(wèn)資源的權(quán)限取決于進(jìn)程發(fā)起者的身份
?????? 以不同身份發(fā)起進(jìn)程(Process)能訪(fǎng)問(wèn)資源的權(quán)限取決于其身份
????????????? root->/bin/cat
????????????? user1->/bin/cat
組的類(lèi)別:
?????? 主組(Primary Group)
????????????? 用戶(hù)必須屬于一個(gè)且只有一個(gè)主組
????????????? 組名同用戶(hù)名动羽,且僅包含一個(gè)用戶(hù)至耻,私有組
?????? 附加組(Supplementary Group)
????????????? 一個(gè)用戶(hù)可以屬于0個(gè)或多個(gè)附加組
?????? Linux在創(chuàng)建新用戶(hù)user1時(shí)會(huì)創(chuàng)建一個(gè)user1組亲怠,并將組user1作為用戶(hù)user1的主組
?????? Windows創(chuàng)建新用戶(hù)時(shí)不會(huì)常見(jiàn)新組所计,統(tǒng)一將新用戶(hù)加入users組
?????? *一個(gè)用戶(hù)必須用于一個(gè)主組的身份,附加組可有可無(wú)
用戶(hù)和組的配置文件:
?????? 用戶(hù):
????????????? /etc/passwd:用戶(hù)及其屬性信息
????????????? /etc/shadow:用戶(hù)密碼及其相關(guān)屬性
?????? 組:
????????????? /etc/group:組及其屬性信息
????????????? /etc/gshadow:組密碼及其相關(guān)屬性
?????? /etc/passwd:
????????????? 可使用getent passwd [user1] 查看用戶(hù)user1的/etc/passwd信息
????????????? 共有7個(gè)字符段(name:passwd:UID:GID:GECOS:homedirectory:shell)
????????????? 出于安全性考慮passwd字段統(tǒng)一寫(xiě)作x(可以使用pwunconv或pwconv)查看
????????????? 可以通過(guò)更改UID切換管理員团秽,UID為0的用戶(hù)是管理員(root不一定是管理員)
????????????? GECOS:用戶(hù)全名或注釋?zhuān)梢酝ㄟ^(guò)finger name查看主胧,chfn name更改)
????????????? homedirectory:用戶(hù)家目錄(可以通過(guò)usermod –d更改)
????????????? shell:用戶(hù)默認(rèn)使用shell?(可使用chsh –s [/bin/bash] [name]更改)
?????? /etc/shadow:
????????????? loginname:登錄用戶(hù)
????????????? encryptedpasswd:用戶(hù)密碼叭首,默認(rèn)sha512加密
????????????? dateof last password change:密碼最近一次更改距1970.01.01的天數(shù)
????????????? minimumpassword age:密碼再過(guò)幾天可以被更改(默認(rèn)為0,隨時(shí)更改)
????????????? maximumpassword age:密碼再過(guò)幾天必須更改(默認(rèn)999999踪栋,永不過(guò)期)
????????????? passwordwarning period:密碼過(guò)期前幾天提醒(默認(rèn)7天)
????????????? passwordinactivity period:密碼過(guò)期幾天后會(huì)被鎖定
????????????? accountexpiration date:賬號(hào)有效期
????????????? reservedfield:預(yù)留字段
????????????? *以上/etc/shadow內(nèi)字段除預(yù)留字段外均可使用chage命令更改
?????? /etc/group:
????????????? 可使用getent group [group1] 查看用戶(hù)group1的/etc/group信息
????????????? groupname:組名
????????????? grouppassword:通常不需要設(shè)定焙格,密碼被記錄在/etc/gshadow中
????????????? GID:群組ID
????????????? userlist:以當(dāng)前組為附加組的用戶(hù)列表(分隔符為逗號(hào))
?????? /etc/gshadow
????????????? 群組名稱(chēng)
????????????? 群組密碼
????????????? 組管理員列表
????????????? 以當(dāng)前組為附加組的用戶(hù)列表(分隔符為逗號(hào))
用戶(hù)和組管理命令:
?????? 用戶(hù)管理:
????????????? useradd
????????????? usermod
????????????? userdel
?????? 組管理:
????????????? groupadd
????????????? groupmod
???????????????groupdel
權(quán)限
?????? r:readable(文本文件)
????????w:writable(文本文件)
????????x:excutable(二進(jìn)制程序或腳本)
?????? u:owner文件所有者
?????? g:group組成員
?????? o:other其他人
八進(jìn)制權(quán)限
?????? ---000->0
?????? --x001->1
?????? -w-010->2
?????? r--100 ->4
?????? rwx111 ->7
?????? [eg]
????????????? 640:rw-r-----
????????????? 755:rwx-r-xr-x
?????? *奇數(shù)->有執(zhí)行權(quán)限;偶數(shù)->無(wú)執(zhí)行權(quán)限
權(quán)限分配
共十位夷都,以drwxrwxrwx為例间螟,d表示文件屬性,后續(xù)1-3位表示u權(quán)限损肛,4-6位表示g權(quán)限厢破,7-9表示o權(quán)限
修改文件所屬情況
?????? chgrpgroup file:將file的屬組更改為group
?????? chown[owner]:[group] file:將file的屬主更改為owner,屬組更改為group(:可用.替換)
?????? chown--reference=file2 file1:將file1的屬主和屬組按照f(shuō)ile2進(jìn)行更改
修改文件權(quán)限
?????? 模式法:
????????????? chmodwho opt per file
???????????????????? who:u,g,o,x
???????????????????? opt:+,-,=
???????????????????? per:r,w,x
????????????? [eg]
???????????????????? chmodu+rwx,g+rw,o+r file:將file文件權(quán)限更改為rwxrw-r--
?????? 數(shù)字法:
????????????? chmodnum file
????????????? [eg]
???????????????????? chmod764 file:將file文件權(quán)限更改為rwxrw-r—
?????? *chmod --reference=file2 file1:將file1的文件權(quán)限按照f(shuō)ile2進(jìn)行更改
默認(rèn)權(quán)限
umask掩碼:二進(jìn)制遮擋
umask+默認(rèn)權(quán)限=777(目錄)/666(文件)
?????? 文件默認(rèn)權(quán)限:
????????????? root:644治拿,對(duì)應(yīng)umask為022
????????????? 普通用戶(hù):664摩泪,對(duì)應(yīng)umask為002
?????? 目錄默認(rèn)權(quán)限:
????????????? root:755,對(duì)應(yīng)umask為022
????????????? 普通用戶(hù):775劫谅,對(duì)應(yīng)umask為002
?????? 掩碼可使用umask命令設(shè)定:
????????????? umasknum:將umask設(shè)定為num(如umask 022)
?????? 配置文件:
????????????? 全局:/etc/bashrc
????????????? 用戶(hù):~/.bashrc
Linux文件系統(tǒng)特殊權(quán)限
????????SUID:作用于二進(jìn)制可執(zhí)行文件见坑,當(dāng)用戶(hù)執(zhí)行此文件時(shí),會(huì)繼承此文件的所有者權(quán)限
?????? SGID:作用于二進(jìn)制可執(zhí)行文件捏检,當(dāng)用戶(hù)執(zhí)行此文件時(shí)荞驴,會(huì)繼承此文件的所屬組權(quán)限
????????????? ? ????作用于目錄,當(dāng)用戶(hù)在此目錄新建文件時(shí)贯城,新文件所屬組為繼承目錄的所屬組
????????Sticky:作用于目錄熊楼,對(duì)目錄內(nèi)的文件只能刪除自己的文件,無(wú)視文件權(quán)限
????????添加特殊權(quán)限命令:
?????? ????????chmod u=rws,g=rws,o=rwt F:將目錄或文件F的權(quán)限更改為rwsrwsrwt
?????????????? chmod 4777 F:添加SUID
?????????????? chmod 2777 F:添加SGID
?????????????? chmod 1777 F:添加Sticky
?????? 設(shè)定文件特殊權(quán)限
????????????? chattr+i:不能刪除能犯、改名鲫骗、更改
????????????? chattr+a:只能追加內(nèi)容
????????????? lsattr:顯示特定內(nèi)容
ACL訪(fǎng)問(wèn)控制列表
?????? ACL:Access Control List,實(shí)現(xiàn)靈活的權(quán)限管理
?????? 文件系統(tǒng)支持:ext4和xfs支持,fat不支持
?????? ACL生效順序:
????????????? 所有者->自定義用戶(hù)->自定義組->其他
?????? ACL文件上的group權(quán)限是mask值,相當(dāng)于限高線(xiàn)
?????? 命令:
????????????? getfacl:查看文件ACL權(quán)限
????????????? setfacl:更改文件ACL權(quán)限
相關(guān)練習(xí)
創(chuàng)建用戶(hù)gentoo浑劳,附加組為bin和root甜熔,默認(rèn)shell為/bin/csh,注釋信息為?"Gentoo?Distribution"