首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux w显示用户不对

w 命令在 Linux 系统中用于显示当前登录系统的用户信息,包括用户名、终端、登录时间以及他们正在执行的命令。如果你发现 w 命令显示的用户信息不正确,可能是以下几个原因造成的:

基础概念

w 命令通过读取 /var/run/utmp 文件来获取登录用户的信息。这个文件记录了当前登录的用户以及他们的会话信息。

可能的原因

  1. 文件权限问题/var/run/utmp 文件的权限设置可能阻止了 w 命令正确读取信息。
  2. 用户会话异常:用户可能异常退出,导致 utmp 文件中的记录没有被正确清理。
  3. 系统时间不同步:系统时间的不准确可能导致 w 命令显示的时间不正确。
  4. 软件冲突:某些系统工具或服务可能与 w 命令冲突,导致显示错误的信息。

解决方法

  1. 检查文件权限
  2. 检查文件权限
  3. 确保文件权限允许当前用户读取。通常权限应为 rw-r--r--
  4. 手动清理 utmp 文件: 如果确定某个会话已经结束,可以手动清理 utmp 文件中的无效记录:
  5. 手动清理 utmp 文件: 如果确定某个会话已经结束,可以手动清理 utmp 文件中的无效记录:
  6. 同步系统时间: 使用 ntpdatechronyd 等工具同步系统时间:
  7. 同步系统时间: 使用 ntpdatechronyd 等工具同步系统时间:
  8. 重启相关服务: 如果怀疑是某个服务导致的问题,可以尝试重启相关的服务或守护进程。

应用场景

w 命令通常用于系统管理员监控服务器上的用户活动,特别是在多用户环境中,可以帮助快速了解谁在何时登录以及他们正在进行的活动。

示例代码

以下是一个简单的脚本,用于定期检查并清理 utmp 文件中的无效记录:

代码语言:txt
复制
#!/bin/bash

# 检查并清理 utmp 文件
who -u | cut -d' ' -f2 | xargs -I {} utmpdump /var/run/utmp | grep -v {} > /var/run/utmp.new
mv /var/run/utmp.new /var/run/utmp

# 同步系统时间
sudo ntpdate pool.ntp.org

将此脚本添加到定时任务中,可以帮助维护 utmp 文件的准确性。

通过以上步骤,你应该能够解决 w 命令显示用户信息不正确的问题。如果问题依旧存在,可能需要进一步检查系统日志或咨询专业的系统管理员。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • linux 显示目前登录系统的用户信息 命令:who

    who命令是显示目前登录系统的用户信息。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。...语法 who(选项)(参数) 选项 -H或--heading:显示各栏位的标题信息列; -i或-u或--idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."...号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串; -m:此参数的效果和指定"am i"字符串相同; -q或--count:只显示登入系统的帐号名称和总人数; -s:此参数将忽略不予处理...,仅负责解决who指令其他版本的兼容性问题; -w或-T或--mesg或--message或--writable:显示用户的信息状态栏; --help:在线帮助; --version:显示版本信息。...19 15:04 (192.168.0.134) root pts/1 2017-12-20 10:37 (180.111.155.40) [root@localhost ~]# who -w

    3.2K00

    Linux下shell显示用户名和主机名

    问题描述 最近在服务器上重新安装了一点东西,结果登录的shell界面变成了显示-bash-4.2$,显得很丑而且使用起来十分不方便,主要是scp时需要用户名和主机名,因此对其进行了修改。 2....解决方案 修改当前用户的.bash_profile文件,在其中加入: export PS1='[\u@\h \W]$ ' source .bash_profile,OK,问题解决。 3....解释 PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。...control sequence into the prompt \] end a sequence of non-printing characters 部分特殊字符解释如下: \u 当前用户的用户名...\h 用.分开的第一个主机名 \H 完整的主机名 \W 当前工作目录的目录名,只显示路径的最后一个目录 \w 当前工作目录的目录名,显示全路径

    2.4K10

    Linux下的 W 命令

    在这篇文章中,我们将会谈论w命令。 w是一个命令行工具,它可以展示当前登录用户信息,并且每个用户正在做什么。它同时展示以下信息:系统已经运行多长时间,当前时间,和系统负载。...当前进程名称显示在 WHAT WHAT - 用户当前进程和选项、参数 这个命令然后列出所有登录用户,以及他们的相关信息。 如果把一个或者多个用户名作为参数传递给w,输出将会仅仅提供这些用户的信息。...-h, --no-header选项告诉w不输出头部的一行 w -h 仅仅登录用户的信息被打印出来: root pts/0 10.10.0.2 20:59 1.00s 0.02s...默认这一列是否展示出来,都依赖于你所使用的 Linux 发行版。...-ip-addr选项强制w命令一直在FROM处展示 IP 地址,而不是主机名 w -i 总结 w命令打印出当前用户和系统活动信息。

    4.4K10

    Linux - curl -w 参数详解

    -w 的作用 完成请求传输后,使 curl 在 stdout 上显示自定义信息 格式是一个字符串,可以包含纯文本和任意数量的变量 输出格式 输出格式中的变量会被 curl 用对应的值替换掉 所有变量的格式为...num_connects 最近传输中,新的连接数 num_redirects 在请求中跳转的次数 redirect_url 当 curl 没有指定 -L、--location 参数跟随重定向时,此变量将显示重定向实将跳转的实际...connect/handshake 的时间 time_redirect(有用) 在最终事务开始之前,所有重定向步骤(包括名称查找、连接、预传输和传输)所用的时间(以秒为单位) time_redirect 显示多个重定向的完整执行时间...强大的 curl -w 提供了 7 种 time 变量,上面就能看到 写一个文件,包含 7 种变量,还能比较好看的格式化输出 time_namelookup: %{time_namelookup...内容传输时间:time_totle【0.072124】-time_starttransfer【0.02542】 因为不是 https 协议和重定向,所以中间两个没有时间 请求 https curl -w

    5.6K10

    Linux下新建用户之后不显示用户名和路径问题解决

    ​今天用useradd命令新建用户后,发现新用户“不显示用户名和路径”,如图,看着很难受: 就类似于这样: $ cd ~ $ ls$ ls -a 从网上搜集资料,有如下两种解决方法: 1、新用户指定...source ~/.bash_profile -----------备注----------- #网上也有说加入这一行的,但是我的CentOS7亲测不行,上面的肯定能行 #export PS1='[u@h W]...$' #其中大写W代表最后路径,小写w代表详细路径 后来我研究了下root下的~/.bash_profile文件,发现它调用了~/.bashrc后又调用了/etc/bashrc文件,如下: [root...附录:useradd命令 useradd命令解析 -d 指定家目录 -g 指定用户组 -s 指定用户登入后所使用的shell -m 自动创建用户的家目录。...Case 3: 创建一个没有家目录且不能登录的用户 $ sudo useradd -s /sbin/nologin tester3 ​ Case 4: 创建时把用户加入不同的用户组 $ sudo useradd

    10.1K10

    Typecho显示访客用户身份及用户等级

    那我就打算把两者所结合,用户等级+用户身份融合在一起显示。 考虑+实现,花了个把小时,算是完成了吧! 效果 说明 用户身份:博主、基友、博友。...除博主和基友不显示评论数量以外,其他访客均显示评论量。名称指代为:目的地的前进步数。 鼠标经过后,会显示目的地前进步数。如果是友链博友的话,还会一并显示友链描述信息。...result = array( "state" => -1,//状态 "isAuthor" => 0,//是否是博主 "userLevel" => '',//用户身份或等级名称..."userDesc" => '',//用户title描述 "bgColor" => '',//用户身份或等级背景色 "commentNum" => 0/...$commentApprove['userDesc'] //用户title描述 $commentApprove['bgColor'] //用户身份或等级背景色 $commentApprove['commentNum

    57730

    Linux用户

    Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。但是我们之前所有的操作都是基于超级管理员root来操作的,但是从Linux设计来说,是不推荐的。...1.Linux用户(本章节) 2.Linux用户组 3.SU命令 4.SUDO命令 用户介绍 Linux操作系统的用户体系非常灵活,这使得它成为了一个很好的多用户系统。...例如 usermod -l newname username 将会修改用户的用户名。 groups username:显示用户所属的组。...id username:显示用户的 UID(用户 id)、GID(用户组 id)以及所属的组。 su username:切换到其他用户。...例如 su - username 将会切换到用户,并加载用户的环境变量。 whoami:显示当前的用户名。 who:显示当前登录的所有用户。 last:显示系统的登录记录。

    6300

    linux w命令查看系统负载

    w命令和uptime命令相似,都可以查看系统的负载状况,但w的结果信息更丰富一些,还可以查看登录用户的状态 命令信息 $ w 第一行的信息和uptime的结果信息是一致的,load average后的3...个数字是系统 1、5、15 分钟的平均负载 后面的几行信息是显示当前登录用户的详细信息 JCPU 表示用户终端执行程序时所消耗的CPU时间,并不是所有程序执行时间的累加,而是开始执行一个新程序就重新计时...WHAT 表示此用户正在做的事情 PCPU 表示处理WHAT指明的程序时耗费的时间 平均负载 linux每5秒钟统计一次当前正在运行的任务数、正在等待磁盘I/O的任务数,然后每 1、5、15 分钟计算一次平均值...如果是多CPU,linux会对每个CPU进行平均负载计算,然后求和 负载的判断标准 对于负载是否健康,可以参考下面这3个值,这个值是指每个cpu的负载,如果你有两个cpu,那么就用上面命令得到的负载值

    2.6K110

    【Linux】Linux用户与用户组权限

    用户与用户组 用户信息保存在 /etc/passwd 用户密码信息 /etc/shadow 用户组信息 /etc/group 1.改变文件所有者为hechong chown hechong by-id...r读权限,w写权限,x执行权限。 我们通过ls -l指令可以查询到某个文件的权限,下面以by-id文件为例子,我通过指令可以查询到by-id的权限。...下面以几个例子来学习修改文件的权限 1.使by-id所有者权限删除r,用户组权限添加w,其他者权限删除x。...chmod u-r,g-x,o-x by-id 2.使by-id所有者权限,用户组权限,其他者权限均删除w chmod a-w by-id 或 chmod -w by-id 3.使by-id所有者权限,...用户组权限,其他者权限更改为w chmod a=w by-id 4.使by-id所有者权限,用户组权限更改为x chmod ug=x by-id 5.使该目录下所有文件并包括该文件权限为rwx chmod

    14010

    【Linux】Linux用户与用户组那些事

    Hello,各位小伙伴周六早上好~ 今天也是元气满满,努力工作的一天呢~ 还是跟我一起看看今天分享的专题吧~ 今天呢,小编准备跟大家一起分享一下Linux下的用户、用户组是怎么一回事。...会发现每一个进程都有一个相关联的用户,这些用户是干嘛的呢? 抛开进程不说 ,系统上的所有文件也都有所属的用户,和用户组。用户能否访问文件正是由文件的所属用户和用户组的权限决定。...处于相同用户组(Group)的一群用户,拥有相同的用户组权限。 前面提到文件既有所属用户,也有所属用户组。...(2)基本操作: net user administrator 显示administrator用户的信息 net user test 123 /add 添加一个名为test、密码为123的用户帐户(密码可省略...net localgroup administrators 显示管理员组中的所有成员 net localgroup administrators test /add 将test用户加入到管理员组中 net

    10.8K20

    linux用户管理

    用户管理初识 基于账号身份对资源访问进行控制 --账号类别:用户账号、组账号 --识别方式:UID、GID 用户账号 -超级用户root、系统用户、普通用户 组账号 基本组(私有组,默认创建) 附加组(...从属组) 本地账号的数据文件 ---/etc/passwd(用户信息)、/etc/shadow(用户密码信息) /etc/group(组信息)、/etc/gshadow 解释用户账号文件 66.png...用户名 常用命令选项 -u:指定UID标记号 -d:指定宿主目录(家目录),缺省为/home/用户名 -G:指定所属的附加组 -s:指定用户的登陆解释器 例子 添加一个名为zengye的用户账号 添加用户...stu01,宿主目录设为/opt/stu01 添加用户stu02,指定附加组为users 添加用户sys01,指定用户的解释器不能登陆 [root]# useradd zengye [root]#...用户名 常用命令选项 -l:更换用户账号的登陆名称 -u:更换用户id -d:家目录路径 -s:登陆解释器 -G:附加组 //重置附加组 例子 [root]# useradd tedu01 [root

    4.7K00

    Linux 用户管理

    # Linux 用户管理 # 基本介绍 Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。...Linux用户的常见属性 用户名 用户登录时,用于系统识别使用的名称。其由字母、数字和下划线组成,在整个系统中具有唯一性,也称为用户账号、用户名不得使用"*" "," ";"等非法的字符。...用户口令 用户登录系统时用于验证用户名的字符串,应该设置得足够复杂。 用户ID 在Linux系统中,每一个用户不但具有唯一的名称,还具有唯一的整数值,也就是用户ID或UID。...用户组ID 在Linux系统中,每一个用户组不但具有唯一的用户组名,还具有唯一的整数值,也就是用户组ID或GID。 用户主目录 Linux系统为普通用户默认分配一个主目录。...删除用户以及用户主目录,比如tom, userdel -r tom # 查询用户信息指令 # 接本语法 id 选项 用户名 选项说明 -u:显示用户的ID -g:显示用户的主群组ID -G:显示用户的所有群组的

    4.6K30

    Linux用户管理

    Linux账户管理 新建账户(ubuntu) 新建账户比较简单 useradd mianhk1 #mianhk1为账户名 之后可以在三个文件夹看到新账户的信息: 此时可以看到,shadow文件中...,发现原来mianhk1的所有者原来是root用户,直接修改拥有者和用户权限吧: chown mianhk1 mianhk1 #修改拥有者用户 chgrp mianhk1 mianhk1 #修改拥有组...mianhk1 #修改文件夹权限 之后可以通过命令查看生成的账户的信息了: root@VM-95-58-ubuntu:/home# useradd -D GROUP=100 #用户组...HOME=/home #用户家目录的位置 INACTIVE=-1 #密码失效日,在 shadow 内的第 7 栏 EXPIRE= #账号失效日...,在 shadow 内的第 8 栏 SHELL=/bin/sh #预设的shell SKEL=/etc/skel #用户家目录的内容数据参考目录 CREATE_MAIL_SPOOL

    4.9K40
    领券