Linux基礎(用戶身份和文件權限)

用戶身份與能力

Linux是一個多用戶、多任務的操作系統,具有很好的穩定性與安全性,在幕后保障Linux系統安全則是一系列復雜的配置工作。

Linux系統的管理員之所以是root,并不是因為它的名字叫root,而是因為該用戶的身份號碼即UID(User IDentification)的數值為0。在Linux系統中,UID相當于我們的身份證號碼一樣具有唯一性,因此可以通過用戶的UID值來判斷用戶身份。

管理員UID為0:系統的管理員

系統用戶UID為1~999:Linux系統為了避免因某個服務程序出現漏洞而被黑客提權至整臺服務器,默認服務程序會有獨立的系統用戶負責運行,進而有效控制被破壞范圍。

普通用戶UID從1000開始:是由管理員創建的用于日常工作的用戶

需要注意的是UID是不能沖突的,而且管理員創建的普通用戶的UID默認是從1000開始的(即使前面有閑置的號碼)。

為了方便管理同一組用戶,Linux系統中還引入用戶組的概念。通過使用用戶組號碼(GID),我們庫把多個用戶加入到一個組中,從而方便為組中的用戶統一規劃權限或指定任務。

另外,在Linux系統中創建每個用戶時,將自動創一個與其同名的基本用戶組,而且這個基本用戶組只有該用戶一個人。如果該用戶以后被歸納其他用戶組,則這個其他用戶組被稱為擴展用戶組。一個用戶只有一個基本用戶組,但是可以有多個擴展用戶組,從而滿足日常的工作需要。

useradd命令

useradd命令用于創建新的用戶,格式為“useradd【選項】用戶名”

可以使用useradd創建用戶賬戶,使用該命令創建用戶賬戶時,默認的用戶家目錄會被保存在/home目錄中

默認的Shell解釋器為/bin/bash,而且默認會創建一個與該用戶同名的基本用戶組,這些默認設置可以根據表中的useradd命令參數自行修改

參數?
-d指定用戶的家目錄(默認/home/username)
-e賬戶到期時間,格式為YYYY-MM-DD
-u

指定該用戶的默認UID

-g指定一個初始的用戶基本組
-G指定一個或多個擴展用戶組
-N不創建與用戶同名的基本用戶組
-s指定該用戶的默認Shell解釋器

下面我們創建一個普通用戶并指定家目錄的路徑、用戶的UID以及Shell解釋器,在下面命令中,請注意/sbin/nologin,他是終端解釋器的一員,與Bash解釋器有天壤之別。一旦用戶的解釋器被設置成nologin,則代表該用戶不能登陸到系統中:

groupadd命令

groupadd命令用于創建用戶組,格式為:“groupadd【選項】群組名”

為了能夠更加高效地指派系統中的各個用戶的權限,在工作中常常會把幾個用戶加入到同一個組中,這樣便可以針對一類用戶統一安排權限。創建用戶組的步驟非常簡單,例如使用下面命令創建一個用戶組SanKoucun

?usermod命令

usermod命令用于修改用戶的屬性,格式為“usermod 【選項】用戶名”

參數作用
-c填寫用戶賬戶的備注信息
-d -m參數-m與參數-d連用,可重新指定用戶的家目錄并自動把舊的數據轉移過去
-e賬戶的到期時間,格式為:YYYY-MM-DD
-g變更所屬用戶組
-G變更擴展用戶組
-L鎖定用戶禁止其登陸系統
-U解鎖用戶,運行其登陸系統
-s變更默認終端
-u修改用戶的UID

?

我們先查看ShangQiang的默認信息,然后將他加入到root用戶組中去,再次查看ShangQiang的信息,這樣擴展組列表中則會出現root用戶組的字樣,而基本組不會收到影響

再來試試用-u參數修改ShangQiang的用戶UID號碼。除此之外,我們還可以用-g參數修改用戶的基本組ID,用-G參數修改用戶擴展組ID

?passwd命令

passwd命令用于修改密碼,過期時間,認證信息等,格式為:“passwd【選項】【用戶名】”

普通用戶只能修改自己的密碼,root管理員則有權限修改其他所有人的密碼。更強的是,root修改其他人的密碼不需要驗證舊密碼。

參數作用
-l鎖定用戶,禁止其登陸
-u解鎖鎖定,允許用戶登陸
--stdin允許通過標準輸入修改用戶密碼,如 echo '123456' | passwd --stdin Username
-d使該用戶可用空密碼登陸系統
-e強制用戶在下次登陸時修改密碼
-S顯示用戶的密碼是否被鎖定,以及密碼所采用的加密算法全稱

接下來,我們嘗試修改root和普通用戶的密碼

?userdel命令

userdel命令用于刪除用戶,格式為“userdel 【選項】用戶名”

參數作用
-f強制刪除用戶
-r同時刪除用戶及其用戶目錄

嘗試一下

文件權限與歸屬

盡管在Linux系統中一切都是文件,但每個文件的類型不盡相同,因此Linux系統使用了不同的字符加以區分,常見的字符如下所示:

在Linux系統中,每個文件都有所屬的所有者和所有組,并且規定了文件的所有者,所有組以及其他人對文件所擁有的可讀(r)、可寫(w)、可執行(x)等權限。對與一般文件來說,權限比較容易理解:

“可讀”表示能夠讀取文件的實際內容

“可寫”表示能夠編輯,新增,修改,刪除文件的實際內容

“可執行”表示能夠運行一個腳本程序

但是,對應目錄文件來說,理解其權限設置來就不那么容易。

對于目錄文件來說:

”可讀“表示能夠讀取目錄內的文件列表

”可寫“表示能夠在目錄內新增,刪除,重命名文件

”可執行“表示能夠進入該目錄

文件的讀、寫、執行權限可以簡寫成? rwx,也可以分別用數字表示 4,2,1.文件所有者,所屬組及其他用戶權限之間無關聯

?

文件權限的數字法表示基于字符表示(rwx)的權限計算而來,其目的是簡化權限表示。

例如,某個文件的權限為7則代表可讀,可寫,可執行(4+2+1)

若權限為6則代表可讀、可寫,不可執行(4+2)

?文件的特殊權限

在復雜多變的生產環境中,單純設置文件的rwx權限無法滿足我們對安全和靈活性的需求,因此便有了SUID,SGID,SBIT的特殊權限位。這是一種對文件權限進行設置的特殊功能,可以與一般權限同時使用,以彌補一般權限不能實現的功能。

SUID

SUID是一種對二進制程序進行設置的特殊權限。可以讓二進制程序的執行者臨時擁有屬主的權限(僅對擁有執行權限的二進制程序有效)。

例如:

所有用戶都可以執行passwd命令來修改自己的用戶密碼,而用戶密碼保存在/etc/shadow文件中。仔細查看這個文件就會發現它默認權限是000,也就是說除了root管理員外,所有用戶都沒有查看或編輯這個文件的權限。但是,在使用passwd命令時如果加上SUID特殊權限位,就可讓普通用戶臨時獲得程序所有者的身份,把變更的密碼信息寫入到shadow文件中。

我們先簡單介紹一個特殊權限,內容太多不好消化,下篇繼續。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534319.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534319.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534319.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Centos 8 RHEL 8 破解root密碼

https://blog.csdn.net/u014042047/article/details/107309890/

TensorFlow實驗(1)

實驗1-2 搭建深度學習開發環境 1)安裝Anaconda 2)創建虛擬環境: 3)激活環境 4)安裝tensorflow 5)安裝jupyter notebook 安裝完成之后,運行第一個程序“Hello,World” 要求:詳細安裝步驟&…

TensorFlow實驗(2)

實驗3-4 數據結構-張量 1)已知兩個張量[1,3,5,7]和[2,4,4,8],編寫一個模型,計算兩個張量的加法,輸出結果,并在tensorboard中顯示 2)已知張量[1,2,3,4,5,6,7,8,9,10,11,12]有12個元素,利用tf.reshape()將其…

Linux基礎(文件權限續篇)

文件的特殊權限 在復雜多變的生產環境中,單純設置文件的rwx權限無法滿足我們對安全和靈活性的需求,因此便有了SUID,SGID,SBIT的特殊權限位。這是一種對文件權限進行設置的特殊功能,可以與一般權限同時使用,以彌補一般權限不能實現…

Linux基礎(存儲結構和磁盤劃分)

一切從“/”開始 在Linux系統中,目錄、字符設備、塊設備、套接字、打印機等都被抽象成了文件,一切皆為件 與windows操作系統不同,Linux系統內不存在C/D/E/F盤等,一切文件都是從根(/)目錄開始的 Linux系統…

軟件工程(需求分析)

需求分析 為了開發出真正滿足用戶需求的軟件產品,首先必須知道用戶的需求。對軟件需求的深人理解是軟件開發工作獲得成功的前提條件,不論人們把設計和編碼工作做得如何出色,不能真正滿足用戶需求的程序只會令用戶失望.給開發者帶來煩惱。 需求分析是軟…

TensorFlow構建二維數據擬合模型(1)

知識圖譜 TensorFlow運行機制 TensorFlow是基于計算圖的深度學習編程模型 Tensor表示張量,其實質上是某種類型的多維數組 Flow表示基于數據流圖的計算,實質上是張量在不同節點間的轉化過程。 在TensorFlow中,計算圖中的節點稱為OP&…

Qt圖形界面編程入門(標簽與槽機制習題分享)

標簽對象初始顯示0&#xff0c;每次單擊標簽對象后&#xff0c;其顯示內容就加1&#xff0c;依次變為1、2、3等。 #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QPushButton> //包含命令按鈕類 #include "MyLabel.h"class Dialo…

js中執行到一個if就停止的代碼_Node 中如何引入一個模塊及其細節

在 node 環境中&#xff0c;有兩個內置的全局變量無需引入即可直接使用&#xff0c;并且無處不見&#xff0c;它們構成了 nodejs 的模塊體系: module 與 require。以下是一個簡單的示例const fs require(fs)const add (x, y) > x ymodule.exports add雖然它們在平常使用…

二級MS Office公共基礎知識錯題本(1)

1&#xff0c;順序程序具有順序性、封閉性和可再現性的特點&#xff0c;不具備并發性 2&#xff0c;為了降低算法的空間復雜度&#xff0c;主要應減少輸入數據所占的存儲空間以及額外空間&#xff0c;通常采用壓編存儲技術。 3&#xff0c;樹的總的結點數為樹中所有結點的度數…

c++ file* 句柄泄漏_C++核心指南:P.8 勿泄漏任務資源

P.8: 勿泄漏任務資源原因隨著時間的推移&#xff0c;即使是資源的緩慢增長也會耗盡這些資源的可用性&#xff0c;這對于長時間運行的程序特別重要&#xff0c;但也是負責任的編程行為的基本部分。糟糕的例子void f(char* name){ FILE* input fopen(name, "r"); // .…

數據規范化、實體-聯系圖、狀態轉換圖、層次方框圖、Warnier圖、IPO圖及驗證軟件需求

數據規范化 軟件系統經常使用各種長期保存的信息&#xff0c;這些信息通常以一定方式組織并存儲在數據庫或文件中&#xff0c;為減少數據冗余&#xff0c;避免出現插入異常或刪除異常&#xff0c;簡化修改數據的過程,通常需要把數據結構規范化。 通常用“范式(normal forms)”…

python和c混合編程 gil,如何在python中使用C擴展來解決GIL

I want to run a cpu intensive program in Python across multiple cores and am trying to figure out how to write C extensions to do this. Are there any code samples or tutorials on this?解決方案You can already break a Python program into multiple processes.…

Linux基礎(iptables與firewalld防火墻)

iptables 在早期的Linux系統中&#xff0c;默認使用的是iptables防火墻管理服務來配置防火墻。盡管新型的fierwalld防火墻管理服務已經被投入使用多年&#xff0c;但是大量的企業在生產環境中依然出于各種原因而繼續使用iptables。 策略與規則鏈 防火墻會從上至下的順序來讀…

虛擬跳線軟件干什么用的_瘋狂刷單!用違法軟件生成虛擬手機號,“騎手”半年“刷單”牟利60余萬,百米內竟有萬筆訂單 | 申晨間...

來源&#xff1a;新聞晨報 記者&#xff1a;吳藝璇借助違法軟件生成虛擬手機號碼&#xff0c;利用平臺審核漏洞大量注冊用戶&#xff0c;大量“刷單”騙取平臺的返現和購物補貼&#xff0c;半年內瘋狂刷1.8萬余單&#xff0c;累計牟利60余萬元。近日&#xff0c;在市公安局刑偵…

軟件工程(總體設計①設計過程)

經過需求分析&#xff08;https://blog.csdn.net/weixin_45626468/article/details/115324885&#xff09;階段的工作&#xff0c;系統必選“做什么”已經清楚了&#xff0c;現在是決定“怎樣做”的時候了。 總體設計的基本目的就是回答“概況地說&#xff0c;系統應該如何實現…

ygo游戲王卡組_ACG大科普(7)游戲王

大家是否在小時候接觸過一種卡片類似這種的 這就是今天的主角游戲王。 背景 1996年&#xff0c;《游戲王》漫畫開始在集英社《周刊少年Jump》連載。 1998年&#xff0c;Bandai推出以《游戲王》原作中登場的集換卡牌游戲“M&W”為題材的集換卡牌。 采用Bandai的卡片自動販賣…

Qt圖形界面編程入門(基本窗口及控件)

基本窗口類QWidget QWidget是所有窗體部件的基類&#xff0c;例如對話框類&#xff0c;主窗體類&#xff0c;以及其他諸如按鈕&#xff0c;編輯框&#xff0c;標簽等等都是由QWidget派生得到&#xff0c;QWidget擁有的方法往往都可以在其他子類中使用。 窗體的幾何尺寸分為包…

背景se_盤點那些RPG手游中主角的背景故事,越悲情越強大

RPG游戲一直以代入感超強的游戲方式來吸引玩家&#xff0c;用超越現實的藝術手段把玩家帶入到虛擬的游戲世界&#xff0c;讓玩家擔任不同的社會角色來去經歷不同的虛擬故事&#xff0c;體驗多種人生經歷&#xff0c;想要扮演任何角色都是有可能的。當然在RPG游戲中也有好壞之分…

TensorFlow構建二維數據擬合模型(2)

變量的定義和使用 變量的定義與初始化 TensorFlow中&#xff0c;變量是一種特殊的張量&#xff0c;其值可以是一個任意類型的形狀的張量。 與其他張量不同&#xff0c;變量存在于單個回話調用的上下文之外&#xff0c;主要作用是保存和更新模型中的參數。 聲明變量通常使用…