Linux 使用者及使用者許可權詳解

2021-06-28 11:47:38 字數 4506 閱讀 4337

使用者、組、許可權

許可權:r,w,x

檔案:r:可讀,可以使用類似cat等命令檢視檔案內容

w:可讀,可以編輯或刪除此檔案

x:可執行,可以命令提示符下當做命令提交給核心執行

目錄:r:可以對此目錄執行ls以列出內部的所有檔案

w:可以在此目錄中建立檔案

x:可以使用cd切換進此目錄,也可以使用ls -l檢視內部檔案的詳細資訊

使用者:uid,/etc/passwd

組:gid,/etc/group

passwd使用者都可以看到,不是很危險?

影子口令,密碼實際儲存在/etc/shadow

組也是有密碼的,在/etc/gshadow

使用者類別:

1、管理員 uid=0

2、普通使用者 uid=1-65535

a)、系統使用者 1-499,一般用於某一類服務,一般不允許登陸

b)、一般使用者 500-60000,後面就很少用了

使用者組類別:

管理員組:

普通組:

系統組:

一般組:

使用者組類別:

私有組:我們在建立使用者時,如果沒有指定所屬的組,那麼系統會為其自動建立乙個與使用者名稱同名的組。

基本組:使用者的預設組

附加組(額外組),預設組以外的其他組

程序:tom tom

物件:rwxrw-r-- jerry tom a.txt

若tom不是屬主

若tom不是tom組

則是other

/etc/passwd,:之間的含義?

whatis passwd

man 5 passwd

可以得知:

account:登入名

password:密碼

uid:

gid:

comment:注釋

home dir:家目錄

shell:使用者預設shell

/etc/shadow

account:登入名

encrypted password:加密的密碼(密碼若是雙!,則是鎖定不可登陸)

加密方法:

對稱加密:加密和解密使用同乙個密碼

公鑰加密:每個密碼都成對出現,乙個為私鑰,乙個為公鑰(速度慢)

單向加密(雜湊加密):提取資料特徵碼,可以由明文得到密文,但是不可以反過來,可以用來做

資料完整性校驗。

1、不可逆

2、雪崩效應

3、定長輸出

常用的單向加密演算法:

md5:message digest,128位的定長輸出

sha1:secure hash algorithm,160位定長輸出

新增使用者

useradd username

修改使用者的密碼

passwd username

新增後,可以檢視/etc/passwd,/etc/shadow

新增使用者後,會自動的指定組、存在時間等屬性,這些屬性都儲存在

/etc/default/useradd這個文字檔案中,我們可以設定相應的值,比如過期時間的。

新增組groupadd grpname

/etc/group

使用者管理:

useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage\

useradd [options] username

-u uid

-g gid(基本組)

-g gid,...(附加組)

-d path 指定其家目錄

-s 指定shell路徑

useradd -s /sbin/nologin user5 -->無法登陸

注:不知道有哪些shell,可以檢視/etc/shells

-m -k(一般兩者結合使用,-k不能單獨使用)

-m 不建立家目錄

-r 新增乙個系統使用者(uid 1-499,系統使用者通常不能登陸系統,沒有家目錄)

/etc/login.defs

環境變數shell:用於儲存當前使用者預設shell

id username ->查詢使用者的uid gid等資訊

finger username,查詢使用者賬號的相關資訊

userdel [option] username

-r:同時刪除使用者的家目錄

usermod :修改使用者賬號屬性

-u uid

-g gid

-a -g gid,加了a就不覆蓋附加組,而是追加

-d -m:既指定新的家目錄的位置,又將此前的檔案移動過去

-l 更改登陸名

-e 指定過期時間

-l 鎖定賬號,不能登陸

-u 解鎖

chfn username 修改使用者的注釋資訊

chsh username 修改使用者的預設shell

密碼管理:

passwd [username]

--stdin 

eg:echo "test" | passwd --stdin test

-l 鎖定使用者

-u 解鎖

-d 刪除使用者密碼

pwck,檢查使用者賬號的完整性

chage:改變密碼的各種時間屬性

-d:最近一次的修改時間

-e:過期時間

-i:非活動時間

-m:最短使用期限

-m:最長使用期限

-w:警告時間

組管理:

groupadd,groupdel,groupmod,gpasswd

groupadd

-g gid

-r:新增為系統組

groupmod

-g gid

-n grpname

groupdel

gpasswd:為組設定密碼,組是不用來登陸系統的,是為了「更改」屬組(這個屬組是登陸屬性,可以退出)

newgrp grpname(newgrp類似login,不是修改組)

練習題:

許可權管理:

chown,chgrp,chmod

chown:改變檔案屬主(只有管理員可以使用此命令)

格式:chown username file,...

-r:修改目錄及其內部檔案的屬主

--reference=/path/to/somefile file,.. 設定成與參考檔案相同的屬性

特殊用法:

chown [username]:grpname file,...

chgrp grpname file,...

-r--reference

chmod:修改檔案的許可權

chmod mode file,...

-r--reference

修改某類使用者或某些類使用者許可權:

u,g,o,a

chmod 使用者類別=mode file,...

eg:chmod u=rwx /tmp/abc

chmod g=r,o=r /tmp/abc

chmod go=r /tmp/abc

chmod g=r,o= /tmp/abc

chmod a=r /tmp/abc

修改某些使用者的某位或某些位許可權

chmod 使用者類別+|-mode file,...

chmod u-x /tmp/abc

eg:openssl passwd -1 -salt '12345678'

可以幫助我們自動生成乙個密碼

練習手動新增乙個使用者?

umask:遮罩碼

檔案:666-umask

目錄:777-umask

若umask:023

檔案:666-023=643+1 =644

目錄:777-023=754

檔案預設不能具有執行許可權,如果算得的結果中有執行許可權,則將其許可權+1

站在使用者登入的角度來說,shell的型別:

登入式shell:

正常通常某終端登入

su - username 

su -l username

非登入式shell:

su username

圖形終端下開啟命令視窗

自動執行的shell指令碼

bash的配置檔案:

全域性配置

/etc/profile, /etc/profile.d/*.sh, /etc/bashrc

個人配置

~/.bash_profile, ~/.bashrc

profile類的檔案:

設定環境變數

執行命令或指令碼

bashrc類的檔案:

設定本地變數

定義命令別名

登入式shell如何讀取配置檔案?

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非登入式shell如何配置檔案?

~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh

Linux許可權詳解 使用者 使用者組及檔案許可權

linux的許可權系統主要是由使用者 使用者組和檔案許可權組成。使用者就是乙個個的登入並使用linux的使用者。linux內部用uid表示。使用者組就是使用者的分組。linux內部用gid表示。檔案許可權分為讀 寫 執行三種許可權。linux系統將所有東西都體現成檔案,所以某使用者 使用者組 有哪些...

Linux使用者及許可權

計算資源 許可權 使用者 使用者組 容器,關聯許可權使用者組,方便的指派許可權 使用者 獲取資源或服務的標識 程序安全上下文 secure context 許可權 r w x 檔案 r 可讀 檢視 w 可寫 編輯或刪除 x 可執行 當作命令提交給核心 目錄 r 可對此目錄ls w 在此目錄建立檔案 ...

Linux使用者及許可權

庫 lib 共享庫 so shared object,許可權 使用者,獲取資源,服務的識別符號 組,指派許可權,識別符號 程序 以某個使用者的身份在進行,有屬主和屬組 安全上下文 security context linux許可權,三組使用者 檔案屬主,檔案的所有者 檔案屬組,檔案的原生組 其他使用...