1.5 -用戶管理

1.5python

                          用戶管理mysql

內容:linux

1. 設置命令和腳本開機自啓動web

2. 用戶相關的配置文件和目錄面試

3. 用戶管理命令sql

4. sudo臨時爲普通用戶提權shell

5. yum相關知識vim

 

讓一個命令或腳本開機自啓動的方法

1) 腳本放在/etc/rc.localcentos

2) chkconfig緩存

讓一個命令或腳本用chkconfig開機自啓動的方法

(1) 這個腳本 存放在 /etc/init.d下面

(2) 腳本要有x(執行)權限

(3) 腳本開始必須有能夠被chkconfig識別的標記

(4) 把腳本加入到chkconfig管理

[root@oldboy init.d]# cat gao.sh                      腳本存放在/etc/init.d下

date +%F

[root@oldboy init.d]# chmod +x gao.sh                   給腳本x權限

[root@oldboy init.d]# ls -l gao.sh

-rwxr-xr-x. 1 root root 9 Jan  5 02:44 gao.sh

[root@oldboy init.d]# chkconfig --add gao.sh              將腳本添加自啓動

service gao.sh does not support chkconfig                 報錯:chkconfig命令不支持

                        腳本必須有能夠被chkconfig識別的標記

[root@oldboy init.d]# head /etc/init.d/iptables         找chkconfig管理命令的特色(以iptables爲例)

#!/bin/sh

#

# iptables Start iptables firewall

#

# chkconfig: 2345 08 92                               將此行添加至腳本

# description: Starts, stops and saves iptables firewall

[root@oldboy init.d]# cat gao.sh

date +%F

# chkconfig: 2345 08 92         - -del             刪除自啓動任務

[root@oldboy init.d]# chkconfig - -add gao.sh          添加自啓動任務

[root@oldboy init.d]# chkconfig |grep "gao.sh"          查看

gao.sh          0:off 1:off 2:on 3:on 4:on 5:on 6:off

 # chkconfig:  2345              08            92

           2345運行級別     啓動順序      關閉順序

 

小結
1.必須放在/etc/init.d 而且有執行權限
2.開頭要有chkconfig要求格式 
# chkconfig: 2345 99 99  (系統命令啓動順序有要求,本身建立的通常沒事)
3.添加到chkconfig管理 

 

 

忘記密碼系列

root用戶忘記密碼如何解決

1. 單用戶模式

https://blog.51cto.com/lidao/1932128

2. 救援模式

普通用戶忘記密碼

1. root用戶修改

2. /etc/passwd 把第二列密碼佔位符刪掉

 

用戶相關的配置文件

如何知道用戶屬於那些組

id

如何知道一個用戶組裏有哪些用戶

cat  /etc/passwd

 

與用戶有關的目錄

/etc/skel 新用戶老家的模板

建立一個用戶 useradd oldboy

             cp  /etc/skel/*   /home/oldboy   系統至關於會執行這個操做

ls -la  /etc/skel

~/.bash_logout          用戶退出系統的時候 Ctrl +d 會運行這個文件的內容

~/.bash_profile          做用同/etc/profile

~/.bashrc              做用同/etc/bashrc

 

擴展:

1. sh bash區別

[root@gao ~]# useradd test -s /bin/sh

[root@gao ~]# su - test

-sh-4.1$

2. 查看隱藏文件

[root@gao ~]# cd /etc/skel/

[root@gao skel]# ls .[^.]*

.bash_logout  .bash_profile  .bashrc

3. CentOs6.9下的shell

[root@gao skel]# cat   /etc/shells

/bin/sh

/bin/bash

/sbin/nologin

/bin/dash

/bin/tcsh

/bin/csh

 

故障:

1.以下登陸環境故障的緣由及解決辦法

-bash-4.1# cp /etc/skel/.bash* ~

-bash-4.1# logout

緣由:這個用戶家目錄下面與環境變量有關的文件 沒了

 

模擬:

[root@oldboy ~]# rm -rf .bash*

[root@oldboy ~]# logout

[root@oldboy /]# su - root

-bash-4.1#

解決:

[root@oldboy ~]#cp  /etc/skel/.bash*  ~

[root@oldboy ~]#logout

[root@oldboy /]#su - oldboy

[oldboy@gao ~]$

2.oldboy用戶的登陸環境故障,複製家目錄模板權限不夠

圖片1.png 

用戶管理命令:

用戶相關命令

useradd  -u 指定用戶的uid

     -s 指定用戶的使用shell     /bin/bash 默認    /sbin/nologin 添加虛擬用戶

     -M  不建立家目錄  (虛擬用戶)

     -g  指定用戶屬於的組

     -c  指定用戶說明信息

 

userdel    刪除用戶   默認不刪除用戶家目錄和郵箱

  -r   連窩端  刪除與用戶有關的全部信息(家目錄)

   在工做中,不要刪除用戶,可能會誤刪除用戶數據

   方法:在/etc/passwd 對應用戶前加註釋#

 

usermod   修改用戶信息(這個用戶已存在)         --uaeradd用法差很少

      -c   指定說明信息

      -s   修改用戶登陸shell

      -g   屬於的家庭  用戶的名字  --基本組

      -G   屬於多的家庭            --附加組

 

passwd  +用戶名   修改用戶密碼

    --stdin    從管道中獲取用戶的密碼 (非交互式)

   echo 123456 |passwd --stdin  oldboy     非交互式

企業場景:用戶及密碼管理

1.密碼複雜  12位以上字母數字特殊字符

2.保存密碼

keepass      軟件,密碼存放在本地,,本地保險櫃

lastpass      在線版本,,銀行的保險櫃

3.大的企業用戶和密碼統一管理(至關於活動目錄(AD),openldap)

4.動態密碼:動態口令,第三方提供本身的開發也很簡單

給重要的文件或命令作一個指紋

文件的內容變化 === 指紋變化

文件的內容變化 === 指紋變化

(1)給這個文件建立指紋

md5sum oldboy.txt

(2)如何快速的對比指紋

1)把你的指紋記錄下來    md5sum oldboy.txt >finger.txt     finger.txt是指紋庫

2)如何進行對比          md5sum -c finger.txt

(3)定時任務+md5sum定時檢查

 

 

chown    修改文件或目錄的全部者和屬組    能夠只修改全部者或屬組,,也能夠同時修改

-R  遞歸修改文件或目錄的全部者和用戶組

 

 

實例1-1 添加一個用戶alex指定uid888 禁止用戶登陸系統 不建立家目錄,用戶說明信息爲nologin CentOs

[root@gao skel]# useradd alex -u 888 -s /sbin/nologin -M -c "nologin CentOs"

[root@gao skel]# tail -1 /etc/passwd

alex:x:888:888:nologin CentOs:/home/alex:/sbin/nologin

 

實例1-2 企業場景:用戶及密碼管理   --指紋

方法:給重要的文件或命令,作一個指紋

原理:文件內容變化,指紋就會變化

步驟:

1. 建立指紋

[root@gao oldboy]# touch gao.txt

[root@gao oldboy]# md5sum gao.txt                    爲文件建立指紋

d41d8cd98f00b204e9800998ecf8427e  gao.txt

2. 記錄指紋

[root@gao oldboy]# md5sum gao.txt >police.log           將指紋記錄到指紋庫中

[root@gao oldboy]# echo 'I am a student'>gao.txt        改變文件內容

[root@gao oldboy]# md5sum gao.txt                       再生成指紋

553ae6494e59791c64771d6e4ac36786  gao.txt

3. 根據指紋庫指紋對比                                   -c = = = - -check

[root@gao oldboy]# md5sum -c police.log                 指紋與指紋庫對比,不匹配

gao.txt: FAILED

md5sum: WARNING: 1 of 1 computed checksum did NOT match

[root@gao oldboy]# md5sum gao.txt>police.log            將新指紋輸入到指紋庫

[root@gao oldboy]# md5sum -c police.log                 指紋與指紋庫對比,匹配

gao.txt: OK

 

[root@gao oldboy]# >gao.txt                             再次清空文件

[root@gao oldboy]# echo 'd41d8cd98f00b204e9800998ecf8427e  gao.txt'>police.log    

[root@gao oldboy]# md5sum  -c police.log    將最開始指紋輸入到指紋庫,對比,匹配

gao.txt: OK

文件的指紋隨內容的變化而變化

用戶組相關

groupadd            建立用戶組

    -g  指定用戶組的gid

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

linux中新建立用戶默認uid=gid

[root@oldboy oldboy]# useradd -u 666  -s /sbin/nologin -M mysql

[root@oldboy oldboy]# id mysql

uid=666(mysql) gid=666(mysql) groups=666(mysql)

 

用戶查詢命令

id      1.查看用戶uid,gid        2.查看用戶是否存在          3.查看用戶屬於哪一個組

 

w   1.顯示系統中已經遠程登陸的用戶   在幹什麼       (直接登陸     切換用戶不算)

w每部分的含義

[root@gao oldboy]# w                    最近1分鐘  5     15  分鐘

 06:36:45 up 22:31,  2 users,  load average: 0.00, 0.00, 0.00

圖片3.png 

錯誤      25 column window is too narrow       窗口過小

 

查看系統性能命令

w

uptime

top           1.-P /默認按CPU排序         2.-M 按內存使用率排序

htop         加強版的top命令

iotop          顯示系統中每一個進程使用的磁盤io

iftop          顯示系統網絡流量

ps  aux       cpu與內存的使用率      默認不排序

和sort -rnk2搭配         增長sort -h參數

 sort      -h   以人類可讀的形式進行排序

-r   倒序/逆序                  -n   把內容當作數字  進行排序

-k   指定某一列進行排序

例:查看佔地大的文件或目錄並按大小順序排序

du  -sh /*|sort  -rhk1

last          哪一個用戶  在何時  從哪裏  遠程登錄你的系統  用戶登陸的信息

lastlog       顯示Linux中全部用戶最近一次遠程登陸的信息

模擬佔用CPU

dd if=/dev/zero of=/tmp/100 bs=1k count=10000000

查看佔地大的文件或目錄並按大小順序排序        

 du -sh /*|sort -rhk1

擴展:

history     -c     清除命令行 歷史記錄

      歷史記錄還被保存在日誌裏

 

總結:

1. 面試題-讓一個腳本開機自啓動?

2. 如何讓一個腳本被chkconfig管理

3. 與用戶有關的文件和目錄

4. 案例提示:-bash-4.1$緣由及解決過程

5. 一堆命令

6. 添加虛擬用戶

7. 查看系統性能命令  系統管理命令  進程管理命令

 

題目:

root用戶密碼忘記如何解決

1.單用戶模式 √

https://blog.51cto.com/lidao/1932128

2.救援模式

 

2.批量添加3個用戶stu01,stu02....stu10,並設置8位密碼(禁止使用for,while等循環)

批量添加10個用戶stu01,stu02....stu10,並設置8位隨機密碼(禁止使用for,while等循環)

sudo 臨時讓用戶得到root權限

/root目錄給其餘用戶加上權限,全部用戶均可以查看root目錄,權限太大

cat命令加上suid特殊權限

sudo

sudo 讓普通用戶臨時擁有root權限

visudo       root授予尚方寶劍

sudo  -l     普通用戶查看尚方寶劍

 

:授予oldboy用戶ls,touch命令

root用戶操做

visudo    ==vim /etc/sudoers                                   visudo命令授予普通用戶權限

92gg                                                          切換到文件的第92行

oldboy  ALL=(ALL)    /bin/ls,/bin/touch,/usr/bin/vim           授予用戶命令權限

ALL授予全部權限                         oldboy前加%    表示授予oldboy組權限                         

oldboy用戶操做  

sudo  -l                                                     查看擁有的尚方寶劍

輸入oldboy密碼   

sudo  ls  /root                                              使用尚方寶劍

 

sudo 權限的一些注意

vim權限的隱患--推翻root

1./etc/passwd把root  密碼佔位符x刪去,普通用戶就能夠隨意登陸root

2.修改sudo 配置文件

被受權用戶使用權限不須要密碼

oldboy  ALL=(ALL)      NOPASSWD: /bin/ls,/bin/touch,/usr/bin/vim

               NOPASSWD ; (冒號空格)

sudo  -k  清除密碼緩存

企業中進制root用戶遠程服務器

visudo 授予oldboy用戶權限

管理員登陸oldboy用戶

sudo su - 切換到root身份

受權某一目錄全部命令

oldboy  ALL=(ALL)  /bin/*

受權全部 ---排除某一個命令

oldboy  ALL=(ALL)   /bin/*, ! /bin/vi

su      su-  區別

su         切換用戶的時候不更新環境變量

    env       顯示當前的環境變量

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

MAIL=/var/spool/mail/root

PWD=/root

su  -        切換到root用戶並更新環境變量

MAIL=/var/spool/mail/oldboy

PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin

PWD=/home/oldboy

 

記錄下用戶操做 行爲 /日誌審計

分類:

1.齊治的堡壘機:商業產品

2.gateone web 跳板機

3.python開發的開源的跳板機產品

開源跳板機(堡壘機) Jumpserver部署詳解

alex寫的crazyEYE

4.shell跳板機

 

跳板機/堡壘機

日誌,行爲記錄在本地  --誰什麼時間對服務器進行什麼命令

跳板機官網 (瞭解)

http://liftoffsoftware.com/Products/GateOne

http://demo.jumpserver.org

 

 

跳板機能夠實現 sudo的功能

 

yum相關知識

特色:

yum從網上下載

yum下載軟件的地方===yum(軟件倉庫)

 

yum     repolist            查看系統全部的yum

系統默認(三個)

base                       CentOS-6 - Base                                        6,706

extras                     CentOS-6 - Extras                                          47

updates                    CentOS-6 - Updates                                       857

 

增長一個新的yum

epel系統yum源的擴展   Extra Packages for Enterprise Linux 6 - x86_64                 12,447

增長epel源方法:

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup

mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

備份

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

下載

 

epel源地址

http://mirrors.aliyun.com/help/epel                  阿里雲

https://mirror.tuna.tsinghua.edu.cn/help/epel/           清華

http://ftp.sjtu.edu.cn/fedora/epel/                  上海交大

 

 

yum配置文件所在目錄:   /etc/yum.repos.d/

問題:有時候yum安裝不流暢,卡頓

1. 網絡問題,,

2. epel源是阿里

 base   extra  updates  默認是國外的

 

解決:

  更新默認yum源   到阿里找centos的軟件包

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

 

小結:

1. yum(軟件倉庫)

2. 如何更新base源    如何添加epel

3. 常見的yum源  阿里  清華  網易 搜狐

 

直接下載軟件

https://mirrors.aliyun.com/centos/6.9/os/x86_64/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

相關文章
相關標籤/搜索