linux之用戶的相關操作

1. 用戶的創建、刪除以及監控

 /etc/passwd
  • 用戶信息文件
    例如:root : x : 0 : 0 : root : /root : /bin/bash
    用戶名稱(root):密碼(x):用戶id(0):組id(0):用戶說明信息(root):用戶家目錄(/root):用戶默認使用的shell(/bin/bash)
    上面的密碼(x)只是一個佔位符號,密碼存在別的地方

    /etc/group

    -用戶組信息
    如main:x:12:postfix
    組名稱:組密碼:組id:附加組成員
    /etc/skel
    -用戶的骨信息(用戶環境配置模板,在用戶建立時會自動被複制到家目錄)

1)創建用戶
/etc/login.defs

此文件中包含創建用戶時的默認信息

指令 作用
useradd username 用默認配置創建用戶
useradd -u UID username 指定uid創建用戶
useradd -g UID username 指定初始組id創建用戶,這個初始組必須是存在的
useradd -G Gid username 指定附加組id創建用戶,這個附加組必須存在
useradd -c “Stirng” username 指定說明文字創建用戶
useradd -d /mnt/username username 指定家目錄創建用戶
useradd -s /bin/tcsh username 指定shell創建用戶

這裏寫圖片描述
在創建用戶的時候可以根據以上列表中的指令去制定用戶的信息

2)用戶查看
指令 參數 使用對象 作用
whoaml 查看當前的名稱
id username 查看用戶的id信息
id -u username 查看用戶的uid
id -g username 查看用戶的gid
id -G username 查看用戶所在的所有組的id
id -n username 以名稱顯示信息

這裏寫圖片描述
因爲以上創建用戶時未自定義用戶的信息,所以用戶數據按照系統默認來處理

3)監控命令
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home/'

該指令是進入監控用戶畫面,其中的watch指令是:每隔2秒執行引號內的指令;”-n 1”:是指每隔1秒執行引號內的指令;”echo ====”:是指用====將用戶信息分割開
ls -l /home/:這裏是將系統中的用戶數據以長列表的形式展現出來
這裏寫圖片描述

4)刪除用戶

userdel username:刪除了用戶身份
這裏寫圖片描述
 當你以上述方法刪除用戶的時候,系統不會報錯,但是你只是刪除了用戶的身份,並沒有刪除該用戶其中的配置文件,相當於沒有刪除乾淨
這裏寫圖片描述
 在監控的時候,依舊還有已經刪除掉的linux用戶的相關文件,所以我們還需要刪除它的那些相關配置
這裏寫圖片描述

 這樣就可以徹底刪除linux用戶以及它的相關文件

提示:
 當你刪除用戶的殘留文件的時候,rm -fr /home/linux這裏的/home/linux是指你的用戶所在的目錄路徑,這裏不能寫錯,不然又可能會刪錯其他文件

userdel -r username:刪除用戶身份及用戶涉及的配置文件
 當你用這個方法時就可以直接徹底的刪除用戶了,所以我們在刪除用戶的時候,記得不要忘記中間的 “-r”

5) 系統中的shell

查看系統中安裝的shell,指定shell創建用戶只能從系統中已有的shell選擇

cat  /etc/shells

這裏寫圖片描述

/sbin/nologin
/usr/sbin/nologin

這兩個shell沒有交互界面,用這兩個shell創建的用戶不能操作系統

6)創建組
指令 用戶 作用
groupadd groupname 建立組
groupadd -g GID groupname 建立組指定id
groupdel groupname 刪除組

這裏的創建組只是在 用戶組/etc/group該目錄下多創建了一個組,當我們vim 進入該目錄時就會看見你新創建的組

2.用戶的修改

指令 作用
userdom -l newusername username 修改用戶的名字
usermod -u UID username 修改uid
usermod -g GID username 修改用戶的初始組id,初始組必須時已存在
usermod -G Gid username 修改附加組,但是會清空原來的附加組
usermod -aG Gid username 追加附加組,並會保留之前的附加組
usermod -G “” username 清空附加組
usermod -c “String” username 修改說明文字,爲空代表清楚說明文字
usermod -d /home/lee username 修改家目錄指向,這個只是修改只是修改了配置文件的目錄地址,但是並沒有修改目錄本身
usermod -md /home/lee username 修改家目錄並修改目錄本身的名字
usermod -s /bin/tcsh username 修改shell
  • 修改用戶的名字:

這裏寫圖片描述
可以從下圖看出我們的用戶姓名從linux改爲hello
這裏寫圖片描述
我把上面的修改過的用戶姓名又修改過來成linux,當我們修改用戶的初始組以及附加組
這裏寫圖片描述
由下圖可以看出我們將初始組已經修改成72,附加組修改成21,但是無論是初始組還是附加組都必須在已存在的用戶組中挑選一個id去執行
這裏寫圖片描述

usermod -aG 1001 linux

這裏寫圖片描述
由上圖可以看出linux用戶在id爲21和1001的用戶組中,但是當我們用-G去添加的時候就會把附加組改爲1001,之前的id爲21的附加組就會被替換,而-aG就是可以使一個用戶同時在多個用戶組中,這就是二者的區別

  • 修改文字說明:
usermod -c "hello" westos

這裏寫圖片描述
只需要我們在引號中寫入說明文字就可以了

  • 修改家目錄
usermod -d /home/amazing linux
usermod -md /home/amazing linux

接下來讓我們看看二者的區別:
這裏寫圖片描述
由上圖可以看出家目錄已經被修改成amazing,但是當我們去查詢這個目錄的時候卻被告知該目錄不存在:
這裏寫圖片描述
 這個就是隻是更改了用戶所在的家目錄地址,但是並沒有修改目錄本身
 舉個例子:當一個學生使用-d與廚師互換了身份,這個學生只是變成了廚師的樣子,但是他卻不會做飯只是改變了樣子而已,但是使用-md互換後,這個學生不但變成了廚師的樣子,而且還會做飯,這就是二者的區別

3.用戶的切換

前面我們學習了創建用戶,修改用戶,接下來我們看看用戶的切換,當我們進入linux系統,打開shell既可以操作切換用戶了

su - username

提示:

  • 但我們從高級用戶切換到低級用戶時不需要密碼
  • 但是從低級用戶切換到高級用戶時或者切換到平級用戶,就需要密碼了
  • 再進行用戶的切換時,切換完後需要退出(exit)然後再去切換下一個用戶,否則一直重複切換會出現錯誤
  • 當我們進行用戶切換的時候,會發現su - username和su username都可以進行切換,但是二者的且別與上面的學生廚師互換有點相似,su username只是切換了用戶的姓名但是該有的權限卻沒有切換過來,而su - username就代表互換了用戶身份跟用戶權限,所以我們在進行用戶的切換時一定要注意。

4.用戶的認證信息

tail -n 1 /etc/shadow

這條指令是查看用戶的認證信息
這裏寫圖片描述
由上圖的用戶認證信息由8個”:”可以分爲9部分:

指令 含義
linux 代表的是用戶
!! 這裏是你的密碼,因爲我沒有設置密碼所以會出現!!
17753 這裏代表的是密碼最後被修改的時間
0 密碼的最短有效期
99999 密碼的最長有效期
7 密碼的過期警告
倒數第三個空白 密碼非活躍期(就是當你的密碼到期後但還沒有修改會再給你幾天時間等你去修改,這幾天就是非活躍期)
倒數第二個空白 帳號到期時間(到達該時間就會凍結帳號無法使用)
最後一個空白 這裏沒有設定,用戶可以自定義填寫
1)密碼的修改
指令 含義
passwd username 設置密碼(只有是超級用戶纔可以隨意修改密碼)
passwd 普通用戶修改密碼,修改時會要求密碼有一定的強度
passwd -d username 清空密碼
passwd -l username 高強度凍結密碼
passwd -U username 解鎖密碼
usermod -L username 凍結密碼
  • 設置密碼:
    當你創建一個用戶時需要設置密碼:
    這裏寫圖片描述
  • 凍結密碼的兩種方式區別:
    這裏寫圖片描述
    這裏寫圖片描述
    由上圖可以看出passwd方法凍結密碼在密碼部分前面有倆個!,而usermod方法只有一個!,代表的凍結強度不同(usermod方法中間的字母是大寫字母)
2)修改密碼最後被修改的時間
chage -d 4 username

 這裏可以修改爲其他數字

passwd -e username

 這裏不能添加數字,上述指令是指定修改時間爲0
提示:
 當我們將密碼的最後修改時間修改爲0的時候,就會在用戶登陸時會被強制修改密碼

3)修改最短有效期
chage -m 3 username
passwd -n 4 username

這裏寫圖片描述

watch tail -n 1 /etc/shadow

輸入以上指令就可以在有效期部分看見修改後的數字了

這裏寫圖片描述

4)修改最長有效期
chage -M 30 username
passwd -x 40 username

這裏寫圖片描述

5)修改非活躍天數
chage -I 2 username
passwd -i 3 username

這裏寫圖片描述

6)修改過期集警告:
chage -W 2 username
passwd -w 3 username

這裏寫圖片描述

7)修改帳號到期時間
chage -E 2018-11-11 username

這裏寫圖片描述
提示:
 這裏的日期要以data形式去寫,系統會自動換算成天數去增加

5.用戶權力的下放

 前面我們瞭解如何進行用戶切換,我們知道超級用戶可以創建新的用戶,可以作好多普通用戶做不了的事情,那麼當我們切換到普通用戶的時候怎麼才能創建用戶和做一些超級用戶可以去完成的事情呢?
這就要需要我們去更改用戶的權力了

1)首先我們先查看當前的主機名

這裏寫圖片描述

2)然後進行配置命令

visodu進入代碼頁面
這裏寫圖片描述
上面界面中##代表的是註釋,然後我們選擇在100行左右添加我們需要讓執行的權力

3)執行的命令:用戶名稱 主機名=(執行程序的身份)命令
  • 給普通用戶添加創建新用戶的方法:
linux localhost=(root) /usr/sbin/useradd

上述方法完成後創建新用戶時是需要進行密碼登陸的

4)用戶名稱 主機名稱=(執行者身份) NOPASSWD:命令1, 命令2
  • 給普通用戶執行創建和刪除新用戶,並不用密碼登陸
 linux localhost=(root) NOPASSWD:/usr/sbin/useradd, /usr/sbin/userdel

這裏寫圖片描述
像上圖一樣輸入黑條代碼完成指令

5)切換普通用戶

這裏寫圖片描述

  • 在切換成功後記住得在普通用戶前面添加sudo纔可以創建新用戶,當我們不寫sudo去執行命令時就會出現以下情況:
    這裏寫圖片描述
    提示:
     以上操作我們只是添加了普通用戶添加新用戶和刪除用戶的指令,如果想讓我們的普通用戶做更多的事情,就需要去步驟2中去添加更多的指令
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章