用户和组管理类命令

用户和组管理类命令

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)
上一篇 2018-03-18 18:37
下一篇 2018-03-18 19:55

相关推荐

  • ELK+RabbitMQ架构处理nginx及tomcat日志

    前言       查看日志的传统方法是:登录操作系统,使用命令工具如cat、tail、sed、awk、grep等等进行过滤输出后分析,处理少量日志还好,日志量大处理效率就没那么高了。而且很多情况下开发人员需要查看并分析日志进行排错,但他们对Linux命令又不是太熟悉,而且有时候又不能赋予他们服务器权限,更多时…

    Linux干货 2016-08-02
  • Linux网络属性管理(一)

    MarkdownPad Document Linux网络属性管理(一) 将一台linux主机接入互联网一般需要配置以下几个方面的参数: IP/mask –>  IP地址和子网掩码 路由 –> 默认网关 DNS服务器 配置方式 静态指定:   1、ifcfg:ifconfig,route,netstat   2、i…

    Linux干货 2016-06-12
  • Linux的基础文件管理命令

    Linux用于管理文件的一些基本常见的命令如下: ls:  列出指定目录下的清单    -a  显示所有文件包括隐藏文件    -l  显示文件的详细信息    -d  查看目录自身   示例: cat:  可查看指定路径下的文件文本 fi…

    Linux干货 2016-11-06
  • raid介绍

    raid介绍 在生产环境中,服务器所需的存储容量比较大,一般都会选择磁盘阵列来走存储。 阵列的优点 多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供 首先在I/O能力上,多个磁盘并行读写,可以提高读写的速度。 阵列所提供的磁盘冗余,提升存储设配的耐用性。 RAID实现的 外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID:主板集成RAID控…

    2017-06-24
  • linux中的管道符

    管道符 less只能看文件 但是这样做会产生一个垃圾文件ls.txt,所以下面我们就会需要用到管道符 |只将传递正确结果传递给 而使用这两种方法可以传递正确和错误的结果[root@localhost ~]# ls /etc/passwd /cpp/passwd 2>&1|less   ,  (2>&1…

    2017-07-22
  • bash(awk递归)N阶【斐波那契数列】多种实现(含递归解析图)

    【版权所有】转载请说明作者【Jev Tes】        【本文导航】        零、关于斐波那契数列        一、输入参数合法性判断       &nbsp…

    Linux干货 2016-11-24