Linux學習之十六-Linux用戶管理
Linux用戶管理
Linux系統跟Windows系統一樣,可以創建不同的用戶,不同的用戶組。在不同用戶下使用系統具有相應的權限
- 創建一個普通用戶時,會修改幾個文件,拷貝一些初始文件到用戶家目錄中
修改的文件路徑為
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
拷貝到用戶家目錄下的文件為
.bash_logout .bash_profile .bashrc
如果錯誤的把root用戶下的這三個文件刪除,再切換回root用戶時會不成功,解決辦法為:
這三個文件的原始存放路徑為/etc/skel/,
只需將其拷貝回root家目錄中即可:cp /etc/skel/.bash* .
最後執行命令source .bash_profile解決問題
2、/etc/passwd的詳細介紹
saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
localhost:x:500:500::/home/oldboy:/bin/bash
cat /etc/passwd截取部分內容
第一列:用戶名
第二列:x代表有密碼
第三列:UID(每個用戶唯一的編號)
第四列:GID(每個組唯一的編號)
第五列:備註(在創建用戶時輸入useradd -c 用戶名 就能指定備註)
第六列:家目錄
第七列:指定登陸之後使用的shell解釋器shell的作用:把用戶的命令解析之後傳給內核來執行
執行命令cat /etc/shells查看shell解釋器的類別
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
3、/etc/shadow的詳細介紹
saslauth:!!:17613::::::
postfix:!!:17613::::::
sshd:!!:17613::::::
tcpdump:!!:17613::::::
localhost:$6$k3Vi5V8s$yf1LQdFvK0nX5UvndAqYJe9vOUFHadvK5Og7N3kOLw4ayG.za/Ft2KmU4Uhe1w8ejN1iL.tRBeMyDwdb7qT66.:17624:0:99999:7:::
cat /etc/shadow截取部分內容,可以通過命令man 5 shadow查看說明
第一列:用戶名
第二列:加密之後的密碼(沒有密碼時是兩個!號)
第三列:上一次密碼改變的時間(距離1970年的天數)
第四列:密碼最少使用時間,0表示不限制(不能頻繁改密碼)
第五列:密碼最多使用時間(限定改密碼的周期)
第六列:密碼警告周期(提前提醒密碼到期的時間)
第七列:密碼禁用周期(密碼到期後禁用用戶的周期)
第八列:指定密碼到期的具體日期
第九列:預留
4、創建用戶的原理
cat /etc/default/useradd查看默認配置
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home 家目錄的基礎目錄
INACTIVE=-1 密碼過期後,賬戶被徹底禁用之前的天數
EXPIRE= 過期時間
SHELL=/bin/bash 指定默認的shell解釋器
SKEL=/etc/skel 指定骨架目錄
CREATE_MAIL_SPOOL=yes 是否創建郵箱
5、UID的範圍
0-100 Linux系統預留
101-499 系統賬號(服務)
500-60000 普通用戶
6、useradd命令
參數及說明Options:
-g --gid GROUP name or ID of the primary group of the new account
指定用戶組 useradd -g 組id b5 或者useradd -g 組名 b5
例子:
useradd -g 814 b5 或者 useradd -g incahome b5
-G --groups GROUPS list of supplementary groups of the new account
指定多個用戶組,useradd -G 多個組名或組id 用戶名
例子:
useradd -G test,incahome,a1 b6
-m --create-home create the user‘s home directory 創建家目錄
-M --no-create-home do not create the user‘s home directory 不創建家目錄
例子:
useradd -M -s /sbin/nologin b8
-p --password PASSWORD encrypted password of the new account
指定固定加密的密碼
例子:
useradd -p ‘ezNHdD48mHkGw‘ c1
生成加密密碼的方式openssl passwd 123456
-s --shell SHELL login shell of the new account
不登錄
例子:
useradd -M -s /sbin/nologin b9
-u --uid UID user ID of the new account
指定用戶uid,方便多臺機器同步共享文件
例:
[root@localhost ~]# useradd -u 608 web
[root@localhost ~]# id web
uid=608(web) gid=608(web) groups=608(web)
不常用的參數
-b 指定基礎目錄
-c 指定備註信息
-d 指定用戶的家目錄
-e 過期時間
-f 禁用時間
7、chage命令
該命令用於密碼時效管理。它可以修改賬號和密碼的有效期
[root@localhost ~]# chage
用法:chage [選項] 登錄
選項:
-d, --lastday 最近日期 將最近一次密碼設置時間設為"最近日期"
-E, --expiredate 過期日期 將帳戶過期時間設為"過期日期"
-h, --help 顯示此幫助信息並推出
-I, --inactive INACITVE 過期 INACTIVE 天數後,設定密碼為失效狀態
-l, --list 顯示帳戶年齡信息
-m, --mindays 最小天數 將兩次改變密碼之間相距的最小天數設為"最小天數"
-M, --maxdays 最大天數 將兩次改變密碼之間相距的最大天數設為"最大天數"
-R, --root CHROOT_DIR chroot 到的目錄
-W, --warndays 警告天數 將過期警告天數設為"警告天數"
8、其他相關命令
usermod 修改用戶參數
groups 查看用戶所在的組
newgrp 切換用戶組,如果切換到其他用戶的用戶組,需要輸入group組密碼
gpasswd 設置組密碼
博主原創文章,轉載請務必註明出處
Linux學習之十六-Linux用戶管理