一、3A認證
Authentication:認證
Autherization:授權
Accoutiong|Audition:審計
二、用戶user
linux用戶:username/UID
管理員:root,uid為0
普通用戶:1-65535
系統用戶:1-499(CentOS6),1-999(CentOS7)
對守護進程獲取資源進行權限分配
登錄用戶:500+(CentOS6),1000+(CentOS7)
交互式鞥路
touch /etc/nologin,除了root用戶都不讓登錄
三、組group
linux組:groupname/GID
管理員組:root,gid為0
系統組:1-499(CentOS6),1-999(CentOS7)
普通組:500+(CentOS6),1000+(CentOS7)
存放在:/etc/login.defs
安全上下文:(security context)
運行中的程序:進程(process)
以進程發起者的身份運行,進程所能夠訪問資源取決于進程的運行者的身份。
組的類別:
用戶的主要組:主組(primary group)
用戶必須屬于一個且只有一個主組
組名同用戶名,且僅包含一個用戶:私有組
用戶的附加組:輔助組(secondart group)
一個用戶可以屬于零個或多個輔助組
查看用戶所在組信息:groups username
[user1@localhost dir]$ groups user1 user1 : user1 wang
查看用戶uid,組的gid:id username
[user1@localhost dir]$ id user1 uid=1003(user1) gid=1003(user1) groups=1003(user1),1005(wang)
四、用戶和組的配置文件
/etc/passwd:用戶及其屬性信息
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
passwd文件格式
login name:登錄用戶
passwd:密碼(x)
uid:用戶身份編號
gid:登錄默認所在組編號
gecos:用戶全名或注釋
home directory:用戶家目錄
shell:用戶默認使用shell
[root@localhost testdir]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash
shadow文件格式
登錄用戶名
用戶密碼:一般用sha512加密
從1970年1月1日其到密碼最近一次被改變的時間
密碼再過幾天可以被變更(0表示隨時可被變更)
密碼再過幾天必須被變更(99999表示永不過期)
密碼過期前幾天系統提醒用戶(默認為一周)
密碼過期幾天后帳號會被鎖定
從1970年1月1日算起,多少天后帳號失效
[root@localhost testdir]# cat /etc/shadow root:$6$2mjLumhZ$RDpz5SHbdHapxz4MyOX90KQG3pUVGYi5ZJcJMCgFIJCnz75n9YsHxb2xFGKaMel2NARB7VKlrJmZuW5F7Hsgp1:17008:0:99999:7:::
group文件格式
群組名稱
群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow
gid:就是群組的id
以當前組為附加組的用戶列表(分隔符為逗號)
[root@localhost testdir]# cat /etc/group root:x:0:
gshadow文件格式
群組名稱
群組密碼
組管理員列表:組管理員的列表,更改組密碼個成員
以當前組的附加組的用戶列表(分隔符為逗號)
[root@localhost testdir]# cat /etc/gshadow root:::
五、密碼加密
加密機制
加密:明文–>密文
解密:密文–>明文
單項加密:哈希算法,原文不通,密文必不通
相同估算法定長輸出,獲得密文不可逆推出原始數據
雪崩效應:初始條件的微小改變,引起結果的巨大改變。
md5:128bits
sha1:安全哈希算法(secure hash algoritm)160bits
sha224:224bits
sha256:256bits
sha384:384bits
sh512:512bits
更改加密算法:authconfig –passalgo=md5 –update
密碼的復雜性策略
使用數字,大寫字母,小寫字母及特殊字符中至少三種
足夠長
使用隨機密碼
定期更換,不要使用曾經使用過的密碼
六、更改文件操作
vipw和vigr 當安全格式不對,退出時會報錯
pwck和grpck 檢查語法
七、用戶管理命令
用戶管理命令
useradd:創建用戶
usermod:修該用戶信息
userdel:刪除用戶
組帳號管理命令
groupadd:創建組
groupmod:修改組信息
groupdel:刪除組
用戶創建useradd
useradd option username
-u:uid
-o:配合-u選項,不檢查uid的唯一性
-g:gid,指明用戶所屬主組,可為組名
-c:用戶的注釋信息
-d:以指定的路徑(不存在)為家目錄
-s 指明用戶的默認shell
-G:為用戶指明附加組,組必須事先存在
-N:創建用戶不創建主組,使用users組做主組
-r:創建系統用戶
[root@localhost testdir]# useradd -u 1000 -g test -c "iamwang" -d /home/wang -s /bin/bash wang [root@localhost testdir]# getent passwd wang wang:x:1000:1004:iamwang:/home/wang:/bin/bash
默認值設定存放在:/etc/default/useradd
顯示或更改默認設置:useradd -D
[root@localhost testdir]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
新建用戶的相關文件
/etc/default/useradd
/etc/skel/*
/etc/login.defs
批量創建用戶命令
newusers userfile
cat passwdfile | chpasswd
用戶屬性修改
usermod option username
-u:uid
-g:主組
-G:附加組,原來的附加組將會被覆蓋,若想保留原有附加組,要同事使用-a選項,表示附加。
-s:shell
-c:用戶注釋
-d:家目錄不會自動創建,原家目錄中的文件不會同時移動到新的家目錄,若創建家目錄并移動原家數據,同時使用-m選項
-l:新用戶名
-L:lock指定用戶,在/etc/shadow密碼欄增加!
-U:unlick指明用戶,將/etc/shadow密碼欄的!去掉
-e 年-月-日:指明用戶口令過期時間
-f:設定非活動期限
[root@localhost testdir]# usermod -u 1111 -g root -s /bin/csh -c "iamlaowang" -l laowang -d /testdir/wang -m wang [root@localhost testdir]# getent passwd laowang laowang:x:1111:0:iamlaowang:/testdir/wang:/bin/csh
刪除用戶
userdel option username
-r:刪除用戶家目錄
[root@localhost testdir]# userdel -r laowang
查看用戶相關的id信息
id option username
-u:uid
-g:gid
-G:組
-n:名字
用戶相關的其他命令
chfn:指定個人信息
chsh:指定shell
finger
八、切換用戶或其他用戶身份執行命令
su option – username
切換用戶的方式:
su username:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄,保留當前用戶的工作環境
su – username:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root su 至其他用戶無需密碼,非root用戶切換是需要密碼
換個身份執行命令
su – username -c ‘command’
九、設置密碼
passwd option username 修改指定用戶的密碼,僅root用戶權限
passwd 改變自己密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays:最短使用期限
-x maxdiys:最大使用期限
-w warndats:提前多少天開始警告
-i inactivedats:非活動期限
–stdin:從標準輸入接受用戶密碼
ehco“passwd” | passwd –stdin username
十、修改用戶密碼策略
chage option login
-d:最后一天
-E:–expiredate 有效期
-I:– inactive 非活動期限
-m:–mindays 最短使用期限
-M:–maxdays 最大使用期限
-W:–warndays 提錢多少天開始警告
-l:顯示密碼策略
下一次登錄強制重設密碼
chage -d 0 username
chage -m 0 -M 42 -W 14 -I 7 username
chage -E 年-月-日 username
十一、組管理命令
創建組
groupadd option groupname
-g:指定gid號
-r:創建系統組
[root@localhost testdir]# groupadd -g 1234 wang [root@localhost testdir]# getent group wang wang:x:1234:
組屬性修改
groupmod option groupname
-g:gid號
-n:新名字
[root@localhost testdir]# groupmod -g 4321 -n laowang wang [root@localhost testdir]# getent laowang Unknown database: laowang
組刪除
groupdel groupname
[root@localhost testdir]# groupdel laowang
十二、更改組密碼,添加和移除組成員
gpasswd option username groupname
-a username:將用戶添加至指定組中
-d username:從指定組中移除用戶user
-A user1,user2:設置用管理權限的用戶的列表
groupadd laowang [root@localhost testdir]# useradd xiaowang [root@localhost testdir]# gpasswd -a xiaowang laowang Adding user xiaowang to group laowang [root@localhost testdir]# getent group laowang laowang:x:1006:xiaowang [root@localhost testdir]# gpasswd -d xiaowang laowang Removing user xiaowang from group laowang [root@localhost testdir]# getent group laowang laowang:x:1006:
newgrp:臨時切換基本組
如果用戶本不屬于此組,則需要組密碼
十三、更改和查看組成員
groupmems option action
option
-g:–group groupname 更改為指定組(只有root)
action
-a:–add username 指定用戶加入組
-d:–delete username 從組中刪除用戶
-p:–purge 從組中清除所有成員
-l:–list 顯示組成員列表
查看用戶所屬組列表:groups option username
十四、文件權限
修改文件的屬性
chown option owner:group file
[root@localhost testdir]# touch file1 [root@localhost testdir]# ll file1 -rw-r--r-- 1 root root 0 Aug 4 03:30 file1 [root@localhost testdir]# chown 1:wang file1 [root@localhost testdir]# ll file1 -rw-r--r-- 1 1 wang 0 Aug 4 03:30 file1
chown option –reference=rfile file 參考rfile,把file屬主改成與rfile一樣
[root@localhost testdir]# touch file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 root root 0 Aug 4 03:32 file2 [root@localhost testdir]# chown --reference=file1 file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 1 wang 0 Aug 4 03:32 file2
命令中的冒號可用.代替
-R:遞歸
修改文件屬組
chgrp potion group file
[root@localhost testdir]# touch file1 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root root 0 Aug 4 03:33 file1 [root@localhost testdir]# chgrp wang file1 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1
chgrp option –reference=rfile file 參考rfile,把file屬組改成與rfile一樣
[root@localhost testdir]# touch file2 [root@localhost testdir]# ll file2 -rw-r--r-- 1 root root 0 Aug 4 03:35 file2 [root@localhost testdir]# chgrp --reference=file1 file2 [root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2
-R:遞歸
owner 修改所有者
owner:group修改所有者和所屬組
:group 修改所屬組
文件的權限主要針對三類對象進行定義
owner:屬主,用u來表示
group:屬組,用g來表示
other:其他,用o來表示
每個文件針對每類訪問者都定義了三種權限
r:Readable
w:Writable
x:eXcutable
三種權限對文件和目錄的意義
文件
r:可使用文件查看類工具獲取其內容
w:可修改內容,但不能刪除文件本身
x:針對二進制程序或腳本,可以把次文件提請內核啟動為一個進程
X:本身沒有x權限,將不會增加
目錄
r:可以查看文件列表,但不能訪問文件,不能進入目錄,也不能查看文件的元數據
w:可以創建或刪除目錄中文件,
x:可以進入目錄,可以訪問目錄中文件
X:與x等價
十五、修改文件權限
chmod option catalmode file 八進制數值修改權限
[root@localhost testdir]# ll total 0 -rw-r--r-- 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2 [root@localhost testdir]# chmod 777 file1 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rw-r--r-- 1 root wang 0 Aug 4 03:35 file2
chmod option mode file mode修改權限
[root@localhost testdir]# chmod ug+x file2 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxr-xr-- 1 root wang 0 Aug 4 03:35 file2
mode:
修改一類用戶的所有權限
u=主,g=組,o=其他,a=所有
修改用戶的所有權限
u+u-,g+g-,o+o-,a+a-,
-R:遞歸
chmod option –reference=rfile file 參考rfile文件的權限,將file的權限修改為同file的權限
[root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxr-xr-- 1 root wang 0 Aug 4 03:35 file2 [root@localhost testdir]# chmod --reference=file1 file2 [root@localhost testdir]# ll total 0 -rwxrwxrwx 1 root wang 0 Aug 4 03:33 file1 -rwxrwxrwx 1 root wang 0 Aug 4 03:35 file2
十六、新建文件和目錄的默認權限
umask從目錄或文件上屏蔽掉最大相應的位,從而得出默認權限
umask值,可以用來保留在創建文件權限
新建文件權限:666-umask
如果所得結果某位存在奇數權限,則將其權限+1
新建目錄權限:777-umask
非特權權限用戶umask是002
root的umask是022
umask:查看
umask 八進制數值:設定
umask -S:以模式的方式顯示
umask -p:輸出可被調用
全局設置存放在/etc/bashrc
用戶設置存放在~/.bashrc
[root@localhost testdir]# umask 0022 [root@localhost testdir]# umask -S u=rwx,g=rx,o=rx [root@localhost testdir]# umask 111 [root@localhost testdir]# umask 0111
原創文章,作者:DYW,如若轉載,請注明出處:http://www.www58058.com/28903