感谢支持
我们一直在努力

Linux命令行界面下的用户和组管理

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

赞(0) 打赏
转载请注明出处:服务器评测 » Linux命令行界面下的用户和组管理
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏