用戶和組
Linux安全模型:3A資源分派
Authentication:認證
?????? Authorization:授權(quán)
?????? Accounting|Audition:審計
用戶user:
?????? Linux用戶:Username/UID(identity身份驗證成功后發(fā)放相應(yīng)token令牌)
????????????? 管理員:root,0
????????????? 普通用戶(1-60000自動分配)
???????????????????? 系統(tǒng)用戶:1-499(centos6),1-999(centos7)
???????????????????? 登錄用戶:500+(centos6),1000+(centos7)
組group:
?????? Linux組:Groupname/GID
????????????? 管理員組:root,0
????????????? 普通組
???????????????????? 系統(tǒng)組:1-499(centos6),1-999(centos7)
???????????????????? 普通組:500+(centos6),1000+(centos7)
?????? 組與用戶的關(guān)系->多對多映射
????????????? 一個組可以有多個用戶
????????????? 一個用戶可以加入多個組
組存在的意義->簡化授權(quán)
安全上下文:
?????? Linux上下文content:
環(huán)境->進程發(fā)起者->訪問資源的權(quán)限取決于進程發(fā)起者的身份
?????? 以不同身份發(fā)起進程(Process)能訪問資源的權(quán)限取決于其身份
????????????? root->/bin/cat
????????????? user1->/bin/cat
組的類別:
?????? 主組(Primary Group)
????????????? 用戶必須屬于一個且只有一個主組
????????????? 組名同用戶名,且僅包含一個用戶,私有組
?????? 附加組(Supplementary Group)
????????????? 一個用戶可以屬于0個或多個附加組
?????? Linux在創(chuàng)建新用戶user1時會創(chuàng)建一個user1組,并將組user1作為用戶user1的主組
?????? Windows創(chuàng)建新用戶時不會常見新組,統(tǒng)一將新用戶加入users組
?????? *一個用戶必須用于一個主組的身份,附加組可有可無
用戶和組的配置文件:
?????? 用戶:
????????????? /etc/passwd:用戶及其屬性信息
????????????? /etc/shadow:用戶密碼及其相關(guān)屬性
?????? 組:
????????????? /etc/group:組及其屬性信息
????????????? /etc/gshadow:組密碼及其相關(guān)屬性
?????? /etc/passwd:
????????????? 可使用getent passwd [user1] 查看用戶user1的/etc/passwd信息
????????????? 共有7個字符段(name:passwd:UID:GID:GECOS:homedirectory:shell)
????????????? 出于安全性考慮passwd字段統(tǒng)一寫作x(可以使用pwunconv或pwconv)查看
????????????? 可以通過更改UID切換管理員,UID為0的用戶是管理員(root不一定是管理員)
????????????? GECOS:用戶全名或注釋(可以通過finger name查看,chfn name更改)
????????????? homedirectory:用戶家目錄(可以通過usermod –d更改)
????????????? shell:用戶默認使用shell?(可使用chsh –s [/bin/bash] [name]更改)
?????? /etc/shadow:
????????????? loginname:登錄用戶
????????????? encryptedpasswd:用戶密碼,默認sha512加密
????????????? dateof last password change:密碼最近一次更改距1970.01.01的天數(shù)
????????????? minimumpassword age:密碼再過幾天可以被更改(默認為0,隨時更改)
????????????? maximumpassword age:密碼再過幾天必須更改(默認999999,永不過期)
????????????? passwordwarning period:密碼過期前幾天提醒(默認7天)
????????????? passwordinactivity period:密碼過期幾天后會被鎖定
????????????? accountexpiration date:賬號有效期
????????????? reservedfield:預(yù)留字段
????????????? *以上/etc/shadow內(nèi)字段除預(yù)留字段外均可使用chage命令更改
?????? /etc/group:
????????????? 可使用getent group [group1] 查看用戶group1的/etc/group信息
????????????? groupname:組名
????????????? grouppassword:通常不需要設(shè)定,密碼被記錄在/etc/gshadow中
????????????? GID:群組ID
????????????? userlist:以當前組為附加組的用戶列表(分隔符為逗號)
?????? /etc/gshadow
????????????? 群組名稱
????????????? 群組密碼
????????????? 組管理員列表
????????????? 以當前組為附加組的用戶列表(分隔符為逗號)
用戶和組管理命令:
?????? 用戶管理:
????????????? useradd
????????????? usermod
????????????? userdel
?????? 組管理:
????????????? groupadd
????????????? groupmod
???????????????groupdel
權(quán)限
?????? r:readable(文本文件)
????????w:writable(文本文件)
????????x:excutable(二進制程序或腳本)
?????? u:owner文件所有者
?????? g:group組成員
?????? o:other其他人
八進制權(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ù)->無執(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的屬主和屬組按照file2進行更改
修改文件權(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)限按照file2進行更改
默認權(quán)限
umask掩碼:二進制遮擋
umask+默認權(quán)限=777(目錄)/666(文件)
?????? 文件默認權(quán)限:
????????????? root:644,對應(yīng)umask為022
????????????? 普通用戶:664,對應(yīng)umask為002
?????? 目錄默認權(quán)限:
????????????? root:755,對應(yīng)umask為022
????????????? 普通用戶:775,對應(yīng)umask為002
?????? 掩碼可使用umask命令設(shè)定:
????????????? umasknum:將umask設(shè)定為num(如umask 022)
?????? 配置文件:
????????????? 全局:/etc/bashrc
????????????? 用戶:~/.bashrc
Linux文件系統(tǒng)特殊權(quán)限
????????SUID:作用于二進制可執(zhí)行文件,當用戶執(zhí)行此文件時,會繼承此文件的所有者權(quán)限
?????? SGID:作用于二進制可執(zhí)行文件,當用戶執(zhí)行此文件時,會繼承此文件的所屬組權(quán)限
????????????? ? ????作用于目錄,當用戶在此目錄新建文件時,新文件所屬組為繼承目錄的所屬組
????????Sticky:作用于目錄,對目錄內(nèi)的文件只能刪除自己的文件,無視文件權(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訪問控制列表
?????? ACL:Access Control List,實現(xiàn)靈活的權(quán)限管理
?????? 文件系統(tǒng)支持:ext4和xfs支持,fat不支持
?????? ACL生效順序:
????????????? 所有者->自定義用戶->自定義組->其他
?????? ACL文件上的group權(quán)限是mask值,相當于限高線
?????? 命令:
????????????? getfacl:查看文件ACL權(quán)限
????????????? setfacl:更改文件ACL權(quán)限
相關(guān)練習
創(chuàng)建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為?"Gentoo?Distribution"
