Linux用户管理、增加、删除用户及用户组

1.用户管理概念

(1)用户管理的范围

用户帐号管理

组帐号管理

用户/组帐号的权限管理

用户帐号的环境设置

(2)Linux系统用户管理特点

多用户平台(ALT+F1--12)

单用户模式中无需用户

管理方法有两种:命令、图形工具

2.用户帐号的管理

(1)用户帐号的分类

超级用户(UID=0):具有一切系统操作权限

普通用户(UID=500—MAXUID默认值60000):操作权限受到限制

系统用户(UID=1—499):限制了本机登录(只用于远程登录,建立用户时不会建立本地用户配置文件)

注:用户的UID的取值,除0以外,其它值不允许用户取相同的值

(2)用户帐号包含的信息

用户名:用户的字符

口令(密码):

UID:用户唯一标识符

GID:用户组的唯一标识符

所属组

用户主目录:用户登录的初始目录

SHELL类型:设置SHELL程序的种类

3.用户数据文件

(1)/etc/passwd

root:x:0:0:root:/root:/bin/bash
文件内每一行有七项,每一项使用:分开,代表的意思如下:

帐号名称:帐号名称由于对应用户ID,这个是系统默认用户root超级管理员,在同一个系统帐号名称是唯一的,长度根据不同的linux系统而定,一 般是8位。

密码:由于系统中还有一个/etc/shadow文件用于存放加密后的口令,所以在这里这一项是“x”来表示,如果用户没有设置口令,则该项为空。

用户ID:这个是系统内部用于来识别不同的用户的,不同的用户识别码不同,其中用户ID有以下几种:

0代表系统管理员,如果你想建立一个系统管理员的话,可以建立一个普通帐户,然后将该账户的用户ID改为0即可。

1-500系统预留的ID,500以上是普通用户使用。

组ID:其实这个和用户ID差不多,用来规范群组,他与/etc/group有关。

描述信息:这个字段几乎没有什么作用,只是用来解释这个帐号的意义。

用户根目录:就是用户登录系统的起始目录,用户登录系统后将首先进入该目录。root用户默认的是/root,普通用户的是/home/用户名。

用户登录shell:就是用户登录系统时使用的shell。

(2)/etc/shadow

root:$1$FXBbE7XS$R6pHjFcX5j31k5gsEnEdi1:15456:0:99999:7:::
文件内每一行有九项,每一项使用:分开,代表的意思如下:

帐户名称:和passwd对应,和passwd的意思相同。

密码:这才是真正的密码,并且已经加密过了,只能看到一些特殊符号。需要注意的是这些密码很难破解。还有密码栏的第一个字符为“*”表示这个用户不用来登录,如果那个用户不想让他登录了,可以在他前面加个*号。

上次改动密码的日期:这段记录了改动密码的最后日期,为什么是15456呢?这是因为linux计算日期的方法是以1970年1月1日作为1,1971年1月1日就是366,依次类推到我修改密码的日期表示为15456。

密码不可被改动的天数:由于害怕密码被人盗取而危害到整个系统的安全,所以安排了这个字段,你必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入,最好设定一段时间修改密码。确保系统安全。

密码变更期限前的警告天数:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户“再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。

密码失效期:密码过期后的帐号宽限时间,过了这个期限使用者还未更改密码,那该密码就算过期了。密码过期后的帐号还是可以用来进行其他工作(包括登陆系统取得bash),如果密码过期了,当你登陆系统,系统会强制你更改密码才能继续使用,这是密码过期特性。

帐号失效期:如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。

帐号取消日期:这个日期跟第三个字段一样,都是使用1970年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统中,可以规定一个日期让该帐号不能再使用。

保留:最后一个字段是保留的,看以后有没有新功能加入。

(3)/etc/group

root:x:0:root
文件内每一行有四项,每一项使用:分开,代表的意思如下:

群组名称:就是群组的名称了。

群组密码:通常不需设定,因为我们很少使用群组登录。不过这个密码也被记录在/etc/gshadow中了。

群组ID:也就是组ID了。

支持帐号的名称:这个群组的所有帐号。如果你想让用户属于root这个群组,就在第一行最后加上“,username(用户名)”注意添加的时候没有空格。

4.用户管理命令

(1)增加用户

#useradd [-u UID] [-g 群组名称] [-G 额外群组名称] [-mM] [-c用户注释] [-d 用户主目录] [-s shell] 用户名
-c      comment	        用户的注释。
-d      home-dir	用来取代默认的 /home/ username 主目录(用户主目录)。
-e      date	        禁用账号的日期,格式为:YYYY-MM-DD
-f      days	        口令过期后,账号禁用前的天数(若指定了 0 ,账号在口令过期后会被立刻禁用。若指定了 -1 ,口令过期后,账号将不会被禁用)。
-g      group-name	新用户默认组群的组群名或组群号码(该组群在指定前必须存在)。
-G      group-list	新用户是其中成员的额外组群名或组群号码(默认以外的)列表,用逗号分隔(组群在指定前必须存在)。
-m	若主目录不存在则创建它。
-M	不要创建主目录。
-n	不要为用户创建用户私人组群。
-r	创建一个 UID 小于 500 的不带主目录的系统账号。
-p      password	为新用户使用加密的口令。
-s	用户的登录 shell,默认为 /bin/bash 。
-u      uid	        用户的 UID,它必须是独特的,且大于 499。
-o      允许新用户使用已有用户相同的UID

(2)删除用户

#userdel [ -r ]  用户名
-r : 删除用户主目录

(3)设置用户密码

#passwd [-l] [-u] [--stdin] [-S] [-n 天数] [-x天数] [-w 天数] [-i 日期]  用户名
-l 锁用户
-u 解锁用户
-n 天数  密码不可改天数
-x 天数  密码过期天数
-w 天数  警告天数
-i 日期  密码失效日期
-S 列出密码相关参数 

(4)修改用户信息

#usermod  [-cdegGlsuLU]  用户名
-c  备注      修改用户帐号的备注文字。 
-d  登入目录  修改用户登入时的目录。 
-e  有效期限  修改帐号的有效期限。 
-f  缓冲天数  修改在密码过期后多少天即关闭该帐号。 
-g  群组      修改用户所属的群组。 
-G  群组      修改用户所属的附加群组。 
-l  帐号名称  修改用户帐号名称。 
-L  锁定用户密码,使密码无效。 
-s  shell     修改用户登入后所使用的shell。 
-u  uid       修改用户ID。 
-U  解除密码锁定

(5)修改密码参数

#chage [-l][-d 日期][-E 日期][-I 天数][-m 天数] [-M 天数] [-W 天数] 用户名
-l :列出该帐号的详细密码参数
-d :日期,修改 shadow 第三项(最近一次更改密码的日期)格式 YYYY-MM-DD
-E :日期,修改 shadow 第八项(帐号失效日期)格式 YYYY-MM-DD
-I :天数,修改 shadow 第七项(密码失效日期)
-m :天数,修改 shadow 第四项(密码最短保留天数)
-M :天数,修改 shadow 第五项(密码多久需要进行更改天数)
-W :天数,修改 shadow 第六项(密码过期前的警告日期
(6)查看/etc/passwd文件信息

#finger  [-s]   用户名 
-s  :仅列出使用者的帐号、名称、终端机器与登陆时间等等
-m  :列出与用户名相同者

5.组管理命令

(1)增加用户组

#groupadd [-g GID] [-r] 组名
-g :指定GID的值
-r :建立系统用户组(1-499)
-o :允许新建相同GID的群组
-f :强制执行,默认不允许常见相同GID群组,使用此参数能强制执行,而不是用-o参数

(2)修改用户组

#groupmod [-g gid] [-n 组名] 组名
-g : 修改已有群组的GID(不要随意改动GID,容易造成系统资源错乱)
-n : 修改已有群组的名称

(3)删除用户组

#groupdel  组名

(4)添加/删除组成员

#gpasswd [-A 用户名] [-M 用户名] [-r] [-R] [-a 用户名] [-d 用户名]  组名
   :不带参数时,赋予这个群组一个密码(/etc/gshadow)
-A :指定管理员
-M :指定组成员
-r :删除密码
-R :使密码失效
-a :添加用户到组
-d :从组中删除用户

6.批量添加用户、修改用户密码

(1)批量添加用户

#newusers   用户名文件

文件格式:

用户名:x:UID:GID:用户说明:用户的家目录:所用SHELL
例:
test:x:501:501::/home/test:/sbin/nologin
test1:x:502:502::/home/test1:/sbin/nologin
注:Shell类型

/bin/sh
/bin/bash
/sbin/nologin   虚拟用户SHELL,无法登陆系统
/bin/ksh
/bin/tcsh
/bin/csh
(2)批量修改用户密码

#chpasswd     用户密码文件
密码文件格式:
用户名:密码
例:

test:123456
test1:987654




转贴请注明出处:http://blog.csdn.net/chinese_tiger/article/details/7743351


 

 

 


你可能感兴趣的:(linux)