Linux學習筆記(4)(用戶組)

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命令
用途:查詢用戶所屬的組

明文
密文
6 SfcrkERBd6BidaIz$2HGmi10Ut/gjJcOWEkZKJjM5zg0DYS6PSLlquJkBP5rXoWvZB.QAWlUcKoJdpKE9HwtiKfkvceldSsYsIFWU/0
- [ ] 第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:顯示版本信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章