3 Linux 使用者管理與許可權設定

2021-10-10 00:01:44 字數 4812 閱讀 8745

linux系統是乙個支援多使用者管理的作業系統,多個使用者可以同時管理作業系統。

1.1 使用者分類

超級管理員使用者	root	uid=0		屬於最高端的存在,幾乎不受任何限制

普通使用者 uid=1000+ 只在家目錄中不受限制,其它目錄中預設只能檢視

虛擬使用者 nobody uid=1~999 沒有家目錄,不能登入系統,用於管理系統服務程序

1.2 使用者相關的檔案和目錄
檔案

/etc/passwd --- 記錄所有使用者資訊

/etc/shadow --- 記錄所有使用者密碼資訊,其中密碼資訊是密文的

/etc/group --- 記錄所有使用者組資訊

/etc/gshadow --- 記錄所有使用者組密碼資訊

目錄/etc/skel/ --- 普通使用者家目錄的樣板房

cat /etc/passwd

使用者名稱:uid:組id:使用者介紹別名:/使用者家目錄:是否能登入

root:x:0:0:root:/root:/bin/bash

daemon:x:2:2:daemon:/sbin:/sbin/nologin

test01:x:1000:1000:test01:/home/test01:/bin/bash

1.3 使用者管理相關命令
useradd			--- 建立新使用者

-u --- 建立使用者時設定id

-m --- 不建立家目錄

-s --- 設定使用者登入系統方式,即是否能登陸系統 /bin/bash /sbin/nologin

-g --- 設定使用者所屬主要組

-g --- 設定使用者所屬附屬組

-c --- 給使用者新增注釋資訊

eg1:建立乙個使用者,uid為666,所屬主要組是oldboy,附屬組是oldgirl,使用者名為pyuser1。

1. 判斷使用者是否存在

id pyuser1

2. 新建使用者

useradd -u 666 -g oldboy -g oldgirl pyuser1

eg2:建立乙個虛擬使用者,uid為888,使用者名為pyuser2。

1. 判斷使用者是否存在

grep 888 /etc/passwd

2. 新建使用者,虛擬使用者不能有家目錄,不能登陸系統

useradd -u 888 -m -s /sbin/nologin pyuser2 -c 虛擬使用者

usermod			--- 修改使用者資訊

-u --- 修改使用者id

-s --- 修改使用者登入系統的方式 /bin/bash /sbin/nologin

-g --- 修改使用者所屬主要組

-g --- 修改使用者所屬附屬組

-c --- 修改注釋資訊

userdel --- 刪除使用者

-r --- 將使用者所有資訊徹底刪除

groupadd --- 建立使用者組

groupdel --- 刪除使用者組

passwd --- 設定或修改使用者密碼資訊

互動方式設定密碼:passwd oldboy

免互動方式設定密碼:echo 123456|passwd --stdin oldboy

chown --- 修改屬主和屬組

-r --- 以遞迴的方式修改目錄及其子目錄下所有資料的屬主和屬組資訊

eg01:修改目錄或檔案的屬主和屬組資訊

chown oldboy.oldboy 目錄名/檔名

.或:前面為屬主資訊,後面為屬組資訊。

eg02:修改目錄內所有資料的屬主和屬組資訊

chown -r oldboy.oldboy 目錄名

id				--- 檢視使用者屬組和id

su --- 切換使用者

su - 使用者名稱

2.1 許可權介紹

對於目錄

r:可以檢視目錄下的檔案和子目錄

w:可以在目錄中進行建立、刪除、重新命名操作

x:是否可以切換進入這個目錄

對於普通使用者,訪問許可權x是最重要的,其它許可權如果想正常使用,必須結合訪問許可權x進行設定:rx / wx;

對於root使用者,即使沒有任何許可權,也可以進行操作。

2.2 許可權設定命令使用

給指定使用者設定許可權

chmod  u+/-/=r|w|x   --- 給屬主使用者新增/刪除/設定指定許可權

chmod g+/-/=r|w|x --- 給屬組使用者新增/刪除/設定指定許可權

chmod o+/-/=r|w|x --- 給其他使用者新增/刪除/設定指定許可權

實現批量全域性設定許可權

chmod  a+/-/=r|w|x	 --- 對屬主、屬組、其他使用者統一設定許可權

chmod 750 目錄或檔名 --- 更靈活地設定目錄或檔案許可權,屬主7、屬組5、其他使用者0

以遞迴方式對目錄下所有許可權進行設定

chmod  -r  750  目錄名
2.3 系統許可權計算方式

檔案

666 - umask數值 = 檔案許可權

666 - 022 = 644(檔案預設許可權)

666 - 033 = 633,對於奇數,對應奇數字需要加1

= 6(3+1)(3+1) = 644

目錄

777 -  umask數值 = 目錄許可權

777 - 022 = 755(目錄預設許可權)

777 - 033 = 744

umask數值是來自系統配置檔案。

cat -n /etc/profile

59 if [ $uid -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

60 umask 002

61 else

62 umask 022

63 fi

2.4 系統使用者提權操作

提權操作可以讓指定使用者具有root使用者的部分能力。

提權操作

編寫使用者提權配置檔案

visudo
oldboy  all=(all)       /bin/cat /etc/shadow						--- 對指定命令進行提權配置

oldboy all=(all) /bin/cat /etc/shadow, /usr/sbin/useradd --- 對多個命令進行提權配置

oldboy all=(all) /bin/*, /usr/sbin/*, !/user/sbin/userdel --- 使用感嘆號!對指定許可權userdel進行**

oldboy all=(all) nopasswd: /bin/*, /usr/sbin/* --- 進行免密碼提權操作

vim|vi 快捷操作

gg --- 將游標移動到檔案第一行

g --- 將游標移動到檔案最後一行

66gg/66g --- 將游標快速移動到指定行

0|^ --- 將游標快速移動到所在行的行首

$ --- 將游標快速移動到所在行的行尾

yy --- 複製指定行內容 nyy 複製多行

p --- 貼上指定行內容 np 貼上多行

dd --- 刪除指定行內容 ndd 刪除多行

檢查是否提權成功

sudo -l
進行提權操作測試

sudo cat /etc/shadow
sudo表示以提權的方式執行後面的命令。

2.5 系統特殊許可權

問:系統中有哪些許可權?

答:系統總共有12個許可權位,分別對應 r w x setuid setgid 粘滯位。

setuid

讓普通使用者可以像命令檔案的屬主使用者那樣去操作命令。

chmod u+s(2) 命令檔案
chmod u+s /bin/cat

ll /bin/cat

-rwsr-xr-x. 1 root root 54080 apr 11 2018 /bin/cat

setgid

讓普通使用者可以像命令檔案的屬組使用者那樣去操作命令。

chmod g+s(2) 命令檔案
粘滯位

粘滯位用於建立共享目錄,並且共享目錄中資料只能被資料屬主使用者進行管理,其他使用者只能檢視。

chmod o+t /dev_share/

ll /dev_share/ -d

drwxrwxrwt 2 root root 43 aug 12 11:01 /dev_share/

當使用者在系統中的操作受到制約,可以從以下幾個方面進行調整。

可以切換使用者 su - root

可以修改檔案或目錄的許可權 chmod chown

可以對使用者進行提權操作 sudo

可以設定命令特殊許可權 setuid 粘滯位

需要關注服務裡面的配置,例如使用者上傳資料被拒絕。

使用者許可權 Linux使用者組管理與許可權設定

是時候寫一篇linux使用者組管理的內容了,其實最主要的原因是因為使用conda安裝軟體,由於當前使用者不是安裝conda的使用者,又不想在自己目錄下建立虛擬環境 home空間小 然後使用了sudo,結果虛擬環境建立是建立了,不過軟體卻沒有安裝在新建的虛擬環境裡,安裝在了base環境裡,沒辦法,解除...

3 Linux 詳解檔案許可權

輸出的內容是什麼呢?第1個字母 代表檔案型別 第2,3,4個字母 分別代表擁有者的讀,寫,執行許可權 第5,6,7個字母 分別代表所屬使用者組的讀,寫,執行許可權 第8,9,10個字母 分別代表其他使用者的讀,寫,執行許可權 如果對應位置為 表示沒有該許可權 注意,linux裡面一切皆檔案 chgr...

linux 使用者與許可權管理

使用者,使用者組相關檔案 etc passwd 記錄所有使用者 etc group 記錄使用者與使用者組資訊 useradd m s bin bash nagios 新增使用者nagios m建立使用者資料夾 home nagios s bin bash 使用bash功能 比如tab鍵補全 pass...