zoukankan      html  css  js  c++  java
  • 【Linux】 用户管理

    Linux用户管理

    ■  查看用户整体情况

      cat /etc/passwd可以查看用户的一些基本信息。用finger <user>似乎更加方便

      查看某一个特定的用户的话就可以 grep <user> /etc/passwd /etc/shadow /etc/group把三个信息文件连起来写,一次性地提取出这个用户相关的信息

    ■  加入新用户

      在没有特殊要求的时候,只要useradd <user>就好了。useradd命令有一些默认的参数,可以通过useradd -D来查看。这些参数配置在/etc/default/useradd中

      用root可以忽略其他用户的旧密码,强行给用户设置一个新密码。passwd <user>。一般用户的话可以passwd来改变自己的密码。

      root用户可以passwd -S <user>显示/etc/shadow中的一些信息。如果想要修改这些信息(主要是密码的一些信息比如密码过期日期,密码失效日期,密码过期后容许改密码的日期等等)的话用chage比较方便。chage -l可以列出这些信息。

    ■  删除用户时的不调

      一般删除用户通过userdel命令就可以进行了。但是有些时候,比如uid刚好是0,也就是说这个用户是root的另一个马甲的场合,此时直接userdel可能会报错说process 1正在运行,所以无法直接删除。

      此时就会想到能否把uid变成一个普通用户的uid再删除。但是usermod -u此时也是报同样的错误的。此时可以暴力一点直接去修改/etc/passwd,将uid为0的这个用户的uid改成一个普通用户的uid(当然不能和现有的任意一个用户的uid重叠,否则就变成删掉了那个用户了)。

      然后userdel就可以成功。

      

    ■  关于/etc/passwd和/etc/shadow的文件结构

      众所周知,/etc/passwd中承载着关于用户的很多信息,关于它的文件结构:

      每一行代表着一个用户的信息,不同字段之间的信息用一个冒号隔开

      每一行的内容大致是:"用户名:密码(显示为x,真正的密码信息在/etc/shadow中只有root有权限看):UID:GID:用户信息说明:用户主文件夹:用户所用的shell类型"

      比如以root为例,root在passwd文件中的那一行就是 , "root:x:0:0:root:/root:/bin/bash"。

      至于shadow文件,是存放着所有用户密码信息的重要哦文件,权限是000,只有root用户有权限查看。shadow的文件结构如下:

      "用户名:密码密文:最近改动密码的日期(格式是天数时间戳):密码被修改后连续多少天不能修改(0则表示修改完后可立即再修改):密码会在多少天后过期(99999表示密码不会过期):密码过期前几天警告:密码过期后宽限天数:账号失效时间(和密码失效不一样,密码失效只要再改下密码即可,账号失效的话改密码也无济于事):保留字段"

      shadow文件中每一行的第三字段+第五字段是密码过期的日期,此时已经无法用老密码登录系统,在此基础上还有第七字段的天数作为宽限,宽限期内还可以自己去改密码。

      比如root用户在shadow中的信息是"root:$6$TB5wGNj(密文意思一下。。):17292:0:99999:7:::"

      

    ■  last

      last命令用于查看用户的登录历史情况(倒序),它自动读取/var/log/wtmp文件

      last -a将登录用户的主机名或IP(SSH连接时)显示在最后一个字段

      last -f <file> 可以指定文件,比如和wtmp同目录的btmp更加详细地记录了远程登录的信息

      之前好像在哪里也提到过,last命令看到的都是成功登录的信息,如果要算上登录失败以及尝试登录的这些信息的话应该要看/var/log/secure文件

    ■  非交互式修改密码

      密码修改基本上都是靠交互式完成的。但是也可以通过下面这个命令来进行非交互式的密码修改:

      echo 'new_password' | passwd --stdin "username",这样就把用户名为username的用户的密码改过来了。

  • 相关阅读:
    Vue核心之数据劫持
    Flex 布局教程
    Grid布局
    我们都在深夜,参差不齐地入眠
    一个十分好用的动画工具:Velocity.js
    前端知识点总结——jQuery(下)
    前端知识点总结——jQuery(上)
    虫师Selenium2+Python_2、测试环境搭建
    虫师Selenium2+Python_11、自动化测试项目实战
    虫师Selenium2+Python_12、BDD框架之Lettuce入门
  • 原文地址:https://www.cnblogs.com/franknihao/p/6670266.html
Copyright © 2011-2022 走看看