Linux 第五單元總結

2021-08-09 04:17:55 字數 2948 閱讀 5196

1.使用者理解

使用者就是系統使用者的身份

在系統中使用者儲存為若干竄字元+若干個系統配置檔案

使用者資訊涉及到的系統配置檔案:

/etc/passwd ###使用者資訊

使用者:密碼:uid:gid:說明:家目錄:使用者使用的shell

/etc/shadow ###使用者認證資訊

/etc/group ###組資訊

組名稱:組密碼:組id:附加組成員

/etc/gshadow ###組認證資訊

/home/username ###使用者家目錄

/etc/skel/.* ###使用者骨架檔案

2.使用者管理

1.使用者建立

useradd 引數 使用者名字

-u ##指定使用者uid

-g ##指定使用者初始組資訊,這個組必須已經存在

-g ##指定附加組,這個組必須存在

-c ##使用者說明

-d ##使用者家目錄

-s ##使用者所使用的shell,/etc/shells記錄了使用者能使用shell的名字

2.使用者刪除

userdel -r 使用者名稱 -r表示刪除使用者資訊及使用者的系統配置

3.組的建立

groupadd -g ##建立組

groupdel 組名字 ##刪除組

作以上實驗的監控命令:

4.使用者id資訊檢視

id 引數 使用者

-u ##使用者uid

-g ##使用者初始組id

-g ##使用者所有所在組id

-n ##顯示名稱而不是id數字

-a ##顯示所有資訊

5.使用者資訊更改

usermod 引數 使用者

-l ##更改使用者名稱

-u ##更改uid

-g ##更改gid

-g ##更改附加組

-ag ##新增附加組

-c ##更改說明

-d ##更改家目錄指定

-md ##更改家目錄指定及家目錄名稱

-s ##更改shell

-l ##凍結帳號

-u ##解鎖

3.使用者權利下放

1.在系統中超級使用者可以下放普通使用者不能執行的操作給普通使用者

下放權力配置檔案:/etc/sudoers

2.下放權力的方法

*)格式:

獲得許可權使用者 主機名稱=(獲得到的使用者身份) 命令

test desktop0.example.com=(root) /usr/sbin/useradd

test使用者能在desktop0.example.com以超級使用者身份執行/usr/sbin/useradd

3.執行下放許可權命令

sudo 命令 ##如果第一次執行sudo需要輸入當前使用者密碼

在/etc/sudoers中如果設定如下:

test    desktop0.example.com=(root)     nopasswd: /usr/sbin/useradd

表示使用者呼叫sudo命令的時候不需要自己密碼

4.使用者認證資訊的控制

chage 引數 使用者

-d ##使用者密碼組後一次修改的時間,如果設定成0,使用者登陸系統後必須修改自己的密碼

-m ##最短有效期

-m ##最長有效期

-w ##警告期

-i ##使用者非活躍天數

-e ##帳號到期日格式 -e "yyyy-mm-dd"

5.root密碼忘記

1.重新啟動系統

2.在系統啟動階段按上下健停止系統系統引導

3.選擇啟動引導標題,按「e」進行編輯

4.找到linux16引導條目這一行,從這行最後刪除到ro選項,並把ro改為rw,然後新增rd.break選項

5.ctrl+x啟動設定過後的系統引導條目

6.進入系統後執行chroot /sysroot切換到真實的系統環境

7.passwd root修改超級使用者密碼

8.建立檔案/.autorelabel讓系統從新掃瞄所有檔案

9.exit兩次使系統自動重新啟動

第五單元 陣列 總結

第一課 一維陣列的定義 cin h0 h1 h2 h49 程式中是不能用省略號來表示的。顯然這樣的程式 冗長繁瑣,程式設計效率差,因此引入陣列的概念。陣列 陣列就是一組相同型別的變數。他們往往都是為了表示同一批物件的統一屬性。例如,for i 0 i 49 i cin h i 陣列本身是變數,陣列經...

第五單元陣列總結

知識點總結 第一課1.陣列就是一組相同型別的變數,他們往往都是為了表示同一批物件的統一屬性。陣列可以是一維的,也可以是二維或多維的。2.在c 中使用一組陣列時,一般是從零開始編號,h i 就表示,第i 1同學的身高,u稱為 下標變數 for i 0 i 49 i cin h i 這樣表示 不冗長 3...

5 第五單元 Fragment高階

fragment通訊 四.多個fragment巢狀 contentfragment fragment newcontentfragment fragmenttransaction ft getsupportfragmentmanager begintransaction ft.replace r i...