管道 |
把左邊的命令執行結果輸送到右邊的命令作為參數執行,可以多管道多任務執行
這就是linux的哲學思想之一,鏈接程序,共同完成復雜任務
錯誤輸出默認不能通過管道轉發,但是可以用2>&1或者|&實現
最后一個命令會在當前shell進程的子shell進程中執行
用戶:
系統用戶就是非登錄式用戶,此類用戶一般運行于系統服務,uid為1-499(centos6);centos7為1-999
普通用戶即登錄式用戶,用戶手動登錄發起進程,uid為500開始(centos6);centos7為1000開始
管理員用戶的UID為0
組:
系統組GID從1-499centos6 1-999centos7
普通組GID從500開始centos61000開始centos7
linux安全上下文:用戶鍵入命令運行的程序的進程是取決于用戶的權限,而非命令應用程序的權限,每個進程都是以用戶的身份運行的,
進程能夠訪問的資源的權限取決于發起此進程的用戶組又分為,主組和附加組,主組是用戶唯一的組,而附加組用戶可以同時擁有多個
用戶和組的配置文件
用戶的配置文件在/etc/passwd和/etc/shadow
/etc/passwd記錄著用戶的登錄名,密碼(考慮安全因素此項內容轉存與/etc/shadow文件中,現在有X占位符替代原始位置),
用戶的UID,基本組GID,注釋信息,家目錄,默認shell,一共七項,每項用:分割開,如下
user10:x:3009:3009::/testdir/user10:/bin/csh
/etc/shadow記錄著用戶的登錄名,加密算法,加了密的密碼,用戶最近一次更改密碼的時間(從1970年一月一日到現在),
密碼的最短使用時間(在此時間內不能再次更改密碼),密碼的最長使用期限,密碼到期前的警告時間(提醒用戶更改密碼),
密碼到期后的使用期限(最長使用時期結束還沒有改密碼的時間,超過此時間還沒改密碼帳號即被鎖定),帳號的失效時間
(從1970年1月1日起)
root:$6$vddDr.3TK$ddkxg/c.snnCdmjRyO.:17014:0:99999:7:::
組的配置文件在/etc/group和/etc/gshadow
/etc/group記錄著組組名,組密碼(考慮安全因素此項內容轉存與/etc/gshadow文件中,現在有X占位符替代原始位置),
組ID,組成員列表(以此組為附加組的成員)
/etc/gshdow記錄著組名,組密碼,組管理員列表,以當前組為附加組的成員的列表
用戶及組管理
用戶管理類命令,useradd,usermod,userdel
useradd 選項 登錄名:添加用戶
-u:指定UID
-o:配合-u可以強制把多個用戶設置同一個UID,及不檢查UID唯一性
-g:指定用戶的基本組,可為組名,也可為組GID
-c:用戶的注釋信息
-d:為用戶指定家目錄,此目錄必須事先不存在
-s:為用戶指定shell,可以的shell都在/etc/shells/目錄下
-G:為用戶添加附加組,可以有多個
-N:不創建私有組作為主組,使用users組做主組
-r:創建系統用戶,注意系統用戶的UID在centos6上是1-499,在centos7上是1-999
創建用戶的默認設定都在/etc/fefault/useradd文件中
顯示或更改默認設置可以用
useradd -D
useradd -D -s shell
注意:/etc/login.defs:創建用戶時的所有默認配置信息,包含家目錄,密碼有效期,加密算法等等等
新建用戶的相關文件和命令
/etc/default/useradd:創建用戶時的默認設定
/etc/skel/*:創建用戶時往用戶家目錄復制的文件
/etc/login.defs:創建用戶時的所有默認配置信息,包含家目錄,密碼有效期,加密算法等等等
newusers :需要事先創建一個按照passwd格式一樣的文件,然后用此命令運行文件即可批量創建用戶
chpasswd:需要事先創建一個包含了用戶名的密碼的文件,然后使用cat 命令查看此文件,再通過管道運行 chpasswd命令
即可完成用戶口令修改
usermod:用戶屬性修改
-u UID:新的用戶id
-g GID:新的組ID
-G:新的附加組,可以有多個。注意:原有的附加組會被覆蓋,需要和-a選項一起使用,可以避免覆蓋
-s shell:新的默認shell
-c :新的注釋信息
-d:新的家目錄,原家目錄里的文件不會同時移到新家目錄,需要和-m選項一起使用,
才可以在創建新家目錄的同時把原家目錄里的數據復制到新家目錄
-l:新的名字
-L:鎖定指定用戶,就是在密碼串前邊加了個!號
-U:解鎖被鎖定的用戶,就是在密碼串把前邊加了的那個!號去掉了
-e yyyy-mm-dd:設定用戶帳號過期日期
-f DAYS:設定非活動期限
userdel:刪除用戶
-r:刪除用戶的同時把用戶的家目錄也刪除了(不建議使用此選項,因為家目錄里的數據可能有用)
id:查看用戶的ID ,-u:UID,-g:GID,-G:group,-n:name
su:切換用戶
su – 登錄式切換
su 非登錄式切換
注意:每次切換完用戶需要返回原來的用戶時候,最好使用exit命令
su – username -c 'cmd'
切換用戶執行某個命令,在命令完成之后主動返回至原來的用戶目錄下,推薦使用
passwd:設置密碼
不加選項代表修改自己的密碼
-l:鎖定指定用戶
-u:解鎖指定被鎖定的用戶
-e:強制用戶下次登錄修改密碼
-n:指定密碼最短使用期限
-x:指定密碼最長使用期限
-w:提前多少天開始警告用戶修改密碼
-i:密碼過期后的非活動期限
–stdin 可以從標準輸入接收要改的密碼,不錯的選項,例如
echo "centos" | passwd –stdin user
這樣就可以一次性修改密碼
groupadd:創建組
-g:指明GID
-r:創建系統組
組ID和用戶ID一樣也是從1-499,1-999,6系和7系
groupmod:修改組屬性
-g GID:先的GID
-n name:新的名字
groupdel:刪除組
gpasswd:修改組密碼
命令 選項 組名
-a user:將user添加到組中
-d user:將user從組中刪除
-A use1,user2:設置有管理權限的用戶列表
newgrp:臨時切換基本組,如果不是本組的用戶切換時需要組密碼
groupmems:更改和查看組成員
-g groupname 更改為指定組(只有root有權限)
-a user:指定用戶加入組,和gpasswd -a 效果一樣
-d username:從組中刪除用戶
-p:清除所有組成員
-l:顯示組列表
groups命令
groups 選項 用戶名,查看用戶所屬列表
密碼的加密
加密機制
加密:明文–>密文
解密:密文–>明文
單向加密:哈希算法,原文不同,密文必不同,相同算法定長輸出,獲得密文不可逆推出原始數據,
雪崩效應:初始條件的微小變化,引起結果的巨大改變
/etc/shadow中的$6$就代表sha512哈希算法
文件加密算法之后的字段是salt;鹽(隨機數)
authconfig –passalgo=sha256 –update 更改系統加密算法
密碼的復雜性策略
使用數字大小寫字母標點符號中至少三類。足夠長,最少八位,定期更換,不要使用最近曾經用過的密碼,使用隨機密碼
openssl rand -base64 #(密碼的位數):生成隨機密碼
[root@ali ~]# openssl rand -base64 10
y+kUyZGBpQ6b9A==
vipw(如果擔心更改密碼文件出問題的話可以使用此工具,會檢查輸入的內容的格式是否正確) = vi /etc/passwd,
就像使用vim 打開/etc/passwd
pwck:檢查用戶信息
示例
[root@ali tmp]# pwck
用戶“adm”:目錄 /var/adm 不存在
用戶“uucp”:目錄 /var/spool/uucp 不存在
用戶“gopher”:目錄 /var/gopher 不存在
用戶“ftp”:目錄 /var/ftp 不存在
用戶“avahi-autoipd”:目錄 /var/lib/avahi-autoipd 不存在
用戶“saslauth”:目錄 /var/empty/saslauth 不存在
用戶“pulse”:目錄 /var/run/pulse 不存在
pwck:無改變
grpck:檢查組信息
原創文章,作者:M20-1馬星,如若轉載,請注明出處:http://www.www58058.com/27281