Linux命令行界面下的用户和组的管理之useradd和passwd命令的使用
useradd [-c comment] [-d dir] [-e expire] [-g group] [-G group1,group2…] [-m [-k skel_dir]] [-u uid]
[-s shell] username
passwd [username]
——————————————————————————————–
useradd命令的解释
-c comment :用户的一般信息描述,comment是一个字符串,但其中不能出现冒号“:”并且不能以字符“#!”作为结束符
-d dir :指定 用户的家目录,dir参数是完整的路径名
-e expire(期满):表示用户账号的截止日期。expire参数是一个以MMDDhhmmyy格式表示的10个字符的字符串,其中MM是月,DD是天,hh是小时, mm是分钟,yy是年份,从1939年到2038年的最后2位数字。所有的字符都是数字,如果expire参数为0,则该账户永不过期。默认值是0
-g group :标识用户的所属组(主要组)。group参数必须包含有效的组名并且不能为空组
-G group1,group2,…标识用户所加入的次要组
-k skel_dir :将默认文件从skel_dir 复制到用户的家目录下,与-m一起配合使用
-m :如果用户的家目录不存在,则自动创建一个。默认情况下建立家目录
-s shell :指定用户登录时使用的shell。shell参数是完整的路径名。有bash tcsh zsh等
-u uid :指定用户的uid号。uid为一个唯一的整数。用户应该避免更改该属性,以免破坏系统安全性
注意:平时使用时,如无特殊需求,无需带过多参数。
————————————————————————————————————————————–
passwd 命令解释
root用户可以修改参数username对应的用户的密码,而普通用户只能修改自己的密码,当仅修改自己的密码时,username可省略
————————————————————————————————————————————–
最简单的用法就是useradd username,使用默认的选项
例如,添加用户
#useradd lily
系统会自动为用户做如下事情:
*为用户lily分配一个新的用户ID号,该值为系统中已有最大用户的ID号加1
*在/etc/passwd和/etc/shadow各添加一行信息
*为lily用户创建新的用户主目录,路径为/home/lily
*为用户创建主要组,名为lily,并在/etc/group中添加一行信息
*设置用户的默认登录shell为/bin/bash
*设置用户的账户永不过期
———————————————————————————————————————————————————–
下面给出useradd命令添加用户的例子
比如:建立一个用户名为Jack,描述信息为Jack,用户组为mary(假设已经存在),登录shell为/bin/bash,家目录为/home/Jack
#useradd -c “Jack” -g mary -s /bin/bash -d /home/Jack Jack
创建好用户之后,可以对用户设置密码.(普通用户只能修改自己的密码)
# passwd Jack
会得到如下的提示
Changing password for user Jack
New passwor: 注意,出于安全考虑,输入密码时并不会显示,输入完毕后按enter确认即可
retype new password:
若两次密码一致,即修改密码成功,会有如下提示
passwd:all authentication tokens updated successfully.
若输入错误,即修改密码失败,重新执行passwd命令即可
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2016-03/129089p2.htm
当使用useradd添加好用户之后,想要做一些修改,这时需要用到usermod命令。
功能说明:修改用户帐号的各项信息。
语 法:usermod [-L | U][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>]
[-l <帐号名称>][-s <指定登录shell>][-u <新的uid>] username
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d<家目录的完整路径> 修改用户登入时的目录。
-e<截止日期> 修改帐号的过期时间。格式为:YYYY-MM-DD
-f<缓冲天数> 当密码过期后,直到该帐户永久失效的天数
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
注意:usermod不允许改变正在系统中使用的用户账户。当usermod用来改变UID,必须确认该用户没有在系统
中执行任何程序。
一般不建议修改用户名和用户ID,因为可能会带来对文件所有者身份变化的麻烦。比如用户在变更前在/mnt
下拥有一个文件test,修改用户名和UID后,该文件的所有人和所属组等相关信息并不会同步变更。也就是说
用户已经无法控制test文件了。
例子:
#useradd waston 添加用户waston
添加成功后,在/etc/passwd中添加了这么一行
waston:x:4036:4038::/home/waston:/bin/bash
#groupadd super 添加一个组
添加成功后,在/etc/group中添加了这么一行
super:x:4037:
#usermod -u 4037 waston 将用户waston的UID更改为4037,也就是super组
更改成功后,在/etc/passwd中更新了这么一行
waston:x:4037:4038::/home/waston:/bin/bash
其他参数的用法类似。不再详述
groupmod和groupdel的使用
NAME
groupmod – modify a group definition on the system
SYNOPSIS
groupmod [options] GROUP
Options:
-g, –gid GID change the group ID to GID
-h, –help display this help message and exit
-n, –new-name NEW_GROUP change the name to NEW_GROUP
-o, –non-unique allow to use a duplicate (non-unique) GID
-p, –password PASSWORD change the password to this (encrypted)
PASSWORD
groupmod命令用于更改一个组在系统上的定义
语法:groupmod [选项] 组名
选项
-g,–gid GID 修改组的GID号
-h,–help 获得groupmod命令的使用帮助信息
-n, –new-name NEW_GROUP 更改组的组名
-o 与-g配置使用,可以设定不唯一的组ID值
-p 修改组的密码
例子:
假设已存在组testbed,gid为4000
#groupmod -n testbed-new testbed 将testbed组名更改为testnbed-new
#groupmod -g 5000 testbed-new 将testbed-new组的组ID更改为5000
——————————————————————————————
NAME
groupdel – delete a group
SYNOPSIS
groupdel group
groupdel命令用于删除一个组
语法:groupdel 组名
这个命令很简单,但是删除组的时候要注意如下说明
说明:如果有任何一个组群的用户在系统中使用,并且要删除的组为该用户的主要组时,泽不能
移除该组群,必须先删除该用户后才能删除该组。另外,在删除用户时,属于该用户的组要组默认该用户
的主要组默认会被同步删除。如果删除的组为次要组,组删除后,组中成员自动从该组中退出。
命令示例:
#cat /etc/group
named:x:25:
ntp:x:38:
gdm:x:42:
supersun:x:501:super
super:x:502:
jerry:x:503:
//删除用户组supersun,其存在一个用户super,所以不能删除
#groupdel super
groupdel:cnanot remove user’s promary group
//删除用户组jerry,该组没有任何用户,删除成功
#groupdel jerry
Linux命令行界面下的用户和组管理之groupmod的使用
NAME
groupmod – modify a group definition on the system
SYNOPSIS
groupmod [options] GROUP
Options:
-g, –gid GID change the group ID to GID
-h, –help display this help message and exit
-n, –new-name NEW_GROUP change the name to NEW_GROUP
-o, –non-unique allow to use a duplicate (non-unique) GID
-p, –password PASSWORD change the password to this (encrypted)
PASSWORD
groupmod命令用于更改一个组在系统上的定义
语法:groupmod [选项] 组名
选项
-g,–gid GID 修改组的GID号
-h,–help 获得groupmod命令的使用帮助信息
-n, –new-name NEW_GROUP 更改组的组名
-o 与-g配置使用,可以设定不唯一的组ID值
-p 修改组的密码
例子:
假设已存在组testbed,gid为4000
#groupmod -n testbed-new testbed 将testbed组名更改为testnbed-new
#groupmod -g 5000 testbed-new 将testbed-new组的组ID更改为5000
命令行界面下用户和组管理之groupadd的使用
groupadd – create a new group
groupadd命令用于创建一个新的组
语法
groupadd [options] group
选项:
-h 获得帮助信息
-g 创建指定GID的用户组
-p 创建组的同时指定组密码
-r –system 创建一个系统用户,UID在1-499
-o, –non-unique 允许创建重复的组
-f 创建组的时候,若组存在,也成功退出
-K, –key KEY=VALUE
Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and
others). Multiple -K options can be specified.
Example: -K GID_MIN=100 -K GID_MAX=499
Note: -K GID_MIN=10,GID_MAX=499 doesn’t work yet.
最后-K选项不知道是干嘛用的?求解释
下面给出例子
#groupadd xiao1
# cat /etc/group | tail -1
xiao1:x:4039: 创建的组xiao1的信息
# groupadd -g 4040 xiao1
groupadd: group ‘xiao1’ already exists 创建失败
#groupadd -g 4039 xiao2
groupadd: GID ‘4039’ already exists 创建失败
#groupadd -g 4040 -o -f xiao1 创建成功
# groupadd -g 4039 -o -f xiao2 创建成功
说明:当-o -f 一起使用的时候,可以成功创建出不唯一的组。当小白我不懂这样做有什么好处?求解释
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129089.htm