Linux 学习系列之账号管理
一、用户组管理
1、groupadd 添加账号
语 法:groupadd [-g gid] [-o]] [-r] [-f] groupname
主要参数:
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
应用实例:
建立一个新组,并设置组ID加入系统:
$groupadd -g 344 linuxso
2、groupmod 修改账号
功能说明:更改群组识别码或名称。
语 法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
补充说明:需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
主要参数:
-g <群组识别码> 设置欲使用的群组识别码。
-o 重复使用群组识别码。
-n <新群组名称> 设置欲使用的群组名称。
应用实例:
将用户组名linuxso 改为 linux
$groupmod -n linux linuxso
3、 groupdel 删除账号
功能说明:删除群组。
语 法:groupdel [群组名称]
说 明:需要从系统上删除群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组
应用实例:
将删除用户组名linux
$groupdel linux
4、groups查询当前用户所属的组
newgrp 切换当前用户所属的组
一个用户可以有多个组。可以用命令id来查看当前id
二、用户管理
1、useradd 或者 adduser 添加用户
功能说明:建立用户帐号。
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
语 法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u <用户id>][-p <密码>] [用户帐号]
主要参数:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
说明:
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
应用实例:
创建用户ppnie,所在组为users,家目录为 /home/ppnie,使用shell为/bin/bash
$ useradd ppnie -d /home/ppnie -g users -s /bin/bash
$ passwd ppnie
$ useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
2、usermod 修改用户
功能说明:修改用户帐号。
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s<shell> 修改用户登入后所使用的shell。
-u<uid> 修改用户ID。
-U 解除密码锁定。
应用实例:
将 newuser2 添加到组 staff 中
$ usermod -G staff newuser2
修改 newuser 的用户名为 newuser1
$ usermod -l newuser1 newuser
锁定账号 newuser1
$ usermod -L newuser1
解除对 newuser1 的锁定
$ usermod -U newuser1
使用户 chongpig 的密码在 2009-07-31 前失效
$ usermod -e '07/31/2009' ppnie
3、userdel删除用户
命 令: userdel
功能说明:删除用户帐号。
语 法:userdel [-r][用户帐号]
补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
-f, --force 强力删除
-r, --remove 删除用户登入目录以及目录中所有文件。
应用实例:
删除用户linuxso,但不删除其家目录及文件
$ userdel linuxso
删除用户linuxso,其家目录及文件一并删除
$ userdel -r linuxso
警告: 请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录,切记;如果用户目录下有重要的文件,在删除前请备份.
假如删除的时候忘记带r参数 以后想删除这个用户的文件 可以用下面这条命令
find / --nouser -exec rm - rf {} \
删除所有 用户不存在而遗留的文件(因为用户已被删除,其文件的拥有者为其UID,参数nouser用于删除此类文件)
4、chsh 修改用户的shell
chsh -l 起到的作用是列出当前系统的所有shell
chsh -s /bin/sh 为用户指定shell,先登录需要修改的用户
三、相关文件介绍
1、 /etc/passwd 用户信息
该目录存储的是操作系统用户信息,该文件为所有用户可见。使用shadow密码文件后,/etc/passwd文件中所有帐户的password域的内容为"x",如果password域的内容为"*",则 该帐号被停用。
每一行记录格式与含义:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
给linux系统添加一个帐号:
useradd -g mysql -d /home/test -m test(:新建一个用户test, 属于mysql组,开始目录是/home/test)
然后进入 /etc/passwd,可以看到如下信息,在最后一行可以看到刚加的用户的信息。
2、 /etc/shadow用户密码
现代的Unix系统使用影子密码系统,它把密码从/etc/passwd文件中分离出来,真正的密码保存在/etc/shadow文件中,shadow文件只能由超级用户访问。
每一行记录格式与含义:
账号名称:密码:用户ID:组ID:描述信息:用户根目录
还有密码栏的第一个字符为“*”表示这个用户不用来登录,如果那个用户不想让他登录了,可以在他前面加个星;第一个字符为“!”号表示该用户被禁用,一般新创建的账号后还未设置密码该账号就是禁用状态,使用“!!”表示;第一个字符为“空”的话,代表该用户没有口令,登录时不需要口令。
例:more /etc/shadow
3、 /etc/group用户组信息
每一行记录格式与含义:
组名:口令:组标识号:组内用户列表
例:more /etc/group
该贴被panpan.nie编辑于2015-5-13 19:02:33