用户和组管理类命令

用户和组管理类命令

useradd

useradd命令用于Linux中创建的新的系统用户

语法

    useradd(选项)(参数)

选项

    -c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
    -d<登入目录>:指定用户登入时的启始目录;
    -D:变更预设值;
    -e<有效期限>:指定帐号的有效期限;
    -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
    -g<群组>:指定用户所属的群组;
    -G<群组>:指定用户所属的附加群组;
    -m:自动建立用户的登入目录;
    -M:不要自动建立用户的登入目录;
    -n:取消建立以用户名称为名的群组;
    -r:建立系统帐号;
    -s<shell>:指定用户登入后所使用的shell;
    -u<uid>:指定用户id。

参数

用户名:要创建的用户名

实例

  • 新建用户
    [root@localhost ~]#useradd centos
    [root@localhost ~]# id centos
    uid=1000(centos) gid=1000(centos) groups=1000(centos)
    
  • 新建用户加入组
    [root@localhost ~]# useradd test1 -g centos -G test,testuser //-g:加入主要组、-G:加入次要组
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1001(test),1002(testuser)
    
  • 新建用户,并制定设置ID
    [root@localhost ~]# useradd test2 -u 567
    [root@localhost ~]# id test2
    uid=567(test2) gid=1004(test2) groups=1004(test2)
    

    设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。


userdel

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

语法 userdel(选项)(参数)

选项

    -f:强制删除用户,即使用户当前已登录;
    -r:删除用户的同时,删除与用户相关的所有文件。

参数

用户名:要删除的用户名。

实例

    userdel test1  //删除用户test1,但不删除其家目录及文件;
    userdel -r test2 //删除用户test2,其家目录及文件一并删除;

usermod

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

语法

    usermod(选项)(参数)

选项

    -a:仅和-G一起使用,将用户增加到附属群组
    -c<备注>:修改用户帐号的备注文字;
    -d<登入目录>:修改用户登入时的目录;
    -e<有效期限>:修改帐号的有效期限;
    -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
    -g<群组>:修改用户所属的群组;
    -G<群组>;修改用户所属的附加群组;
    -l<帐号名称>:修改用户帐号名称;
    -L:锁定用户密码,使密码无效;
    -s<shell>:修改用户登入后所使用的shell;
    -u<uid>:修改用户ID;
    -U:解除密码锁定。

参数

登录名:指定要修改信息的用户登录名。

实例

  • 将test1 的附属群组改为linux
    [root@localhost ~]# usermod -G linux test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1003(linux)
    
  • 将test1 增加附属群组testuser
    [root@localhost ~]# usermod -aG testuser test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1000(centos) groups=1000(centos),1002(testuser),1003(linux)
    
  • 将test1 所属群组改为 test
    [root@localhost ~]# usermod -g test test1
    [root@localhost ~]# id test1
    uid=1004(test1) gid=1001(test) groups=1001(test),1002(testuser),1003(linux)
    
  • 将test1 用户名改为testusers
    [root@localhost ~]# usermod -l testusers test1      
    [root@localhost ~]# id testusers
    uid=1004(testusers) gid=1001(test) groups=1001(test),1002(testuser),1003(linux)
    [root@localhost ~]# 
    
  • 锁定账号,使其密码无效
    usermod -L testusers
    
  • 解锁账号
    usermod -U testusers
    

groupadd

groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

语法

    groupadd(选项)(参数)

选项

    -g:指定新建工作组的id;
    -r:创建系统工作组,系统工作组的组ID小于500;
    -K:覆盖配置文件“/ect/login.defs”;
    -o:允许添加组ID号不唯一的工作组。

参数

组名:指定新建工作组的组名。

实例

新建一个组,并设置组ID

    [root@localhost ~]# groupadd -g 1234 testgroup
    [root@localhost ~]# cat /etc/group | grep "testgroup"
    testgroup:x:1234:

groupdel

groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

语法

groupdel(参数)

参数

组:要删除的工作组名。

实例

    root@localhost ~]# groupdel testgroup
    [root@localhost ~]# cat /etc/group | grep "testgroup"

groupmod

语法

    groupmod(选项)(参数)

选项

    -g<群组识别码>:设置欲使用的群组识别码;
    -o:重复使用群组识别码;
    -n<新群组名称>:设置欲使用的群组名称。

参数

组名:指定要修改的工作的组名。


综合实例

  • 创建组distro,其GID为2016;
    [root@localhost ~]# groupadd distro -g 2016
    [root@localhost ~]# cat /etc/group  | grep "distro"
    distro:x:2016:
    
  • 创建用户mandriva, 其ID号为1005;基本组为distro;
    [root@localhost ~]# useradd mandriva -u 1005 -g distro
    [root@localhost ~]# id mandriva
    uid=1005(mandriva) gid=2016(distro) groups=2016(distro)
    
  • 创建用户mageia,其ID号为1100,家目录为/home/linux;
    [root@localhost ~]# useradd mageia -u 1100 -d /home/linux
    [root@localhost ~]# cat /etc/passwd | grep "mageia"
    mageia:x:1100:1100::/home/linux:/bin/bash
    
  • 给用户mageia添加密码,密码为mageedu;
    [root@localhost ~]# echo "mageedu" | passwd --stdin mageia
    Changing password for user mageia.
    passwd: all authentication tokens updated successfully.
    
  • 删除mandriva,但保留其家目录;
    [root@localhost ~]# userdel mandriva
    
  • 创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    [root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin)
    
  • 修改slackware的默认shell为/bin/tcsh;
    [root@localhost ~]# usermod slackware -s /bin/tcsh
    [root@localhost ~]# cat /etc/passwd | grep "slackware"
    slackware:x:2002:2016::/home/slackware:/bin/tcsh
    
  • 为用户slackware新增附加组admins;
    [root@localhost ~]# usermod slackware -aG admins
    [root@localhost ~]# id slackware
    uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/92650

(0)
eighteenxueighteenxu
上一篇 2018-03-18
下一篇 2018-03-18

相关推荐

  • Linux用户操作、文件操作、文件筛选

    Linux用户操作、文件操作、文件筛选 编辑/etc/group文件,添加组hadoop。手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。 vim /etc/group hadoop:x:1001: vim /etc/passwd hadoop:x…

    Linux干货 2016-11-17
  • N24-vt.lee-学习宣言

    学习宣言:  好好学习 天天向上!!!  2016-10-26

    Linux干货 2016-10-26
  • 网络组(Network Teaming)

    网络组(Network Teaming) 网络组:是将多个网卡聚合在一起的方法,从而实现容错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 多种方式runner     broadcast     roundrobin     …

    Linux干货 2017-03-26
  • 网络管理之路由实现

    一.概述 跨网络通信:路由     路由分类:         主机路由         网络路由      …

    Linux干货 2016-09-19
  • keepalived+lvs 实现站点高可用

    lvs实现负载均衡
    keepalived 解决 director单点和realserver监控检测

    2017-12-13
  • 马哥教育网络班22期+第二周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示? cp命令:copy,有2类复制方法  1、单源复制:如果DEST不存在:则实现创建此文件,并复制源文件的数据流至DEST中;     如果DEST存在:如果DEST是非目录文件,则覆盖目标文件;如果DEST是目录文件,则先DEST目录下创建一个与源文件…

    Linux干货 2016-08-22