即時焦點:Linux用戶及權限詳解

2023-01-06 17:19:43 來源:51CTO博客

3_4 Linux用戶及權限詳解


(相關資料圖)

用戶、組、權限

安全上下文(security context):

權限:r,w,x

文件:

r:可讀,可以使用類似cat等命令查看文件內容

w: 可寫,可以編輯或者刪除此文件

x: 可執行,eXacutable,可以命令提示符下當作命令提交給內核運行

目錄:

r: 可以對此目錄執行ls以列出內部所有文件

w: 可以在此目錄創建文件

x: 可以使用cd切換進此目錄,也可以使用ls -l 查看內部文件的詳細信息

rwx:

r--:只讀

r-x:讀和執行

---:無權限

0 000 ---:無權限

1 001 --x:執行

2 010 -w-:寫

3 011 -wx:寫和執行

4 100 r--:只讀

5 101 r-x:讀和執行

6 110 rw-:讀寫

7 111 rwx:讀寫執行

755:rwxr-xr-x

用戶:UID(id標識用戶)、/etc/passwd(用戶信息庫,存儲用戶對應id)

組:GID、/etc/group

解析:名稱解析

影子口令:

用戶:/etc/shadow (存放密碼)

組:/etc/gshadow

用戶類別:

管理員:id為0

普通用戶:1-65535

系統用戶:1-499,用來運行后臺進程,不允許登錄系統

一般用戶:500-60000

用戶類別:

管理員組:

普通組:

系統組:

一般組:

用戶類別(分法2):

基本組:

私有組:創建用戶時,如果沒有為其指定所屬的組,系統會自動為其創建一個與用戶名同名的組

附加組、額外組:默認組以外的其它組

查看passwd文件:

cat /etc/passwd

用whatis passwd可以查看passwd在man文檔有幾個章節

七個字段:

一:account,登錄名

二:password,密碼占位符

三:UID

四:GID

五:comment,用戶注釋信息

六:HOME DIR,家目錄

七:shell,用戶的默認shell

cat /etc/shells:查看用戶合法shell

cat /etc/shadow:查看shadow文件,可以用man 5 shadow

一:登錄名

二:encrypted password:加密的密碼。。兩個嘆號表示鎖定,不能登錄。。寫入文件前會加入隨機生成的雜質,再生成密文。防止密碼系統猜到密碼

三:密碼上次修改時間

四:密碼最少使用時間

五:密碼最長使用期限

六:還有多久過期

七:密碼過期延長時間,不改不讓使用。這幾天沒登陸,需要用管理員解鎖

八:密碼有效天數。過期無法登錄

九:保留字段

加密方法:

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

公鑰加密:每個密碼都成對出現,一個為私鑰(secret key),一個為公鑰(public key)。。時間比對稱慢三個數量級以上,多用于密鑰交換

單向加密,散列加密:也叫指紋加密,提取數據特征碼(每個數據有個唯一的特征碼,類似人的指紋,不可逆)。常用于數據完整性校驗

1、雪崩效應(初始輸入數據一點點改變,特征碼結果變化很大)

2、定長輸出

MD5:message Digest(5是版本號),128位定長輸出

SHA1:Secure Hash Algorithm,160位定長輸出。還有SHA1 256和512位定長輸出

添加用戶:useradd(用which useradd)。adduser,軟連接到useradd,本質上一樣

useradd USERNAME

管理員改其它用戶密碼:

passwd USERNAME

為什么添加用戶會主動添加一些屬性:

cd /etc/default 然后cat useradd

cat /etc/group

添加組:groupadd GROUPNAME

04_01用戶管理命令詳解

用戶管理命令:

useradd、userdel、usermod、passwd、chsh、chfn、finger、id、chage

useradd [options] USERNAME

-u UID(大于等于500,其它用戶未使用,默認/etc/passwd里最后一個用戶id號加一。。一般情況下與組id相同))

-g GID(基本組??捎媒M名或者組id,指定前組要先存在)

-G ,...(附加組)

-c “COMMENT” 注釋信息

-d /path/to/somedirectory 指定家目錄 如:useradd -c “Tony Blare” -d /home/blare user4

-s 指定shell(目錄。。。此shell一定存在于/etc/shells文件里)

-m -k 強行創建家目錄并復制skel文件

-M 不給用戶創建家目錄

-r:添加系統用戶

/etc/login.defs 設置用戶信息

/etc/shells:指定了當前系統可用的安全shell

環境變量:

PATH

HISTSIZE

SHELL

查看此用戶用什么shell:echo $SHELL

userdel

userdel [options] USERNAME (默認不刪除家目錄)

-r 同時刪除用戶的家目錄

id 查看用戶的賬號屬性信息

id [options] [USERNAME] 不加用戶,默認當前用戶

-u

-g

-G

-n

finger 查看用戶賬號信息

finger [options] USERNAME

修改用戶賬號信息:

usermod

-u 改用戶id

-g GID 改基本組

-G 改附加組。會覆蓋之前的附加組

-a -G 一起使用,追加附加組

-c 注釋信息

-d 改家目錄。改后無法訪問之前家目錄中的文件

-d -m 移動此前文件至新家目錄中

-s 改shell

-l 改用戶名

-L 鎖定賬號

-U 解鎖賬號

chsh 改用戶默認shell

chsh USERNAME

chfn 改注釋信息

chfn USERNAME

密碼管理

passwd [USERNAME] 管理員才可指定用戶

--stdin 從標準輸入讀取 如echo “Redhat” | passwd user --stdin

-l 鎖定賬號

-u 解鎖賬號

-d 刪除密碼。(紅帽禁止空密碼用戶登錄)

-n 密碼最短使用期限 -x -w -i

pwck 檢查用戶賬號完整性

chage

-d 最近一次的修改時間

-E 過期時間

-I 非活動時間

-m 最短使用期限

-M 最長使用期限

-w 警告時間

組管理命令:

groupadd、groupdel、groupmod、gpasswd

groupadd 創建組

-d 指定id。默認上一個組往下加一

-r 添加為系統組

groupmod 改組信息

-g GID

-n GRPNAME改組名

groupdel 刪除組

gpasswd 給組加密碼

newgrp 臨時登錄更改用戶基本組。可用exit退出

加用戶 可直接改passwd shadow group三個文件

權限管理:

chown、chgrp、chmod、umask

04_02權限及權限管理

權限管理

r:讀

w:寫

x:可執行

三類用戶:

u:屬主

g: 屬組

o: 其它用戶

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

# chown USERNAME file,...

-R 修改目錄及其內部文件的屬主

--reference=/path/to/somefile [-R] file,... 參考。把后面的文件的屬主屬組都 改為和第一個一樣

# chown [USERNAME] :GRPNAME 可用此命令同時改屬主數組。不加用戶時可只改屬組

chgrp:

#chgrp GRPNAME file,...

-R

--reference=/path/to/somefile

chmod 修改文件的權限

修改三類用戶觀的權限:

chmod MODE file,... 三位數字,少了默認前面補0

-R 修改目錄及其內部文件的權限

--reference=/path/to/somefile [-R]

修改某類用戶或某些類用戶權限:

u,g,o,a(all)

chmod 用戶類別=MODE chmod g=rw[-] 沒給出的可用省略

chmod go=r

chmod g=rx,o= file

修改某類用戶某位或某些位權限:

u,g,o,a(all)

chmod 用戶類別+|- MODE file,...

chmod u+x,g-x file

chmod [a]+wx file

練習:

1、新建一個沒有家目錄的用戶openstack

2、復制/etc/skel為/home/openstack

3、改變/home/openstack及其內部文件的屬主屬組均為openstack

4、/home/openstack及其內部文件,屬組和其它用戶沒有任何訪問權限

su - openstack

ls -l /etc/shadow

權限400 :

權限設置對管理員沒有用

普通用戶為啥能改密碼?ls -l `which passwd` 屬主有個s權限

bc:計算器 q退出

scal=2:保留兩位小數

openssl passwd 可用生成加密密碼

whatis passwd 查看有sslpasswd

man sslpasswd

openssl passwd -1(這是一) -salt "12345678’(八位)

umask :遮罩碼(一般用戶默認002,root022)

創建文件:666-umask 默認不能有執行權限,如果算得結果有執行權限,則將其權限加1:

創建目錄 777-umask

站在用戶登錄的加偶來說,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/bashrc --> /etc/profile.d/*.sh

標簽: 內部文件 可以使用 使用期限

上一篇:今熱點:基于MFC的學生成績管理系統
下一篇:世界視訊!程序:三子棋游戲