用户和组管理的命令

用户管理概念:

用户类别:

        管理员,普通用户,(系统用户和登录用户)

组类别:

        管理组员,普通用户组

        基本组和附加组

        私有组,公共组

数据库文件:

/etc/passwd

       login:password:uid:gid:comment:home:shell

/etc/shadow

          login:encrpted_password:

/etc/group

     group:password: user_list

密码存储格式:单向加密,并借助于salt完成

md5

sha1

sha224

sha256

sha384

sha512

用户组管理:

    安装上下文:

        进程以发起者的身份运行

   进程对文件的访问权限,取决于发起此进程的用户的权限:

系统用户:为了能够让后台进程或服务类型进程以非管理员的身份运行,通常需要为此创建多个普通用户:这类用户从不用登录系统

groupadd命令:添加组[选项]    group_name

  -g GID :指定GID:默认是上一个组的GID+1

-r:创建系统组;

groupmod命令:修改组属性

    groupmod[选项]  GROUP

    -g GID :修改GID;

     -n new_name:  修改组名:

groupdel命令:删除组

    groupdel [选项] GROUP

useradd 命令:创建用户

  useradd [选项]  登录名

          -u ,–uid  UID: 指定UID;

          -g,   –gid  GROUP:  指定基本组ID,此组得事先存在

         -G,–groups  GROUP: [,GROUP2,…[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔:

          -c,–comment COMMENT:注册信息;

          -d,  –home HOME|_DIR : 以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现,指定的家目录路径如果事先存在,则不会为用户复制复制环境配置文件:

           -s ,  –shell, SHELL:指定用户的默认shell, 可用的所有shell列表存储在/etc/shells文件中,

    注意:创建用户的诸多默认设定配置文件为/etc/login.defs

 

     useradd  -D:  显示创建用户的默认配置;

     useradd  -D 选项:修改选项的值;

                  修改的结果保存与/etc/default/useradd 文件中:

 suermod命令:修改用户属性

     suermod [选项]  登录

      -u,–uid  UID:修改用户的ID 为此指定的新UID;

      -g,  –gid  GROUP:修改用户所属的基本组、

      -G, –groups   GROUP: [,GROUP2,…[,GROUPN]]]:修改用户所属的附加组,原来的附加值会被覆盖

      -a,  –append: 与-G一同使用,用于为用户追加新的附加组,

     -c, –comment COMMENT :修改注释信息:

     -d , –home  HOME_DIR:  修改用户的家目录;用户原有的文件不会被转移至新位置

     -m, –move-home:只能与-d 选项一同使用,用于将来的家目录欲动为新的家目录

     -l,–login NEW_LOGIN:修改用户名;

     -s, –shell  SHELL:修改用户的默认shell;

     -L, –lock:  锁定用户密码:即在用户原来的密码字符串之前添加一个”!“:

     -U,–unlock; 几所用户的密码:

userdel 命令:删除用户

      userdel[选项] 登录

      -r :删除用户是一并删除其家目录:

练习1:创建用户gentoo, UID为4001,基本组为gentoo, 附加组为distro(GID为5000)和peguin(GID为5001);

练习2:创建用户fedora,  其注释信息为”Fedora Core",默认shell为/bin/tcsh;

练习3,修改gentoo 用户的家目录为/var/tmp/gentoo: 要求其原文件扔能被用户访问:

练习4:为gentoo新增附加组 netadmin:

passwd命令:

passwd [-k] [-l] [-u [-f]] [-d] [-e]  [-n mindays] [-x maxdays]  [-w warndays] [-i inactivedays] [-s] [–stdin] [username] 

(1) passwd:修改用户自己的密码:

(2)passwd USERNAME: 修改用户指定的密码,仅root有此权限;

 

    -l, -u:  锁定和解锁用户:

   -d:  清除用户密码串,

   -e:DATE;过期期限,日期,

   -i:DAYS; 非活动期限:密码的最短期限;

   -x DAYS: 密码的最长使用期限;

   -w  DAYS:警告期限,

   –stdin: 

    echo "PASSWORD" |  password  –stdin SUERNAME

gpasswd 命令:

   

 组密码文件:/etc/gshadow

      gpasswd [选项] group

     -a USERNAME : 向组中添加用户

     -d  USERNAME:  从组中移除用户

newgrp命令:临时切换指定的组为基本组:

    newgrp [-] [group]

 -:会模拟用户重新登录以实现重新初始化环境

   chage [选项] 登录名

       -d

       -E

       -W

       -m

      -M

id命令:显示用户的真实有效ID

      id [OPTION]…..[USER]

     -u:仅显示有效的UID;

     -g:仅显示用户的基本组ID

     -G:仅显示用户组所属的所有组的ID

     -n: 显示名字而非ID

su命令:switch user

登录式切换:会通过重新读取用户的配置文件来重新初始化

    su –  USERNAM

    su  -l  USERNAME

非登录是切换:不会读取目标用户的配置文件进行初始化

      su    USERNAME

 注意:管理员可无法切换至其他任何用户

     -c 'COMMAND' :仅以指定用户的身运行此处指定的命令;

其他几个命令:chsh,chfn,finger, whoami  pwck,grpck

命令总结:

   groupadd, groupmod,groupdel.useradd,usermod,usermod,userdel,

   passwd,gpasswd,newgrp,id,su,chage

原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/64446

(0)
shadowshadow
上一篇 2016-12-21
下一篇 2016-12-21

相关推荐

  • 数据结构- 串的模式匹配算法:BF和 KMP算法

    Brute-Force算法的思想 1.BF(Brute-Force)算法   Brute-Force算法的基本思想是: 1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较,若相等,则继续逐个比较后续字符,否则从串s 的第二个字符起再重新和串t进行比较。 2) 依此类推,直至串t 中的每个字符依次和串s的一个连续的字符序列相等,则称模式匹…

    Linux干货 2015-04-07
  • 编译安装lamp框架

    一、 先说说啥叫lamp     1. lamp简介: Linux Apache Mysql PHP(Python, Perl)的简称,下面说说他们之间的关系         Linux:系统运行平台    &…

    Linux干货 2015-06-18
  • 第五周学习总结-rpm&yum

    我们都知道,计算机只能识别二进制程序,而程序员编写的源代码都是以纯文本形式存在,因此,要想让计算机识别并运行这些源代码程序,就必须通过中间的转换机制让源代码变为二进制程序文件,而这种转换过程就称为编译过程。Linux的各发行版本中由于各厂商的编译过程不尽相同,因此就诞生了各种不同的软件管理包组件。其中我们最熟知的就要数Redhat系列的rpm包了。 rpm包…

    2018-01-03
  • Linux系统中的Inode节点表

    索引节点是指在许多类Unix文件系统中的一种数据结构。每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。

    2017-11-16
  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • 运维学习笔记-看看别人家的Puppet代码

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    Linux干货 2016-06-23