用戶存在的意義:限定權力
用戶組存在得意義:開放權力shell
whoami #查看當前用戶
id:用戶身份的惟一表示
idvim
-u ##查看用戶uid -g #查看用戶的初始組gid -G #查看用戶所在的全部組的id -n #查看名字而不顯示id數字,須要與其餘命令組合使用
示意圖:工具
su - 用戶名 #-表示用戶身份切換時同時切換環境變量:保證所使用的工具都能存在環境變量裏,可用相對路徑尋找
su - 執行時,高級用戶切換到低級用戶時,不須要密碼;低級用戶切換到高級用戶須要;平級用戶相互切換也須要密碼ui
示意圖:加密
注意:spa
每次su切換到其餘用戶操做以後,必須退出。而後再次切換到其餘用戶 ctrl+d=logout 退出當前用戶身份 exit=poweroff 關閉身份退出 #錯誤使用語句su student,必須使用exit
用戶信息文件:七段3d
用戶名稱:密碼(保留這一位,但不用):uid:gid(初始組):說明(用戶登錄窗口顯示):家目錄:默認shell
示意圖:code
用戶組信息blog
組的名字:組密碼:組id:組成員
示意圖:圖片
認證信息文件
用戶名稱 用戶密碼 用戶密碼最後一次被更改的時間 密碼最短有效期:時間內不能修改密碼 密碼最長有效期:時間內必須更改一次 密碼警告期限 密碼非活躍期限:賬號被凍結前 密碼到期日:賬號存在, 用戶自定義位置,目前沒有啓用 修改shadow時,不會修改/etc/passwd的內容 !!用戶 #用戶不能修改密碼 ! pass -l westos #解鎖westos !! usermod -U westos
示意圖:
用戶的骨文件,默認開啓shell的配置
用戶的家目錄
userdel
userdel student #刪除用戶student但不刪除用戶的配置文件 userdel -r student #刪除用戶student及其全部配置文件
用戶信息監控命令
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home' #以1秒重複後面的命令,home下面會有用戶家目錄(「;」表示多條命令可在一行,存在前後順序) -->打開另外一個shell -->useradd username -->顯示會變化
示意圖:
注意:
超級用戶id 0 普通用戶id >&=1000
創建用戶時,讀取/etc/login.defs 文件內容肯定規則
useradd
創建一個用戶時,也會建立一個組,組id和用戶gid相同 使用如下語句時,須要先刪除用戶才能進行下一個參數修改 usersdd -u uID/8888 username #指定用戶的UID爲8888 useradd -g gID/21 用戶名 #指定用戶初始組id ,‘21’用戶組必須存在 useradd -G GID/21 用戶名 #添加到附加組「21」(初始組也存在),「21」用戶組必須存在&id 用戶名 #查看用戶ID useradd -c "hello" 用戶名 #添加說明「hello」 usedadd -d /home/lee 用戶名 #修改家目錄/home/lee useradd -s /bin/sh 用戶名 #指定用戶的默認shell
注意:
初始組和附加組都須要存在
groupadd
groupadd -g 888 組名 #創建用戶組並指定組的id(不能是已經存在的組id) groupdel 組名 #刪除用戶組
usermod
usermod -l 新名稱 westos #更改用戶名稱爲新名稱 usermod -u 6666 westos #更改用戶uid usermod -g 21 westos #更改用戶初始組 usermod -G 1000 westos #更改進附加組組id=1000 usermod -aG 72 westos #添加附加組id=72 usermod -G 「」 westos #刪除全部附加組 usermod -c 「family」 westos #指定用戶說明文字 usermod -d /home/sheen westos #更改用戶家目錄的指向,不會更改家目錄名字 usermod -md /home/sheen westos #更改用戶家目錄+指向 usermod -s /bin/sh westos #修改用戶默認的shell userond -L westos #鎖定用戶後,普通用戶之間不能交互 usermod -U westos #解鎖用戶
示意圖:
添加密碼-->passwd westos-->log out
usermod -s /usr/sbin/nologin westos ##退出系統從新登錄時,系統拒絕被westos訪問,不能登入
示意圖:
密碼是認證信息的一部分
/etc/shadow #認證信息文件
此文件一共有九個參數(參數以冒號結束)
passwd westos #更改用戶密碼
passwd -l westos #用戶密碼前加入「!!」 passwd -u westos usermod -L westos #用戶密碼前加入「!」 usermod -U westos passwd -d westos #清空用戶密碼
示意圖:
注意:
普通用戶改密碼時 1.必須知道帳戶原始密碼 2.密碼不能和賬號名稱類似 3.密碼不能是純數字或純字母 4.密碼不能是有序的字母和數字的組合 普通用戶不能相互修改密碼 !! #用戶不能修改密碼
注意密碼是否鎖定,鎖定時須要先解鎖,才能修改密碼
最近一次密碼被修改的時間
passwd -e westos #會改變用戶最後一次更改密碼時間爲0,強制修改密碼後,才能進系統,只執行一次 chage -d 0 westos #兩個命令功能相似
這段時間內不能修改密碼
passwd -n 1 westos #用戶在一天以內不能修改密碼 chage -m 1 westos #相似
這段時間內密碼必須更改一次
passwd -x 30 westos #設定用戶30天內必須改密碼 chage -M 30 westos #相似
密碼失效前的提醒天數
passwd -w 2 westos #密碼過時前兩天有警告輸出 chage -W 2 westos #相似
賬號被凍結的時間,最小爲0
passwd -i 1 westos #密碼過時後仍可登陸系統的天數2天 chage -I 1 westos #相似
超過限定時間,用戶會被凍結
chage -E 2018-11-11 westos #用戶會在2018-11-11會被凍結
示意圖:
/etc/sudoers #用戶受權配置文件
visudo #與vim不一樣,在修改文件內容時會有語法報錯,
在文件100行左右添加: 普通用戶 主機名稱=(轉換成的新用戶身份) 命令1, 命令2, ... 普通用戶 主機名稱=(轉換成的新用戶身份) NOPASSWD: 命令
示例:
westos desktop0.example.com=(root) /usr/sbin/useradd, /user/sbin/userdel #執行命令不須要密碼 westos desktop0.example.com=(root) NOPASS: /usr/sbin/useradd, /user/sbin/userdel #免密執行 su - westos sudo useradd hello #修改sudo文件須要加路徑,調用命令時不用 hostname #查看本機名稱
示意圖: