linux有個特點:
- [ ] $ 表示結尾
- [ ] ^ 表示開頭
vim中,在末行模式,刪除所有內容:
:%d
:1,$d
vim中進行縮進
1.先進入可視模式,選中需要縮進的內容
2.按>進行縮進
管理用戶和組賬戶
和賬戶相關文件
/etc/passwd、/etc/shadow
和組相關文件
/etc/group、/etc/gshadow
賬戶宿主(家)目錄中文件來源
新建用戶帳號時,從 /etc/skel 目錄中複製而來
默認定義賬戶的屬性文件
/etc/login.defs
用於保存用戶的帳號基本信息
/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
用戶名:口令:用戶標識號:組標識號:全名:主目錄:登錄Shell
用戶賬戶:
- 超級用戶root
- 程序用戶
- 普通用戶
UID (User Identity,用戶標識號)
- 超級用戶root的UID爲0
- 程序用戶的UID1-499
- 普通用戶的UID大於等於500
- [ ] 每個賬戶有一個唯一的UID
- [ ] 每個組也有一個唯一的GID
- [ ] 多個賬戶可以屬於同一個組
用於保存密碼字串、密碼有效期等信息
文件位置:/etc/shadow
每一行對應一個用戶的密碼記錄
登錄名:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標誌
fcq: $1$qhgBwkMM$4lOrfUC/PTdOJJ2bJUMci.:17237:0:99999:7:::
1)“登錄名”是與/etc/passwd文件中的登錄名相一致的用戶賬號
2)“口令”字段存放的是加密後的用戶口令字,如果爲空,則對應用戶沒有口令,登錄時不需要口令;
星號代表帳號被鎖定;
雙歎號表示這個密碼已經過期了。
$6$開頭的,表明是用SHA-512加密的,
$1$ 表明是用MD5加密的
$2$ 是用Blowfish加密的
$5$ 是用 SHA-256加密的
$6$ 是用 SHA-512加密的
3)“最後一次修改時間”表示的是從某個時刻起,到用戶最後一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如在SCOLinux中,這個時間起點是1970年1月1日。
4)“最小時間間隔”密碼的最短有效天數,默認值爲0
5)“最大時間間隔”密碼的最長有效天數,默認值爲99999
6)“警告時間”字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。
7)在密碼過期之後多少天禁用此用戶
8)“失效時間”字段給出的是一個絕對的天數,如果使用了這個字段,那麼就給出相應賬號的生存期。期滿後,該賬號就不再是一個合法的賬號,也就不能再用來登錄了。
用於保存用戶組信息
/etc/group文件
組帳號:
- [ ] 主要組(私有組)
- [ ] 次要組(附屬組)
GID: (Group Identify,組標識號)
組名:口令:組標識號:組內用戶列表
adm:x:4:root,adm,daemon
Linux組帳號
主要組(私有組)
與用戶相關的默認組,在/etc/passwd文件的第四個字段定義
次要組(附屬組)
用戶可以同時屬於其他的組,在/etc/group文件的第四個字段定義
/etc/skel/*文件
新建用戶帳號時,複製到用戶宿主目錄中
主要控制用戶初始配置文件
.bash_profile:用戶每次登錄時執行
.bashrc:每次進入新的Bash環境時執行
.bash_logout:用戶每次退出登錄時執行
/etc/profile 所有用戶每次登錄時會執行
/etc/gshadow文件
保存組帳號的密碼信息
/etc/gshadow文件的應用極少,知道有這個文件即可
/etc/login.defs文件
對賬戶初始的屬性設置
設置普通用戶的UID和GID範圍等
添加與刪除用戶
useradd命令
格式:useradd [選項]... 用戶名
-u:指定 UID 標記號
-d:指定宿主目錄,缺省爲 /home/用戶名
-e:指定帳號失效時間
-g:指定用戶的基本組名(或GID號)
-G:指定用戶的附加組名(或GID號)
-M:不爲用戶建立並初始化宿主目錄
-s:指定用戶的登錄Shell
[root@localhost cis]# useradd -g soft -G tech_now -d /cis/soft/a200 -s /bin/ksh a200
如果需要某個用戶不能登錄,可以設置他的登錄shell爲:
- [ ] /sbin/nologin 或者
- [ ] /bin/false
以某個用戶的身份啓動程序,那麼這個用戶必須是存在的,但是與這個用戶能不能登錄OS,是沒有任何關係。
useradd命令在後臺到底做了哪些工作
Useradd添加賬戶
/etc/passwd
/etc/shadow
/etc/group
/home
/etc/skel/*
nar/spool/mail
passwd命令
格式:passwd [選項]... 用戶名
常用命令選項
-d:清空用戶的密碼,使之無需密碼即可登錄
-l:鎖定用戶帳號
-S:查看用戶帳號的狀態(是否被鎖定)
-u:解鎖用戶帳號
--stdin:接收標準輸入作爲密碼
root用戶可以修改所有用戶密碼,不要求複雜性
普通用戶只能改自己的密碼,要求複雜性
userdel命令
格式:userdel [-r] 用戶名
添加 -r 選項時,表示連用戶的宿主目錄一併刪除
[root@localhost ~]# userdel -r stu01
usermod命令
格式:usermod [選項]... 用戶名
常用命令選項
-l:更改用戶帳號的登錄名稱
-L:鎖定用戶賬戶
-U:解鎖用戶賬戶
以下選項與useradd命令中的含義相同
-u、-d、-e、-g、-G、-s
chage命令
格式:chage [選項]... 用戶名
常用命令選項
-l:列出密碼時效的具體信息
groupadd命令
格式:groupadd [-g GID] 組帳號名
[root@localhost ~]# groupadd -g 1000 market
groupdel命令
格式:groupdel 組帳號名
groupmod命令
用途:設置組名和組id
格式:groupmod [選項]... 組帳號名
常用命令選項
-n:修改組名
-g:修改組id
newgrp改變有效組
用戶必須是要改變組的成員
id命令
用途:查詢用戶身份標識
格式:id [用戶名]
finger命令
用途:查詢用戶帳號的詳細信息
格式:finger [用戶名]
chfn命令
用途:修改用戶的備註信息,/etc/passwd第5字段
who、w、users命令
用途:查詢已登錄到主機的用戶信息
groups命令
用途:查詢用戶所屬的組
明文
密文
- [ ] 第1部分:算法對應的數字
- [ ] 第2部份:鹽值,salt,隨機生成,提高密碼安全性的
通過openssl可以生成密文密碼
[root@lvs1 /]# openssl passwd -1 123
$1$tbYF0WsE$YWb3SupGrLLFv41VBsiJP/
新建的用戶是沒有設置密碼的,是被禁用的,不能登錄
破解root用戶密碼:
1.光驅要放入系統光盤
2.重啓OS
3.修改啓動菜單,進入1運行級別
4.設置新密碼
5.重啓OS
linux的運行級別:
查看默認的運行級別
# cat /etc/inittab
id:3:initdefault:
Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this) 關機
# 1 - Single user mode 單用戶
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 多用戶,無網絡
# 3 - Full multiuser mode 完全多用戶,文本界面(字符界面)
# 4 - unused 未使用
# 5 - X11 完全多用戶,圖形界面
# 6 - reboot (Do NOT set initdefault to this) 重啓
切換級別:
命令:init
# init 5
查看當前運行的級別:
命令:runlevel
# runlevel
N 3
passwd -l和usermod -L 都可以鎖定用戶
原理是破壞密文密碼
將用戶加入組:
1.usermod -G
2.gpasswd -a
目錄的內容是目錄下的文件名或者目錄文件名
有沒有權限刪除文件,或者修改文件名,移動文件,需要查看該文件所在的目錄是否有寫權限
訪問權限
可讀
可寫
可執行
chmod命令詳細用法
指令名稱 : chmod
使用權限 : 所有使用者
使用方式 : chmod [-cfvR] [–help] [–version] mode file…
說明 : Linux/Unix 的檔案調用權限分爲三級:檔案擁有者、羣組、其他。利用chmod可以藉以控制檔案如何被他人所調用。
參數 :
mode : 權限設定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬於同一個羣體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權限、- 表示取消權限、= 表示唯一設定權限。
r 表示可讀取,w 表示可寫入,x 表示可執行,X 表示只有當該檔案是個子目錄或者該檔案已經被設定過爲可執行。
-c : 若該檔案權限確實已經更改,才顯示其更改動作
-f : 若該檔案權限無法被更改也不要顯示錯誤訊息
-v : 顯示權限變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的權限變更(即以遞迴的方式逐個變更)
--help : 顯示輔助說明
--version : 顯示版本
chown命令詳細用法
指令名稱 : chown
使用權限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file...
說明 : Linux/Unix 是多人多工作業系統,所有的檔案皆有擁有者。利用 chown 可以將檔案的擁
有者加以改變。一般來說,這個指令只有是由系統管理者(root)所使用,一般使用者沒有權限可以
改變別人的檔案擁有者,也沒有權限可以自己的檔案擁有者改設爲別人。只有系統管理者(root)才
有這樣的權限。
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者羣體(group)
-c或-change:作用與-v相似,但只傳回修改的部分
-f或–quiet或–silent:不顯示錯誤信息
-h或–no-dereference:只對符號鏈接的文件做修改,而不更改其他任何相關文件
-R或-recursive:遞歸處理,將指定目錄下的所有文件及子目錄一併處理
-v或–verbose:顯示指令執行過程
–dereference:作用和-h剛好相反
–help:顯示在線說明
–reference=<參考文件或目錄>:把指定文件或目錄的所有者與所屬組,統統設置成和參考文件或目錄的所有者與所屬組相同
–version:顯示版本信息