歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux用戶管理方法詳解

Linux用戶管理方法詳解

日期:2017/2/25 10:39:34   编辑:Linux教程
一、與用戶管理相關的配置文件;

1、/etc/passwd有關賬戶的信息,包括UID、GID、用戶名、用戶目錄及用戶SHELL;
/etc/shadow包含用戶密碼
/etc/groups用戶組的配置文件,內容包括用戶和用戶組,並且能顯示出用戶是歸屬哪個用戶組或哪幾個用戶組。
/etc/gshadow是/etc/group的加密資訊文件,比如用戶組(Group)管理密碼就是存放在這個文件。

2、超級權限控制 sudo 的配置文件/etc/sudoers

beinan ALL=(root) /bin/chown, /bin/chmod

如果我們把第一個實例中的那行去掉,換成這行;表示的是beinan 可以在任何可能出現的主機名的主機中,可以切換到root下執行 /bin/chown ,可以切換到任何用戶招執行/bin/chmod 命令,通過sudo -l 來查看beinan 在這台主機上允許和禁止運行的命令;

beinan ALL=(root) NOPASSWD: /bin/chown,/bin/chmod

如果換成這個例子呢?表示的是beinan 可以在任何可能出現的主機名的主機中,可以切換到root下執行 /bin/chown ,不需要輸入beinan用戶的密碼;並且可以切換到任何用戶下執行/bin/chmod 命令,但執行chmod時需要beinan輸入自己的密碼;通過sudo -l 來查看beinan 在這台主機上允許和禁止運行的命令;

3、添加用戶規則文件 /etc/login.defs 和 /etc/default/useradd

二、添加用戶工具和方法

1、添加用戶工具有useradd和adduser ,這兩個工具所達到的目的都是一樣的。

useradd 不加參數選項時,後面直接跟所添加的用戶名時,系統時讀取添加用戶配置文件/etc/login.defs和/etc/default/useradd文件,然後讀取/etc/login.defs和/etc/default/useradd中所定義的規則添加用戶;並向/etc/passwd和/etc/groups文件添加用戶和用戶組記錄;當然/etc/passwd和/etc/groups的加密資訊文件也同步生成記錄;同時發生的還有系統會自動在/etc/add/default中所約定的目錄中建用戶的家目錄,並復制/etc/skel中的文件(包括隱藏文件)到新用戶的家目錄中;

如:useradd beinanLinux 通過more /etc/passwd | grep beinanlinux查詢是否添加成功
useradd -c ChinaCpu -d /opt/longcpu -G Linuxsir,root,beinan -s /bin/tcsh longcpu 添加用戶longcpu ,真實名是ChinaCpu ,家目錄設置在 /opt/longcpu ,是linuxsir,root,beinan 用戶組成員, SHELL是tcsh
useradd -e 11/04/2005 cooler 注:添加用戶cooler,並設置其有效期為2005年11月04日;

2、還可以通過修改/etc/passwd /etc/groups的辦法來實現。

在/etc/passwd 中,每一行都表示的是一個用戶的信息;一行有7個段位;每個段位用:號分割,比如下面是我的系統中的/etc/passwd 的兩行;

beinan:x:500:500:beinan sun:/home/beinan:/bin/bash
Linuxsir:x:505:502:linuxsir open,linuxsir office,13898667715:/home/linuxsir:/bin/bash
beinan:x:500:500:beinan sun:/home/beinan:/bin/bash
Linuxsir:x:501:502::/home/linuxsir:/bin/bash

第一字段:用戶名(也被稱為登錄名);在上面的例子中,我們看到這兩個用戶的用戶名分別是 beinan 和Linuxsir;
第二字段:口令;在例子中我們看到的是一個x,其實密碼已被映射到/etc/shadow 文件中;
第三字段:UID ;請參看本文的UID的解說;
第四字段:GID;請參看本文的GID的解說;
第五字段:用戶名全稱,這是可選的,可以不設置,在beinan這個用戶中,用戶的全稱是beinan sun ;而Linuxsir 這個用戶是沒有設置全稱;
第六字段:用戶的家目錄所在位置;beinan 這個用戶是/home/beinan ,而Linuxsir 這個用戶是/home/linuxsir ;
第七字段:用戶所用SHELL 的類型,beinan和Linuxsir 都用的是 bash ;所以設置為/bin/bash ;

3、添加用戶組命令 groupadd

groupadd -g 666 google

三、passwd 設置或修改用戶密碼;

1、passwd 簡單說明

passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;請看下面的例子;

[root@localhost ~]# passwd 注:沒有加任何用戶,我是用root用戶來執行的passwd 表示修改root用戶的密碼;下面也有提示;
Changing password for user root.
New Unix password: 注:請輸入新密碼;
Retype new Unix password: 注:驗證新密碼;
passwd: all authentication tokens updated successfully. 注:修改root密碼成功;



如果是普通用戶執行passwd 只能修改自己的密碼;

如果新建用戶後,要為新用戶創建密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來創建;

[root@localhost ~]# passwd beinan 注:更改或創建beinan用戶的密碼;
Changing password for user beinan.
New Unix password: 注:請輸入新密碼;
Retype new Unix password: 注:再輸入一次;
passwd: all authentication tokens updated successfully. 注:成功;

2、chage 修改用戶密碼有效期限的命令

chage [-l] [-m 最小天數] [-M 最大天數] [-W 警告] [-I 失效日] [-E 過期日] [-d 最後日] 用戶

四、刪除用戶和用戶組的工具, userdel和 groupdel 介紹;

1、userdel

userdel很簡單,只有一個參數可選 -r ;如果加參數-r ,表示在刪除用戶的同時,一並把用戶的家目錄及本地郵件存儲的目錄或文件也一同刪除;比如我們現在有兩個用戶bnnb和lanhaitun,其家目錄都位於/home目錄中,現在我們來刪除這兩個用戶;


[root@localhost ~]# userdel bnnb 注:刪除用戶bnnb,但不刪除其家目錄及文件;
[root@localhost ~]# ls -ld /home/bnnb 注:查看其家目錄是否存在;
drwxr-xr-x 14 501 501 4096 8月 29 16:33 /home/bnnb 注:存在;

[root@localhost ~]# ls -ld /home/lanhaitun 注:查看lanhaitun家目錄是否存在;
drwx------ 4 lanhaitun lanhaitun 4096 11月 5 14:50 /home/lanhaitun 注:存在;

[root@localhost ~]# userdel -r lanhaitun 注:刪除用戶lanhaitun,其家目錄及文件一並刪除;

[root@localhost ~]# ls -ld /home/lanhaitun 注:查看是否在刪除lanhaitun 用戶的同時,也一並把其家目錄和文件一同刪除;
ls: /home/lanhaitun: 沒有那個文件或目錄 注:已經刪除;

2、groupdel的用法:groupdel 用戶組

五、修改用戶的工具介紹;

1、chfn 修改用戶信息工具

chfn 用戶名


[root@localhost ~]# chfn beinanLinux 注:更改用戶beinanlinux的信息;
Changing finger information for beinanLinux.
Name []: BeiNan.Linux 注:用戶全名BeiNan.Linux ,隨便寫一個就行;
office []: ChinaDL
office Phone []: 66666666
Home Phone []: 99999999

Finger information changed. 注:更改完成;通過finger beinanLinux查看修改結果

2、chsh 改變用戶的SHELL類型;

finger beinanLinux |grep Shell 注:查看用戶beinanlinux 所用的SHELL類型;
chsh -s /bin/ksh beinanLinux 注:更改beinanlinux所用的shell 為ksh

3、usermod 用戶修改工具(極其強大)

usermod 不僅能改用戶的SHELL類型,所歸屬的用戶組,也能改用戶密碼的有效期,還能改登錄名。usermod 如此看來就是能做到用戶帳號大轉移;比如我把用戶A改為新用戶B;

警告: usermod 最好不要用它來改用戶的密碼,因為他在/etc/shadow中顯示的是明口令;修改用戶的口令最好用passwd ;

4、userinfo 圖形介面的修改工具;

userinfo 系統普通用戶都能調用,但都是修改當前操作用戶的;還是點鼠標完成吧,多點幾下就OK了。

5、id工具 查看用戶、用戶所歸屬的用戶組、UID 和GID 的查看
6、finger 用戶名、電話、家目錄、登錄SHELL類型、真實姓名、空閒時間等的查詢
7、goups 查詢用戶組
8、su切換到超級用戶:su (su - root)
切換到普通用戶:su - feisky
Copyright © Linux教程網 All Rights Reserved