码迷,mamicode.com
首页 > 系统相关 > 详细

[Linux] 账户管理命令useradd, groupadd

时间:2016-01-14 16:10:34      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:

用户和用户组

  Linux用户组的所有信息都存放在/etc/group文件中。具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。

    将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组

    用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:组名:口令:组标识号:组内用户列表

    具体解释:

    组名:组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

    口令:口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。

    组标识号:组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.

    组内用户列表:是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

 例如 root:x:0:root,linuxsir,用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户。

组管理

1)groupadd 用于添加一个用户组。
格式:groupadd [-g -o GID] GROUP
其中:
 GROUP:是要添加的组名 
 -g:用于指定 GID,默认为使用当前最大的 GID 加1
 -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
举例:
 1. 添加一个新组 leader
   # groupadd leader
   # grep leader /etc/group
   leader:x:504:
   # grep leader /etc/gshadow
   leader:!::
 
2)groupmod 用于修改系统已存在的用户组属性。
格式:groupmod [options] GROUP 
其中:
 GROUP:为要修改的组账户名
 常用选项:
 -g GID:重新指派 GID
 -n NEW_GROUP:更改组名为 NEW_GROUP
举例:
 1. 将 leader 组更名为 leaders
    # groupmod -n leaders leader
    # grep leader /etc/group
    leaders:x:504:
 2. 将 leaders 组的 GID 改为 3000
    # groupmod -g 3000 leaders
    # grep leader /etc/group
    leaders:x:3000:
 
3)groupdel 用于删除系统已存在的组账号。
格式:groupdel GROUP 
其中:GROUP 为要删除的组账户名
例如:删除 leaders 组
    # groupdel leaders 
    # grep leaders /etc/group
    # grep leaders /etc/gshadow
 
4)newgrp用于切换用户组。
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限,newgrp主要用于在多个用户组之间进行切换,
语法格式为:newgrp <用户组>
例如:将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
    # newgrp root

用户管理

1)useradd 用于添加用户账号或设置添加用户使用的默认信息。格式如下:
格式1:useradd [options] LOGIN
格式2:useradd -D
格式3:useradd -D [options]
说明:
  格式1:用于添加用户账号,LOGIN为用户登录账号
  格式2:用于显示添加用户使用的默认信息
  格式3:用于设置添加用户使用的默认信息
添加用户选项:
  -u UID 指定新用户的 UID,默认为使用当前最大的 UID加1,此值必须为唯一的ID值,除非用-o选项。
  -g GROUP 指定新建用户登录时所属的默认组,或者叫主组。此群组必须已经存在。
  -G GROUP1[,GROUP2,…[,GROUPN]]] 指定新用户的附加组
  -d HOME_DIR 指定新用户的登录目录
  -s SHELL 指定新用户使用的 Shell,默认为 bash
  -m 创建新用户的home目录,默认值
  -M 不创建新用户的自家目录
使用举例:
 1. 创建一个新用户 newuser,同时创建用户home目录
     # useradd newuser
 2. 创建一个新用户 tom,同时加入附加组中
     # useradd -G staff tom
     # useradd -s /bin/sh -g group –G adm,root gem
 3. 创建一个新用户 webmaster,不创建用户home目录,指定登录目录 /www,同时加入apache附加组中
     # useradd -d /www -M -G apache webmaster
 
2)usermod 用于修改系统已存在的组账号。格式如下:usermod [options] LOGIN
其中:
 LOGIN:为要修改的用户账号名
 options:常用的选项包括-c, -d, -m, -M, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
添加了如下选项:
  -a 代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用
  -l NEW_LOGIN 修改用户帐号为NEW_LOGIN。
  -f 失效日 帐号过期多少天后永久禁用。
  -e 过期日 增加或修改用户账户的过期时间。
  -L 锁定用户密码,使密码无效。
  -U 解除密码锁定。
举例:
1. 将 newuser2 添加到组staff 中
    # usermod -G staff newuser2
2. 修改 newuser 的用户名为 newuser1
    # usermod -l newuser1 newuser
3. 要增加用户 cnzhx 到apache组,可以使用下面的指令
    # usermod -a -G apache cnzhx
    # id cnzhx
4. 如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项
    # usermod -g apache chzhx
    # id chzhx
5. 锁定账号 newuser1
    # usermod -L newuser1
6. 解除对 newuser1 的锁定
    # usermod -U newuser1
 
3)userdel 用于删除系统已存在的组账号。
格式:userdel [-r] LOGIN
其中:
 LOGIN:为要删除的用户账号名
 -r:同时删除用户的自家目录和 mail 的假脱机文件
例如:
1. 删除用户 webmaster
    # userdel webmaster
2. 删除用户 newuser1,同时删除其自家目录
    # userdel -r newuser1
 
4)passwd 修改用户密码。格式:passwd [option] LOGIN
可使用的选项:
  -l 锁定口令,即禁用账号。
  -u 口令解锁。
  -d 使账号无口令。
  -f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。

用户管理工具

1)管理用户(user)的工具或命令

useradd    注:添加用户
adduser    注:添加用户
passwd     注:为用户设置密码
usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov      注:同步用户从/etc/passwd 到/etc/shadow
pwck       注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv   注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger     注:查看用户信息工具
id         注:查看用户的UID、GID及所归属的用户组
chfn       注:更改用户信息工具
su         注:用户切换工具
sudo       注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo     注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit   注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令
groupadd    注:添加用户组;
groupdel    注:删除用户组;
groupmod    注:修改用户组信息
groups      注:显示用户所属的用户组
grpck
grpconv     注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv   注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

Reference

  • http://cnzhx.net/blog/linux-add-user-to-group/
  • http://blog.csdn.net/ithomer/article/details/9971003
 
 
 
 

[Linux] 账户管理命令useradd, groupadd

标签:

原文地址:http://www.cnblogs.com/qingwen/p/5130251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!