1. 程式人生 > >Linux學習之十六-Linux用戶管理

Linux學習之十六-Linux用戶管理

host 通用 sla 文章 create HR test 範圍 HA

Linux用戶管理

Linux系統跟Windows系統一樣,可以創建不同的用戶,不同的用戶組。在不同用戶下使用系統具有相應的權限

  1. 創建一個普通用戶時,會修改幾個文件,拷貝一些初始文件到用戶家目錄中

修改的文件路徑為

/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用戶管理