Linux 基础(5)

/etc/passwd           /etc/shadow         /etc/gpasswd (chage)            /etc/gshadow
   useradd         usermod          userdel          passwd 
   grouadd        groupmod       groupdel       gpasswd            id      su

1./etc/passwd文件格式                              查看passwd信息 getent passwd

    ①username :登录用名(xiaoming)   查看单一用户信息 getent passwd username

    ②passwd :密码 (x)
               pwconv (默认) 将密码映射到了/etc/shadow
               pwunconv 将密码保存到/etc/passwd中,删除/etc/shadow文件
    ③UID号 :
              每个用户都有一个UID,UID为0时,说明是管理员帐户。
              CentOS6 1-499为系统用户,预留
              CentOS7 1-999为系统用户,预留
    ④GID :
              主要组:每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。
              辅助组:用户可以有零个或多个辅助组。
    ⑤GECOS :描述位
             chfn username修改描述 finger username (默认没有安装) 查看用户的信息
    ⑥家目录 :用户主目录 (/home/wang)

             usermod -d /home/magedunew magedu

    ⑦shell :用户默认使用shell (/bin/bash)

             usermod -s /sbin/nologin magedu 非登录shell 不能登录 不能交互式    或   chsh -s /sbin/nologin

Linux 基础(5)

2./etc/shadow 文件格式                    查看shadow信息 getent shadow
    ①登录用名                                   查看单一用户 getent shadow username
    ②密码位: 一般用sha512 加密 $6         加密方式:sha512 sha256 md5 三种
                  $id$salt随机数$加密的密码     authconfig –passalgo=sha256 –update 更改加密方式
                  !! 用户被锁定                   usermod -L锁定用户
                  usermod -U 解锁用户 -p   password 加个密码
                                                                                    chage  -l username 显示帐户的密码信息
    ③从1970 年1 月1 日起到密码最近一次被更改的时间          -d 指定密码的上次修改时间(yyyy-mm-dd)        -d 0 则强制用户下次登录时必须修改密码
    ④ 密码再过几天可以被变更(0 表示随时可被变更)          -m 设置最小存活时间
    ⑤密码再过几天必须被变更(99999 表示永不过期)          -M 设置最大存活时间
    ⑥密码过期前几天系统提醒用户(默认为一周)                 -W 设置密码过期前的提醒时间
    ⑦密码过期几天后帐号会被锁定                                          -I 密码过期之后多少天帐户过期
    ⑧从1970年1月1日算起,多少天后帐号失效                       -E 指定账户的过期时间
    ⑨保留位

Linux 基础(5)

            chage username 交互式修改用户的密码策略

Linux 基础(5)

             密码期限

Linux 基础(5)

3./etc/group                   查看group信息 getent group

    ①groupname:组名  查看单一组信息 getent group [groupname]
    ②密码位:x
    ③gid:
            CentOS6 1-499为系统组,预留
            CentOS7 1-999为系统组,预留

    ④组成员:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。

Linux 基础(5)

4./etc/gshadow                      查看gshadow信息 getent gshadow
    ①groupname:组名            查看单一组gshadow信息 getent gshadow [groupname]
    ②密码位:
                   gpasswd groupname设置组密码
                   newgrp groupname(普通用户) 当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。
                                                                   当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。
    ③管理员:只能由root任命或撤销,可以同时有多名,以,为间隔。 权利:可以修改组密码,可以将用户从该组(辅助组)当中添加或删除。
    ④组成员:将该组作为辅助组的成员列表。
Linux 基础(5)

5.useradd 用户创建
     -u uid username 创建用户时指定uid(如不指定则Centos:500-60000, Centos7: 1000-60000)
     -o -u uid username 创建用户时指定uid(可以与已存在用户的uid相同)
     -g groupname username 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)
     -c … username 创建用户时指定描述信息。    chfn … username
     -d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
     -s /sbin/nologin username 指定用户的默认shell

     -G group1[,group2] username 指定用户的辅助组

Linux 基础(5)

     -N username 设置用户的主要组为默认组(users,uid=100)

     -r username 创建系统用户

Linux 基础(5)

      手动建一个家目录
   (1)建一个没有路径的家目录
   (2)在root下创建这个目录
   (3)把该目录的所有人所有组权限设为用户的
   (4)进入该用户,把/etc/skel/模板cp到用户家目录 cp -a /etc/skel/.[^.]* .
Linux 基础(5)

6.usermod

  usermod -l newname oldname 修改用户名
                -L 给用户/etc/shadow中的密码位加!使用户被锁定
                -U 把!拿掉 需给用户再加个密码 -p (加密字串)
                -u newuid username 修改用户的UID
                -o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)
                -c … username 修改用户时指定描述信息。
                -d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息) 或 chfn … username
                -m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名

                -s /sbin/nologin username 修改用户的默认shell

Linux 基础(5)

               -g groupname username 修改用户的主组和辅助组都为groupname
               -aG 加组名,可以追加辅助组而不用覆盖之前的组
               -G “” username 或 usermod -G primarygroup username 清空用户所有的辅助组
Linux 基础(5)
              -e yyyy-mm-dd 设置一个帐户过期时间

              -f days 指定密码过期之后多少天帐户过期

7.userdel [-r] username
      删除用户时,加上-r连同其家目录,mail一同删除

      不加 -r 用户的家目录和mail不删除 ls -a /home查看用户的家目录 ls -l /var/spool/mail查看用户的mai

Linux 基础(5)

8.passwd                            chage功能类似 
              -l:锁定指定用户
              -u:解锁指定用户 需给用户加密码 -f强制解锁
              -e:强制用户下次登录修改密码

              -n mindays: 指定最短使用期限

              -x maxdays:最大使用期限

              -w warndays:提前多少天开始警告
              -i inactivedays:非活动期限
              echo “PASSWORD” | passwd –stdin USERNAME 修改用户的密码为“”,常用于脚本
Linux 基础(5)

Linux 基础(5)

9. groupadd [OPTION]… group_name 创建组
                   -g gid groupname 创建指定gid的组
                   -r groupname 创建系统组
    groupmod [OPTION]… group 修改组
                   -n newgrpname oldgrpname 修改组名
                   -g newgid groupname 修改gid
    groupdel  groupname 删除组

Linux 基础(5)

10.gpasswd [OPTION] GROUP 更改组密码

    (只有root有权限)任命管理员: gpasswd -A xiaoqiao,luren admin

                             撤消所有管理员:gpasswd -A “” admin
    (root和管理员都有的权限)        gpasswd -a libai admin 往组中增加用户
                                                         gpasswd -d libai admin 将用户从组中删除
                                                         gpasswd -r admin 删除组密码
                                                         passwd -R admin 限制非辅助组用户可以通过newgrp admin获取主组权限。当前密码被删除替换为!
                                                         gpasswd -M redhat,libai admin 设置辅助组的成员列表。
                    groupmems 更改和查看组成员
    (只有root)                               groupmems -g admin -a libai (仅能一次加一个用户到组中)
                                                       groupmems -g admin -d libai 将指定成员从组中删除
                                                       groupmems -g admin -l 列出指定组的成员列表(辅助组)
                                                       groupmems -g admin -p 消除指定组的所有成员(包括管理员和组员)。
Linux 基础(5)
11.id         只输id 查看当时临时登录id信息
                  id username 查看修改后的id信息
                      -u 显示UID
                      -un [-gn] 显示名称
                      -g 显示GID

Linux 基础(5)

  su            switch user
      root su 至其他用户无须密码;非root用户切换时需要密码
      su username 非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
      su – username 登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
      su [-] uername -c ‘command’ 以用户的身份执行命令而不登录

                                   有 什 么 错 误 请 大 家 指 教!

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

(0)
alongalong
上一篇 2017-07-22
下一篇 2017-07-22

相关推荐

  • 文件的权限详解(一)

    文件的权限 修改文件的属主和属组 chown 功能:更改属主命令,同时也能更改属组用法:   chown  选项  [属主名][:属组名]  文件名  (分隔符改成.也行) chown  选项   参考的文件=要更改的文件 chown [OPTION]… –reference=R…

    Linux干货 2016-08-04
  • 【福利招聘】 Base 上海 拍拍货(红杉领投,靠谱金融公司) 共5人

    公司简介 拍拍贷成立于2007年6月,全称为“上海拍拍贷金融信息服务有限公司”,总部位于国际金融中心上海,是中国首批网络信息借贷平台。 拍拍贷是一家由工商部门特批,获批“金融信息服务”的经营范围,得到政府认可的互联网金融平台。拍拍贷用先进的理念和创新的技术建立一个安全、高效、透明的互联网金融平台,规范个人贷款行为,让借入这改善生产生活,让借出者增加投资渠道。…

    Linux干货 2016-12-05
  • Linux基础-第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    2018-03-19
  • linux基础操作-week6

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp #vim /tmp/rc.sysinit 末行模式: :%s@^[[:space:]]\{1,\}@#&@g 匹配分析:  &nbs…

    Linux干货 2016-11-28
  • 通用二进制安装MySQL(MariaDB)

    一、前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所…

    Linux干货 2015-10-15
  • DNS介绍及资源记录

    DNS查询 第一段:主机到运营商的DNS服务器(递归) 第二段:运营商的DNS再去解析(根域名服务器/),在一层一层的查找(迭代) DNS名称解析方式:名称–>IP,IP–>名称 注意:二者的名称空间非同一个空间,即不是一个数据库; 域: www.magedu.com. ftp.magedu.com. bbs.magedu…

    Linux干货 2017-02-12