【BASH】回顧與知識點梳理(二十六)

【BASH】回顧與知識點梳理 二十六

    • 二十六. 二十一至二十五章知識點總結及練習
      • 26.1 總結
      • 26.2 模擬
      • 26.3 簡答題

該系列目錄 --> 【BASH】回顧與知識點梳理(目錄)

二十六. 二十一至二十五章知識點總結及練習

26.1 總結

  • Linux 操作系統上面,關于賬號與群組,其實記錄的是 UID/GID 的數字而已;
  • 使用者的賬號/群組與 UID/GID 的對應,參考 /etc/passwd 及 /etc/group 兩個文件
  • /etc/passwd 文件結構以冒號隔開,共分為七個字段,分別是『賬號名稱密碼UIDGID全名(注釋)家目錄shell
  • UID 只有 0 與非為 0 兩種,0為root,非為 0 則為一般賬號。一般賬號又分為系統賬號 (1~999) 及可登入者賬號(大于 1000)
  • 賬號的密碼已經移動到 /etc/shadow 文件中,該文件權限為僅有 root 可以更動。該文件分為九個字段,內容為『 賬號名稱加密密碼密碼更動日期密碼最小可變動日期密碼最大需變動日期密碼過期前警告日數密碼失效天數 賬號失效日保留未使用
  • 使用者可以支持多個群組,其中在新建文件時會影響新文件群組者,為有效群組。而寫入 /etc/passwd 的第四個字段者, 稱為初始群組
  • 與使用者建立、更改參數、刪除有關的指令為:useradd, usermod, userdel 等,密碼建立則為 passwd;
  • 與群組建立、修改、刪除有關的指令為:groupadd, groupmod, groupdel 等;
  • 群組的觀察與有效群組的切換分別為:groups 及 newgrp 指令;
  • useradd 指令作用參考的文件有: /etc/default/useradd, /etc/login.defs, /etc/skel/ 等等
  • 觀察用戶詳細的密碼參數,可以使用『 chage -l 賬號 』來處理;
  • 用戶自行修改參數的指令有: chsh, chfn 等,觀察指令則有: id, finger 等
  • ACL 的功能需要文件系統有支持,CentOS 7 預設的 XFS 確實有支持 ACL 功能!
  • ACL 可進行單一個人或群組的權限管理,但 ACL 的啟動需要有文件系統的支持;
  • ACL 的設定可使用 setfacl ,查閱則使用 getfacl ;
  • 身份切換可使用 su ,亦可使用 sudo ,但使用 sudo 者,必須先以 visudo 設定可使用的指令;
  • PAM 模塊可進行某些程序的驗證程序!與 PAM 模塊有關的配置文件位于 /etc/pam.d/*/etc/security/*
  • 系統上面賬號登入情況的查詢,可使用 w, who, last, lastlog 等;
  • 在線與使用者交談可使用 write, wall,脫機狀態下可使用 mail 傳送郵件!

26.2 模擬

情境模擬題一:想將本服務器的賬號分開管理,分為單純郵件使用,與可登入系統賬號兩種。其中若為純郵件賬號時, 將該賬號加入 mail 為初始群組,且此賬號不可使用 bash 等 shell 登入系統。若為可登入賬號時, 將該賬號加入 youcan 這個次要群組。

  • 目標:了解 /sbin/nologin 的用途;
  • 前提:可自行觀察使用者是否已經建立等問題;
  • 需求:需已了解 useradd, groupadd 等指令的用法;

解決方案如下:

  1. 預先察看一下兩個群組是否存在?
[root@study ~]# grep mail /etc/group
[root@study ~]# grep youcan /etc/group
[root@study ~]# groupadd youcan
  1. 開始建立三個郵件賬號,此賬號名稱為 pop1, pop2, pop3 ,且密碼與賬號相同。可使用如下的程序來處理:
[root@study ~]# vim popuser.sh
#!/bin/bash
for username in pop1 pop2 pop3
do
useradd -g mail -s /sbin/nologin -M $username
echo $username | passwd --stdin $username
done
[root@study ~]# sh popuser.sh
  1. 開始建立一般賬號,只是這些一般賬號必須要能夠登入,并且需要使用次要群組的支持!所以:
[root@study ~]# vim loginuser.sh
#!/bin/bash
for username in youlog1 youlog2 youlog3
do
useradd -G youcan -s /bin/bash -m $username
echo $username | passwd --stdin $username
done
[root@study ~]# sh loginuser.s
  1. 這樣就將賬號分開管理了!非常簡單吧!

26.3 簡答題

  • root 的 UID 與 GID 是多少?而基于這個理由,我要讓 test 這個賬號具有 root 的權限,應該怎么作?

    /etc/passwd
    root:x:0:0...
    test:x:0:0...
    

    理論上:root 的 UID 與 GID 均為 0 ,所以要讓 test 變成 root 的權限,那么就將 /etc/passwd 里面, test 的 UID 與 GID 字段變成 0 即可!
    實際上:別這么搞!

  • 假設我是一個系統管理員,我有一個用戶最近不乖,所以我想暫時將他的賬號停掉, 讓他近期無法進行任何動作,等到未來他乖一點之后,我再將他的賬號啟用,請問:我可以怎么作比較好??

    passwd -l yurq
    

    由于這個賬號是暫時失效的,所以不能使用 userdel 來刪除,否則很麻煩!那么應該如何設定呢?再回去瞧一瞧 /etc/shadow 的架構,可以知道有這幾個可使用的方法:

    • 將 /etc/passwd 的 shell 字段寫成 /sbin/nologin ,即可讓該賬號暫時無法登入主機;
    • 將 /etc/shadow 內的密碼字段,增加一個 * 號在最前面,這樣該賬號亦無法登入!
    • 將 /etc/shadow 的第八個字段關于賬號取消日期的那個,設定小于目前日期的數字,那么他就無法登入系統了!
  • 我在使用 useradd 的時候,新增的賬號里面的 UID, GID 還有其他相關的密碼控制,都是在哪幾個文件里面設定的?
    在 /etc/login.defs 還有 /etc/default/useradd 里面規定好的!

      UID:/etc/passwd,/etc/shadowGID:/etc/group,/etc/gshadow
    
  • 我希望我在設定每個賬號的時候( 使用 useradd ),預設情況中,他們的家目錄就含有一個名稱為 www 的子目錄,我應該怎么作比較好?

    mkdir /etc/skel/WWW
    
  • 簡單說明系統賬號與一般用戶賬號的差別?
    系統賬號的shell一般都是/sbin/nologin,無法登錄,沒有家目錄,一般而言,為了讓系統能夠順利以較小的權限運作,UID一般再1~999之間

  • 簡單說明,為何 CentOS 建立使用者時,他會主動的幫使用者建立一個群組,而不是使用 /etc/default/useradd 的設定?
    不同的 linux distributions 對于使用者 group 的建立機制并不相同。主要的機制分為:

    • Public group schemes: 用戶將會直接給予一個系統指定的群組,一般來說即是 users , 可以 SuSE Server 9 為代表;
    • Private group schemes: 系統會建立一個與賬號一樣的組名!以 CentOS 7.x 為例!
  • 如何建立一個使用者名稱 alex, 他所屬群組為 alexgroup, 預計使用 csh, 他的全名為 “Alex Tsai”, 且他還得要加入 users 群組當中!

    [root@node-135 ~]# useradd -s /bin/csh -g alexgroup -G users -c "Alex Tsai" alex1
    
  • 由于種種因素,導致你的用戶家目錄以后都需要被放置到 /account 這個目錄下。 請問,我該如何作,可以讓使用 useradd 時,默認的家目錄就指向 /account ?
    最簡單的方法,編輯 /etc/default/useradd ,將里頭的 HOME=/home 改成 HOME=/account 即可。

  • 我想要讓 dmtsai 這個使用者,加入 vbird1, vbird2, vbird3 這三個群組,且不影響 dmtsai 原本已經支持的次要群組時,該如何動作?

usermod -a -G  vbird1,vbird2,vbird3 dmtsai

該系列目錄 --> 【BASH】回顧與知識點梳理(目錄)

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

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

相關文章

unittest單元測試

當你在編寫測試用例時,可以使用Python內置的unittest模塊來進行單元測試。下面是一個逐步指南,幫助你理解如何編寫和運行基本的單元測試。 導入必要的模塊: 首先,你需要導入unittest模塊和需要測試的模塊(例如&#xf…

運維監控學習筆記8

在服務器端,我們添加了nginx-server的主機: 在解決Error問題的過程中,我還通過zabbix_get這個命令進行了測試,發現是沒有的,后來確認是在web頁面配置的過程中,我輸錯了密碼。 yum install zabbix-getzabbi…

uniapp-原生地圖截屏返回base64-進行畫板編輯功能

一、場景 vue寫uniapp打包安卓包,實現原生地圖截屏(andirod同事做的)-畫板編輯功能 實現效果: 二、邏輯步驟簡略 1. 由 原生地圖nvue部分,回調返回 地圖截屏生成的base64 數據, 2. 通過 uni插件市場 im…

《圖解HTTP》——HTTP協議詳解

一、HTTP協議概述 HTTP是一個屬于應用層的面向對象協議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統。它于1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP…

muduo 29 異步日志

目錄 Muduo雙緩沖異步日志模型: 異步日志實現: 為什么要實現非阻塞的日志

SQL 語句解析過程詳解

SQL 語句解析過程詳解: 1.輸入SQL語句 2.詞法分析------flex 使用詞法分析器(由Flex生成)將 SQL 語句分解為一個個單詞,這些單詞被稱為“標記“。標記包括關鍵字、標識符、運算符、分隔符等。 2.1 flex 原…

【CSS 布局】水平垂直方向居中

【CSS 布局】水平垂直方向居中 單行元素 <div class"container"><div class"item"></div> </div>方式一&#xff1a;relative 和 absolute .container {position: relative;height: 400px;border: 1px solid #ccc;.item {posit…

20個互聯網用戶Python數據分析項目

這篇文章給大家整理了20個互聯網用戶數據分析的項目。所有收錄的項目&#xff0c;進行了嚴格的篩選&#xff0c;標準有二&#xff1a; 1.有解說性文字&#xff0c;大家能知道每一步在干嘛&#xff0c;新手友好 2.數據集公開&#xff0c;保證大家可以在原文的基礎上自行探索 更…

[保研/考研機試] KY96 Fibonacci 上海交通大學復試上機題 C++實現

題目鏈接&#xff1a; KY96 Fibonacci https://www.nowcoder.com/share/jump/437195121692000803047 描述 The Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence: F00 F11 FnFn-1Fn-2,n>2 Write a program to calculate the Fibon…

【STM32】FreeRTOS互斥量學習

互斥量&#xff08;Mutex&#xff09; 互斥量又稱互斥信號量&#xff08;本質也是一種信號量&#xff0c;不具備傳遞數據功能&#xff09;&#xff0c;是一種特殊的二值信號量&#xff0c;它和信號量不同的是&#xff0c;它支持互斥量所有權、遞歸訪問以及防止優先級翻轉的特性…

人文景區有必要做VR云游嗎?如何滿足游客出行需求?

VR云游在旅游行業中的應用正在快速增長&#xff0c;為游客帶來沉浸式體驗的同時&#xff0c;也為文旅景區提供了新的營銷方式。很多人說VR全景展示是虛假的&#xff0c;比不上真實的景區觸感&#xff0c;人文景區真的有必要做VR云游嗎&#xff1f;我的答案是很有必要。 如果你認…

【跟小嘉學 Rust 編程】十二、構建一個命令行程序

系列文章目錄 【跟小嘉學 Rust 編程】一、Rust 編程基礎 【跟小嘉學 Rust 編程】二、Rust 包管理工具使用 【跟小嘉學 Rust 編程】三、Rust 的基本程序概念 【跟小嘉學 Rust 編程】四、理解 Rust 的所有權概念 【跟小嘉學 Rust 編程】五、使用結構體關聯結構化數據 【跟小嘉學…

【Pytroch】基于K鄰近算法的數據分類預測(Excel可直接替換數據)

【Pytroch】基于K鄰近算法的數據分類預測&#xff08;Excel可直接替換數據&#xff09; 1.模型原理2.數學公式3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果 1.模型原理 K最近鄰&#xff08;K-Nearest Neighbors&#xff0c;簡稱KNN&#xff09;是一種簡單但常用的機器…

Redis基礎學習

目錄 第一章、Redis數據庫的下載和安裝1.1&#xff09;nosql數據庫和 Redis 介紹1.2&#xff09;Windows中下載安裝Redis數據庫1.3&#xff09;Linux中安裝Redis數據庫1.4&#xff09;Linux中啟動redis1.5&#xff09;Linux中關閉redis 第二章、三種Redis客戶端連接Redis數據庫…

安全遠控如何設置?揭秘ToDesk、TeamViewer 、向日葵安全遠程防御大招

寫在前面一、遠程控制&#xff1a;安全性不可忽略二、遠控軟件安全設置實測? ToDesk? TeamViewer? 向日葵 三、遠控安全的亮點功能四、個人總結與建議 寫在前面 說到遠程辦公&#xff0c;相信大家都不陌生。遠程工作是員工在家中或者其他非辦公場所上班的一種工作模式&…

傳輸層協議

傳輸層協議 再談端口號端口號范圍劃分認識知名端口號兩個問題netstatpidof UDP協議UDP協議端格式UDP的特點面向數據報UDP的緩沖區UDP使用注意事項基于UDP的應用層協議 TCP協議TCP協議段格式確認應答(ACK)機制超時重傳機制連接管理機制理解 CLOSE_WAIT 狀態理解TIME_WAIT狀態解決…

修改el-select和el-input樣式;修改element-plus的下拉框el-select樣式

修改el-select樣式 .select_box{// 默認placeholder:deep .el-input__inner::placeholder {font-size: 14px;font-weight: 500;color: #3E534F;}// 默認框狀態樣式更改:deep .el-input__wrapper {height: 42px;background-color: rgba(0,0,0,0)!important;box-shadow: 0 0 0 …

OptaPlanner筆記6 N皇后

N 個皇后 問題描述 將n個皇后放在n大小的棋盤上&#xff0c;沒有兩個皇后可以互相攻擊。 最常見的 n 個皇后謎題是八個皇后謎題&#xff0c;n 8&#xff1a; 約束&#xff1a; 使用 n 列和 n 行的棋盤。在棋盤上放置n個皇后。沒有兩個女王可以互相攻擊。女王可以攻擊同一水…

如何做好一名網絡工程師?具體實踐?

預防問題 – 資格與認證 在安裝線纜或升級網絡時測試線纜是預防問題的有效方式。對已安裝布線進行測試的方法有兩種。 資格測試確定布線是否有資格執行某些操作 — 換言之&#xff0c;支持特定網絡速度或應用。盡管“通過”認證測試也表明按標準支持某一網絡速度或應用的能力…

Redux - Redux在React函數式組件中的基本使用

文章目錄 一&#xff0c;簡介二&#xff0c;安裝三&#xff0c;三大核心概念Store、Action、Reducer3.1 Store3.2 Reducer3.3 Action 四&#xff0c;開始函數式組件中使用4.1&#xff0c;引入store4.1&#xff0c;store.getState()方法4.3&#xff0c;store.dispatch()方法4.4&…