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可以列出这些信息。

  

■  关于/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的用户的密码改过来了。

【Linux】 用户管理的更多相关文章

  1. linux 用户管理

    linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...

  2. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  3. 11.Linux用户管理

    本笔记说的Linux用户管理主要包括以下内容: 1.用户配置文件(/etc/passwd  /etc/shadow) 2.组配置文件(/etc/group  /etc/gshadow) 3.用户缺省配 ...

  4. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

  5. Linux用户管理简介

    Linux用户管理是Linux的优良特性之一,本文说明了Linux中用户的登录过程和登录用户的类型. 一.Linux用户登录过程 用户要使用Linux系统,必须先进行登录.Linux的登录过程和win ...

  6. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  7. 第七天 Linux用户管理、RHEL6.5及RHEL7.2 root密码破解、RHEL6.5安装vmware tools

    1.Linux用户管理 Linux系统中,存在三种用户 A.超级用户:root 最高权限,至高无上 在windows中 administrator是可以登录的最高权限,但是,system权限最高,不能 ...

  8. linux用户管理和文件权限

    linux用户管理和文件权限 新建用户:useradd ftpuser      useradd -g gxx userxx修改密码:passwd ftpuser新增用户组:# groupadd gr ...

  9. Linux学习之十六-Linux用户管理

    Linux用户管理 Linux系统跟Windows系统一样,可以创建不同的用户,不同的用户组.在不同用户下使用系统具有相应的权限 创建一个普通用户时,会修改几个文件,拷贝一些初始文件到用户家目录中 修 ...

  10. 【Linux学习】Linux用户管理2—用户配置文件

    Linux用户管理2-用户配置文件 /etc/passwd: 存放系统用户的文件 输入 vi /etc/passwd /etc/shadow: 保存保密文件 /etc/group: 群组文件 输入 v ...

随机推荐

  1. Micropython 如何用Turnipbit做一个自动浇水装置

    最近在研究Turnipbit这块板子,打算是连接一个摄像头模块,正在实验练习中,(祝自己早日弄好)上篇文章我们讲了用Turnipbit连接LCD5110显示英文词句,前几天给家里花浇水的时候发现花招了 ...

  2. mongodb副本集搭建过程中的问题和解决技巧

    在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...

  3. 奶瓶beini系统

    奶瓶(beini)这个系统,是一款基于 Tiny Core Linux 搭建的无线网络安全测试系统,当然由于它是用来安全测试的系统,因此在安全方面自然有着强大的功能.而且,这个系统非常简便易学,因此现 ...

  4. Java Web项目(Extjs)报错五

    1. Java Web项目(Extjs)报错五 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname ...

  5. My97DatePicker日历控制按日、按周和按月选择

    My97DatePicker日历控制按日.按周和按月选择 1.设计源码 <%@ page language="java" import="java.util.*&q ...

  6. Count:858org.apache.jasper.JasperException: Unable to compile class for JSP

    1.错误描述 Count:858org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurre ...

  7. 微信小程序之公共函数引入

    // 加载配置文件 const config = require('../config.js'); module.exports = { //提醒弹框 REMIND:function(that = ' ...

  8. Acperience HDU - 5734

    Deep neural networks (DNN) have shown significant improvements in several application domains includ ...

  9. 异常-----java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.core.KeyFactory

    SSH 类库问题 java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer2009- ...

  10. CentOS 7.0 启动多个MySQL实例(mysql-5.7.21)

    Linux系统:CentOS-7.0 MySQL版本:5.7.21 Linux系统下启动多个MySQL实例,目前知道有两种方法,一种是通过官方提供的mysqld_multi.server来实现,但是我 ...