用戶管理下

来源:http://www.cnblogs.com/clsn/archive/2017/11/20/7639786.html
-Advertisement-
Play Games

第1章 批量添加3個用戶stu01-stu03,設置密碼為123456. 1.1 預備知識 前的產生的命令通過管道後可以交給bash運行 1.2 命令的樣子 目標命令的形狀,想讓命令變成這個樣子執行。 1.3 命令的生成 1.3.1 第一步 生成名字 1.3.2 第二步 拼接出想要的形狀 兩條命令之 ...


第1章 批量添加3個用戶stu01-stu03,設置密碼為123456.

1.1 預備知識

前的產生的命令通過管道後可以交給bash運行

[root@znix ~]# echo pwd |bash
/root

1.2 命令的樣子

目標命令的形狀,想讓命令變成這個樣子執行。

useradd stu01 ;echo 123456|passwd --stdin stu01
useradd stu02 ;echo 123456|passwd --stdin stu02
useradd stu03 ;echo 123456|passwd --stdin stu03

1.3 命令的生成

1.3.1 第一步 生成名字

[root@znix ~]# echo stu{01..3}|xargs -n1
stu01
stu02
stu03

1.3.2 第二步 拼接出想要的形狀

兩條命令之間用 表示前面的命令執行了執行後面的

兩條命令之間用 &&  表示前面的執行對了執行後面的

[root@znix ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03

1.3.3 第三步 交給bash執行

使用bash執行的時候,要先確認命令是正確的。

[root@znix ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'|bash
Changing password for user stu01.
passwd: all authentication tokens updated successfully.
Changing password for user stu02.
passwd: all authentication tokens updated successfully.
Changing password for user stu03.
passwd: all authentication tokens updated successfully.

1.3.4 第四步 檢查結果

[root@znix ~]# grep "stu" /etc/passwd
stu01:x:889:889::/home/stu01:/bin/bash
stu02:x:890:890::/home/stu02:/bin/bash
stu03:x:891:891::/home/stu03:/bin/bash

[root@znix ~]# grep "stu" /etc/shadow
stu01:$6$7XjTYZn2$aVGsKaJDjKD0eKlRoWkxbKePEFF0Vopot5nw1dxCmzaeQ3ZYDDhmuoKHif9avWb/l06xzeUfj2I6HMPOBHr0e.:17422:0:99999:7:::
stu02:$6$6tLZy0ua$erjJFSLK7qiYgXKE3fkLyjAgsY23elGDiUvJwHHrkw9kUTQbGeDqQAc6X1MXmuv2pwQY9qbpO7DAICxgDXh0Y0:17422:0:99999:7:::
stu03:$6$a3FCqg//$WS9kjhD62naNSl1oRupYO/2DTNRN38j97wVSz4oNvlqAAYgZe.UzcDdUOx/DSpW93Q070Sdmmls7t9RBDR82D1:17422:0:99999:7:::

1.3.5 第五步 密碼驗證

[root@znix ~]# su - stu01
[stu01@znix ~]$ su - stu02
Password:

[stu02@znix ~]$ su - stu03
Password:

[stu03@znix ~]$ su - stu01
Password:

[stu01@znix ~]$

1.4 簡化命令

1.4.1 預備知識

&表示匹配前面所找到的內容

[root@znix ~]# echo 123456|sed 's#.*#<&>#g'
<123456>

[root@znix ~]# echo 123456|sed 's#.#<&>#g'
<1><2><3><4><5><6>

1.4.2 簡化命令

上面的命令就可以簡寫,而且& 屬於基礎正則,sed可以直接使用。

[root@znix ~]# echo stu{01..3}|xargs -n1|sed  's#.*#useradd & ;echo 123456|passwd --stdin & #g'
useradd stu01 ;echo 123456|passwd --stdin stu01
useradd stu02 ;echo 123456|passwd --stdin stu02
useradd stu03 ;echo 123456|passwd --stdin stu03

第2章 用戶管理

2.1 相關命令

2.1.1 chown  修改文件的所有者或屬組

 -R    遞歸修改文件或目錄的的所有者或組(很危險)

[root@znix tmp]# ll data/
total 4
drwxr-xr-x 78 root root 4096 Aug 24 10:28 etc
[root@znix tmp]# chown -R znix.znix data/
[root@znix tmp]# ll data/
total 4
drwxr-xr-x 78 znix znix 4096 Aug 24 10:28 etc

2.1.2 groupadd 添加用戶組

-g 指定用戶組的gid

[root@znix ~]# groupadd mysql -g 999
[root@znix ~]# grep mysql /etc/group
mysql:x:999:

2.2 添加一個虛擬用戶用戶 mysql 指定用戶的uid gid都是999

2.2.1 註意 useradd -g -u

-g 指定用戶組 gid這裡指定gid的時候,這個組必須是存在的

2.2.2 先創建組,再進行創建用戶,指定gid

[root@znix ~]# groupadd mysql -g 999
[root@znix ~]# useradd -u 999 -g mysql -s /sbin/nologin -M mysql
[root@znix ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)

2.2.3 預設添加的時候uidgid相同

[root@znix ~]# useradd -u 999 -s /sbin/nologin -M mysql
[root@znix ~]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)

2.3 用戶查詢命令

2.3.1 w 顯示誰遠程登陸了系統,在做什麼

查看用戶是以什麼身份登陸到系統。

[root@znix ~]# w
 10:25:35 up  1:02,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                10:37    2:21m  0.00s  0.00s -bash
root     pts/0    10.0.0.1         09:23    0.00s  0.12s  0.00s w
root     pts/1    10.0.0.1         09:23    1:01m

       登陸是指使用 ssh 遠程里連接時使用的用戶。登陸後切換用戶不會顯示。

       本地用戶登陸 FROM 顯示為tty登陸

2.3.2 last 顯示系統用戶的登陸信息

last 命令與 /var/log/secure 文件記錄的信息大致相同,文件更為詳細

[root@znix ~]# last
root     tty1                          Wed Sep 13 10:37   still logged in  
root     pts/1        10.0.0.1         Wed Sep 13 09:23   still logged in  
root     pts/0        10.0.0.1         Wed Sep 13 09:23   still logged in 

last保存的文件位置:

[root@znix ~]# ll /var/log/wtmp /var/log/btmp
-rw-------  1 root utmp   1536 Sep 13 10:37 /var/log/btmp
-rw-rw-r--. 1 root utmp 122496 Sep 13 10:37 /var/log/wtmp

2.3.3 lastlog  顯示系統中用戶最近一次的登陸信息

lastlog命令會顯示相同中所有的用戶,最近一次登陸狀態

[root@znix ~]# lastlog
Username         Port     From             Latest
root             tty1                      Wed Sep 13 10:37:46 +0800 2017
bin                                        **Never logged in**

lastlog保存文件位置

[root@znix ~]# ll /var/log/lastlog
-rw-r--r--. 1 root root 292000 Sep 13 10:37 /var/log/lastlog

2.3.4 查看日誌的方式

儘量精確的查找,避免使用cat/vim 等命令就行查看。

tail /head
less
grep

第3章 sudo 臨時讓用戶獲得root許可權

3.1 su su - 的區別

 -   su命令的參數 相當於 -, -l, --login  

       在切換用戶的時候,更新與用戶有關的環境變數

使用su 進行用戶切換的時候不會切換環境變數

[root@znix ~]# su znix  
[znix@znix root]$ env |grep root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/root

使用su - 進行用戶切換的時候會切換環境變數

[root@znix ~]# su - znix
[znix@znix ~]$ env |grep root
[znix@znix ~]$

3.2 znix用戶查看日誌的許可權。

[root@znix ~]# ll /var/log/secure
-rw------- 1 root root 25317 Sep 13 15:21 /var/log/secure

3.2.1 其他方法(不安全)

1、修改文件的歸屬(不可取)

2、修改文件的許可權,為文件添加上其他用戶可讀許可權(不安全)

3、為命令特殊許可權 suid (運行命令的時候 相當於是命令的所有者)其他的用戶也都可用,不安全。

3.2.2 使用sudo znix用戶臨時獲得root許可權

[znix@znix ~]$ sudo tail -1  /var/log/secure
Sep 13 15:59:05 znix sudo:     znix : TTY=pts/0 ; PWD=/home/znix ; USER=root ; COMMAND=/usr/bin/tail -1 /var/log/secure

3.3 sudo許可權的配置

3.3.1 查看當前有什麼特權

[znix@znix ~]$ sudo -l
Matching Defaults entries for znix on this host:
    ……
User znix may run the following commands on this host:
    (ALL) NOPASSWD: ALL

3.3.2 第一次使用sudo的時候會提示設置密碼,並告知沒有可用命令。

[znix@znix ~]$ sudo -l
 
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

[sudo] password for znix:  設置密碼為znix用戶
Sorry, user znix may not run sudo on oldboyedu-40.

抱歉, 用戶 znix 沒有 可以使用的  sudo 在znix

3.3.3 znix用戶添加sudo 命令

visudo  進入編輯即編輯 /etc/sudoers 文件。直接編輯該文件需要強制保存。

92gg   92行,放在這裡是為了有個對比

i      進行編輯 

     90 ## Allow root to run any commands anywhere

     91 root    ALL=(ALL)       ALL

     92 znix    ALL=(ALL)       /bin/ls, /bin/touch

3.3.4 查看現在znix用戶的sudo許可權

[znix@znix ~]$ sudo -l
[sudo] password for znix:
Matching Defaults entries for znix on this host:
 ……

 znix用戶可以以root用戶的身份運行下麵的命令

User znix may run the following commands on this host:
    (ALL) /bin/ls, (ALL) /bin/touch

3.3.5 測試znix用戶的sudo許可權

znix用戶再/root 目錄中可以進行操作.

[znix@znix ~]$ ls /root/
ls: cannot open directory /root/: Permission denied

[znix@znix ~]$ sudo ls /root/
1       dir035   install.log         oldboy.txt       test.txt
123     ett.txt  install.log.syslog  passwd.txt       test.txt-hard

[znix@znix ~]$ sudo touch /root/znix.txt
[znix@znix ~]$ sudo ls /root/znix.txt
/root/znix.txt

3.3.6 znix用戶 sudo所有命令

[root@znix ~]# grep znix /etc/sudoers
znix    ALL=(ALL)       ALL

實例3-1        使用sudo 命令 切換到root用戶不需要密碼

[root@znix ~]# su - znix
[znix@znix ~]$ sudo su -
[root@znix ~]#

註意: sudo ALL 許可權很危險

    ##給自己使用。

    ##給其他的用戶使用:需要用什麼給什麼,不能給過多的許可權.保證安全。

3.3.7 znix用戶 sudo所有命令,並且使用的時候不用密碼

查看znix用戶擁有的sudo 命令 

[znix@znix ~]$ sudo -l|tail -2
User znix may run the following commands on this host:
    (ALL) NOPASSWD: ALL

       查看配置文件 /etc/sudoers

[znix@znix ~]$ sudo grep znix /etc/sudoers
#znix    ALL=(ALL)      /bin/ls, /bin/touch
#znix    ALL=(ALL)       ALL
#znix    ALL=(ALL)       /bin/*
znix    ALL=(ALL)       NOPASSWD: ALL

第4章 行為日誌審計

4.1 行為日誌審計的概念

 

4.2 商業產品,硬體產品

齊治的堡壘機

4.3 python開源產品

getone web跳板機

jump sever

crazyEYE

4.4 shell跳板機

第5章 在系統中安裝一個軟體 htop

5.1 方法一 yum 安裝

5.1.1 先配置上 epel 軟體源

EPEL yum的一個軟體源,裡面包含了許多基本源里沒有的軟體。

 

[root@znix ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

 

5.1.2 使用 yum 即可安裝

 

[root@znix ~]# yum install htop -y

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 效果如圖,很常見的一種佈局方式,只是沒有採用radiobutton,方法都很多,很多人都自定義寫在一個view裡面,不過代碼量偏大,所以還是xml寫吧 這樣寫下來感覺代碼量還是挺少的,而且很好擴展,然後在點擊的時候加了個回彈動畫,頓時體驗好多了 public class MainActivity e ...
  • 你全量發佈了一個新版本應用,怎麼在商戶的大面積投訴之前,率先發現閃退趨勢呢? 如果商戶投訴設備運行緩慢,你怎麼分析性能瓶頸呢?坐高鐵到現場嗎? ...
  • [20171120]關於INBOUND_CONNECT_TIMEOUT設置.txt--//上午翻看以前我的發的帖子,發現鏈接:http://www.itpub.net/thread-2066758-1-1.html--//今天再仔細看了一下,註意看了一下別人的回覆,才發現一些細節問題,原始鏈接:-- ...
  • 1.數值四捨五入,小數點後保留2位 round() 函數是四捨五入用,第一個參數是我們要被操作的數據,第二個參數是設置我們四捨五入之後小數點後顯示幾位。 numeric 函數的2個參數,第一個表示數據長度,第二個參數表示小數點後位數。 示例如下: ...
  • 環境描述:主redis:192.168.10.1 6379從redis:192.168.10.2 6380 一、主從配置 1、將主從redis配置文件redis.conf中的aemonize no 改為 yes 2、修改從redis配置文件redis.conf中的port 6379 改為 6380, ...
  • 一、Redis的誕生 Redis創建者,出生於西西里島的義大利人(antirez)發明的,個人網站,http://invece.org。早年是系統管理員,2004-2006 年做嵌入式方面的工作,之後接觸 WEB,2007 年和朋友共同創建了一個網站 LLOOGG.com,併為瞭解決這個網站的負載問 ...
  • [20171120]11G關閉直接路徑讀.txt--//今天做filesystemio_options參數測試時,遇到一個關於直接路徑讀的問題.--//如果看以前的博客介紹,設置"_serial_direct_read"=never或者events '10949 trace name context ...
  • 要使用Linux系統很重要的一個操作就是使Linux系統能夠訪問互聯網,只有Linux系統能夠訪問互聯網才能夠去下載很多自己所需要的資源,如果不能訪問互聯網那麼使用Linux系統往往會卡在這一步,假設你裝的是一個minimal版本的CentOS,那麼很多Linux系統下麵的工具都是沒有被安裝的,這個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...