- 浏览: 865934 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (280)
- java相关 (29)
- linux系统 (55)
- ipsec (0)
- ssl (3)
- 信息安全 (13)
- web相关 (35)
- windows (9)
- c,c++ (14)
- log4j (3)
- hibernate (8)
- sqlite (1)
- 程序人生 (2)
- js (2)
- 生活点滴 (3)
- 网络相关 (14)
- 问题积累 (15)
- 数据库相关 (27)
- 软件测试 (2)
- PKI相关 (2)
- 程序设计 (7)
- 犄角旮旯 (0)
- 杂七杂八 (0)
- 硬件相关 (14)
- 防火墙 (2)
- 电子商务 (2)
- 多媒体相关 (1)
- 内存管理 (4)
- 面向对象 (1)
- csp (1)
- 驱动开发 (3)
- 移动开发 (2)
- openssl多线程实例 (1)
最新评论
-
xiaoyao3857:
博主很有探索精神嘛,学习了
Linux主机名Hostname详解 -
hiskyrisa:
言简意赅,好文章。
Flex是什么 -
layznet:
犯了类似错误。使用的是derby数据库。driverClass ...
java.sql.SQLException: No suitable driver -
idision:
你好,文章有一句createSubjectKeyId(keyT ...
bouncycastle 产生证书 -
zheng12tian:
代码有全的不?只贴一部分,,,,
在LOG4J中把日志写入远程数据库
一、用户查询工具的原理;
在用户管理中,用户查询是通过几个常用的工具来完成的,比如id 、finger、groups、users ... ... ,我们都知道用户的配置文件是/etc/passwd,用户组的配置文件是/etc/groups 文件,我们对用户的查询除了通过查询工具以外,我们还能直接查看用户和用户组的配置文件来达到查询的目的;
用户查询工具的原理也是读取与用户和用户组有关的配置文件,然后按一定的规则和条件输出,用户和用户组配置文件很重要,所以您有必要先读一下关有用户管理的文档:
《Linux 用户(user)和用户组(group)管理概述》
《用户(user)和用户组(group)配置文件详解》
二、用户(User)和用户组(Group)查询工具;
1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;
id 工具是用来查询用户信息,比如用户所归属的用户组,UID 和GID等;id 用法极为简单;我们举个例子说明一下;
语法格式: id [参数] [用户名]
至于有哪些参数,自己查一下 id --help 或man id ;如果id后面不接任何参数和任何用户,默认显示当前操作用户的用户名、所归属的用户组、UID和GID等;
实例一:不加任何参数和用户名;
[beinan@localhost ~]$ id
uid=500(beinan) gid=500(beinan) groups=500(beinan)
注解: 在没有加任何参数的情况下,查询的是当前操作用户的用户名、UID 、GID 和所处的主用户组和附属用户组;在本例中,用户名是beinan,UID是500,所归属的主用户组是beinan,GID是500 ;
实例二: id 后面接用户名;
如果我们想查询系统中用户的UID和GID 相应的内容,可以直接接用户名,但用户名必须是真实的 ,能在/etc/passwd中查到的;
[beinan@localhost ~]$ id linuxsir
uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)
注解: 查询用户linuxsir 的信息,用户linuxsir ,UID 为505,所归属的主用户组是linuxsir,主用户组的GID是502;同时linuxsir用户也是GID为0的root用户组成员,也是GID为500用户组beinan的成员;
这个例子和实例一在用户组方面有所不同,我们在 《Linux 用户(user)和用户组(group)管理概述》 中有提到;用户和用户组的对应关系,可以是一对一、一对多、多对一、或多对多的交叉关系,请参考之;另外您还需要掌握《用户(user)和用户组(group)配置文件详解》 一文;
2、finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等;
finger 工具侧重于用户信息的查询;查询的内容包括用户名(也被称为登录名Login),家目录,用户真实的名字(Name)... ... 办公地址、办公电话;也包括登录终端、写状态、空闭时间等;
我们最常用finger 来查询用户家目录、用户真实名、所用SHELL 类型、以及办公地址和电话,这是以参数 -l 长格式输出的;而修改用户的家目录、真实名字、办公地址及办公电话,我们一般要能过chfn命令进行;
语法格式:
finger [参数选项] [用户名]
-l 采用长格式(默认),显示由-s选项所包含的所有信息,以及主目录、办公地址、办公电话、登录SHELL、邮件状态、.plan、.project和.forward;
-m 禁止对用户真实名字进行匹配;
-p 把.plan和.project文件中的内容省略;
-s 显示短格式,用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录时间(Login Time)、办公地点、办公电话等;
至于finger 有哪些参数,您可以通过 finger --help 或man finger 来获取,我们在本文中以实例讲述最常用的参数;
实例一:不接任何参数,也不指定查询用户名;默认为加了-s参数;
[beinan@localhost ~]$ finger
Login Name Tty Idle Login Time Office Office Phone
beinan beinan sun tty1 1:39 Nov 2 08:27
linuxsir linuxsir open tty2 2 Nov 2 10:03 linuxsir o +1-389-866-771
等价命令
[beinan@localhost ~]$ finger -s
注解:
不加任何参数,也没有指定查询哪个用户,finger 会以默认以短格-s
来输出登录本机的所有用户的用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录
时间(Login Time)、办公地点、办公电话等;
在这个例子中,有beinan用户登录,真实名字是beinan sun (这个名字是用户的真实名字,如果在添加用户时没有设置,是不会显示的),在tty1终端登录,空闭时间是1分39秒,登录时间是Nov /2/08:27 ,没有办公室名称,没有办公电话;
请对照本例中beinan用户记录的解说,我们来看看本例中的 linuxsir用户信息;应该不难。
关于写状态,如果在Tty 后面 没有任何输出,表示正在写入,如果有*出现,表示没有写入或被禁止,比如下面的例子,ftp用户没有通过终端登录系统,因为Tty是*,同时Tty后面还有一个* ,表示禁止写入或没有写入状态(当用户没有登录时);
[beinan@localhost ~]$ finger -s ftp
Login Name Tty Idle Login Time Office Office Phone
ftp FTP User * * No logins
我们可以以短格式的来查询某个用户信息以短格式输出,比如下面的例子;
[beinan@localhost ~]$ finger -s beinan
实例二: 关于长格式的用户信息的输出 -l 参数的实例;
finger -l 如果不加用户名的情况下,可以列出所有通过tty登录的用户信息;如果您想查询某个用户,就直接指定用户,可以指定一个或多个;什么是tty登录?如果您 在全屏文本界面操作的话,您可以通过按CTRL+F2或CTRL+F3 或CTRL+F4等, 以几个不同的用户登录到主机上,您就会看到,每个用户都有不同的tty;
[beinan@localhost ~]$ finger -l
[beinan@localhost ~]$ finger -l beinan linuxsir 注:可以同时查询几个用户信息,以长格式输出;
[beinan@localhost ~]$ finger beinan
Login: beinan Name: beinan sun
Directory: /home/beinan Shell: /bin/bash
On since Wed Nov 2 08:27 (CST) on tty1 2 hours 29 minutes idle
On since Wed Nov 2 10:50 (CST) on pts/0 from :0.0
No mail.
No Plan.
在本例中,所查询的用户是beinan,真实名字是beinan sun ,家目录位于 /home/beinan ,所用SHELL类型是bash ;然后就是通过哪个终端登录的,登录时间,是不是有mail ,有Plan 等;
实例三: 参数组合的例子;
[beinan@localhost ~]$ finger -lp beinan
Login: beinan Name: beinan sun
Directory: /home/beinan Shell: /bin/bash
On since Wed Nov 2 08:27 (CST) on tty1 2 hours 36 minutes idle
On since Wed Nov 2 10:50 (CST) on pts/0 from :0.0
No mail.
注解: 查询beinan用户信息,以长格式输出,并且不输出.Plan和.Project的内容;
实例四: finger -s 和w 及who的比较;
对于finger 就说这么多吧,极为简单的工具,当用到-s 参数时,您最好和w和who工具对照,看看finger -s 和w 及who的输出有什么异同,w和who是查询哪些用户登录主机的;而finger -s 呢,无论是登录还是不登录的用户都可以查;但所查到的内容侧重有所不同;自己看看例子;
[beinan@localhost ~]$ finger -s
Login Name Tty Idle Login Time Office Office Phone
beinan beinan sun tty1 3:03 Nov 2 08:27
beinan beinan sun pts/0 Nov 2 10:50 (:0.0)
linuxsir linuxsir open tty2 1:26 Nov 2 10:03 linuxsir o +1-389-866-771
[beinan@localhost ~]$ w
11:30:36 up 3:04, 3 users, load average: 0.30, 0.15, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
beinan tty1 - 08:27 3:03m 2:52 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2 - 10:03 1:26m 0.01s 0.01s -bash
beinan pts/0 :0.0 10:50 0.00s 0.16s 0.00s w
[beinan@localhost ~]$ who
beinan tty1 Nov 2 08:27
linuxsir tty2 Nov 2 10:03
beinan pts/0 Nov 2 10:50 (:0.0)
3、查询登录主机的用户工具:w 、who 、users
w、who和users工具,是查询已登录当前主机的用户;另外finger -s 也同样能查询;侧重点不一样;请自己对比着看;毕竟简单,这里只是介绍 ;
[beinan@localhost ~]$ w
12:09:56 up 3:43, 7 users, load average: 0.16, 0.10, 0.04
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
beinan tty1 - 08:27 3:42m 3:09 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2 - 10:03 2:06m 0.01s 0.01s -bash
beinan pts/0 :0.0 11:36 1:09 0.15s 0.15s bash
beinan pts/1 :0.0 11:37 1:12 0.21s 0.21s bash
beinan pts/2 :0.0 12:02 6:52 0.09s 0.09s bash
beinan pts/3 :0.0 12:05 12.00s 0.11s 0.06s ssh xmbnnbdl@linuxsir.org -p 17007
beinan pts/4 :0.0 12:06 0.00s 0.21s 0.00s w
[beinan@localhost ~]$ who
beinan tty1 Nov 2 08:27
linuxsir tty2 Nov 2 10:03
beinan pts/0 Nov 2 11:36 (:0.0)
beinan pts/1 Nov 2 11:37 (:0.0)
beinan pts/2 Nov 2 12:02 (:0.0)
beinan pts/3 Nov 2 12:05 (:0.0)
beinan pts/4 Nov 2 12:06 (:0.0)
[beinan@localhost ~]$ users
beinan beinan beinan beinan beinan beinan linuxsir
4、groups 用户所归属的用户组查询;
groups 用法很简单,就是查询用户所归属哪个或哪些用户组;
语法格式: groups 用户名
实例:
[beinan@localhost ~]$ groups beinan 注:查询beinan所归属的用户组;
beinan : beinan 注:beinan 是beinan用户组下的成员;
[beinan@localhost ~]$ groups linuxsir 注:查询linuxsir用户所归属的用户组;
linuxsir : linuxsir root beinan 注:linuxsir用户是linuxsir用户组、beinan用户组、root用户组成员;
groups 主要是查询用户所归属的用户组名,最好和id命令相对比;这样对这两个工具都有所了解;
发表评论
-
Linux c的多线程编程实例
2011-07-19 17:28 1974通过创建两个线程来实现对一个数的递加。或许这个实例没有实际运用 ... -
linux下进程的最大线程数、进程最大数、进程打开的文件数
2011-06-22 17:35 1948linux 系统中单个进程的 ... -
Linux中dos2unix的批量转换命令
2011-01-05 10:31 6992在Linux中将DOS 格式转换为Unix格式的文件可以使用d ... -
linux双网关双线路网络设置
2010-08-03 19:10 2012由于电信和网通之间互联互通 的问题,很多 ... -
syslog-ng学习心得之二
2010-07-06 08:58 2444在[url]http://coolerfeng.blog.51 ... -
syslog-ng学习心得之一
2010-07-06 08:58 2746转载一篇syslog-ng的文章的,本来是想打算自己写一篇 ... -
Linux用户进程是如何释放内存
2009-12-25 17:16 2061Linux进程使用内存的基本流程: 见图1 从 ... -
Linux内存使用详解
2009-12-25 16:56 2378一提到内存管理,我们 ... -
linux下查看内存使用情况
2009-12-25 14:56 1994在Linux下查看内存我们 ... -
Linux编程C++内存管理之内存分配详解
2009-12-21 21:33 1762程序员们经常编写内存 ... -
内核模块调试方法
2009-11-17 11:23 2596对 于任何一位内核代 ... -
Linux操作系统下以太网卡的安装及配置
2009-11-11 17:18 1684Linux操作系统以其 独有的开放性、稳定性、高 ... -
跟我一起写 Makefile(3)
2009-11-03 14:38 638“-s” “--silent” “--quiet” 在命 ... -
跟我一起写 Makefile(2)
2009-11-03 14:35 961书写命令 ———— 每 ... -
跟我一起写 Makefile(1)
2009-11-03 14:32 984陈皓 (CSDN) 概述 — ... -
CC与GCC的区别概括介绍
2009-11-03 14:29 1462从名字上看,老的unix系统 的CC程序叫做C Comp ... -
linux内核模块管理命令
2009-10-30 10:54 17151. lsmod 列出已经加载的内核模块 lsmo ... -
分区修复软件Testdisk 安装使用
2009-08-26 14:23 4931linux下超帅的分区表修复软件.以前用过n多的window ... -
Linux下的分区修复软件Testdisk
2009-08-26 10:40 1863好了,这个软件叫testdisk.很帅的。。 如果你是使 ... -
Linux分区数据恢复
2009-08-26 10:18 1447公司的一台redhat机器启动不了了,是由于多次非正常关机造成 ...
相关推荐
此外,学习`/etc/passwd`和`/etc/group`文件的内容和结构,以及如何直接从中提取信息,也是掌握Linux用户管理的关键步骤。在实际操作中,还应该阅读相关文档,如《Linux 用户( user )和用户组( group )管理概述...
在进行Linux用户和组管理时,确保遵循最佳实践,如定期更新密码、合理分配权限,并使用安全的FTP选项。理解这些概念和命令是任何Linux系统管理员的必备技能。通过熟练掌握这些工具,你可以在保障系统安全的同时,...
本篇用户指南针对的是i.MX系列处理器平台的Linux操作系统,具体来说是i.MX6和i.MX7双核处理器的相关开发与部署指南。该文档详细介绍了如何构建和安装i.MX Linux® OS BSP(Board Support Package,板级支持包),...
_Linux_USB_Driver_User_Guide》是一份针对Quectel公司推出的WCDMA与LTE模块系列的Linux USB驱动程序用户指南,版本为V1.8,发布日期为2017年9月1日。该用户指南旨在为用户提供及时而全面的服务。文中提供了Quectel ...
根据提供的文档信息,“mx35 linux user guide”主要围绕着Freescale Semiconductor的i.MX35处理器在Linux操作系统下的用户指南展开。本篇内容将深入解析与该文档标题、描述及部分内容相关的知识点。 ### i.MX35 ...
Linux 操作系统的核心在于命令行界面,而掌握各种指令是成为熟练的 Linux 用户的关键。本文将详细介绍三个基础且重要的 Linux 指令:`cat`, `cd`, 和 `chmod`。 首先,`cat` 命令,全称为 "concatenate",用于查看...
如果你能够访问这些文件,你可以从中获取更多关于如何在Linux shell中查询Oracle数据库的实用技巧和建议。 总的来说,通过shell脚本和`sqlplus`工具,我们可以高效地在Linux环境下与Oracle数据库交互,进行数据查询...
在这篇文章中,我们将详细介绍 Linux 用户登录失败锁定和解锁机制的实现方法和配置过程。 一、使用 PAM_TALLY2.SO 模块限制用户登录失败 N 次锁定用户 PAM_TALLY2.SO 模块是 Linux 系统中的一种 PAM 模块,用于...
这篇文档将深入探讨如何使用这两个库来创建功能丰富的、用户友好的GUI应用。 首先,GTK+是一个用于构建跨平台用户界面的 widget 工具包,它支持多种编程语言,包括C、C++、Python、Java等。GTK+的核心组件是一系列...
本篇文章将详细讲解 Linux 操作系统中的用户账号管理,包括用户账号的创建、删除、修改、查封、加入组和从组中删除等操作。同时,也将介绍相关的重要文件,如 passwd 和 group 文件,并对其进行详细的解释。 一、...
### Linux图形用户界面GUI及其在嵌入式系统中的应用 #### 第一章 Linux图形用户界面GUI介绍 **GUI(Graphics User Interface)概述:** GUI,即图形用户界面,是现代计算机系统的重要组成部分,极大地简化了人机...
- `-u user_id`:设置用户ID。 ##### 密码管理与用户状态 **passwd**:用于设置密码。 - 示例:`#passwd wangk` - 特殊选项: - `#passwd –l wangk`:锁定密码。 - `#passwd –u wangk`:解锁密码。 - `#...
本文将深入探讨“Linux指令篇”,帮助你迅速掌握Linux系统的日常操作。 一、基础指令 1. `ls`:列出目录内容,通过参数 `-l` 可以查看详细信息,如权限、大小、日期等。 2. `cd`:切换目录,如 `cd /home/user` ...
【Linux服务器配置与管理:Linux用户管理命令】 在Linux服务器管理中,用户管理是一项至关重要的任务,它涉及到系统的安全性、权限控制以及日常运维工作。本篇主要讲解如何使用Linux命令来创建、修改、管理和删除...
Linux 指令是操作系统的核心工具,用于管理文件、目录、权限和其他系统任务。下面将详细介绍几个关键的 Linux 指令:`cat`、`cd`、`chmod` 和 `chown`。 1. **cat**:`cat` 是 "concatenate" 的缩写,用于连接文件...
本篇将基于“Linux命令查询手册”这一主题,深入讲解Linux命令的使用。 一、基础命令 1. **ls**:用于列出目录中的文件和子目录。例如,`ls -l`显示详细信息,`ls -a`显示所有文件包括隐藏文件。 2. **cd**:改变...
20. **clown-newuser CVE-2013-1858**:此漏洞影响Linux内核3.3到3.8版本,攻击者可以通过特制的应用程序来触发该漏洞并获得权限提升。 21. **__sock_diag_rcv_msg CVE-2013-1763**:该漏洞影响Linux内核3.8.3之前...
本篇文章将基于提供的文件信息,详细介绍如何在Linux环境下安装VSFTPD服务并创建、配置FTP用户的过程。 #### 安装VSFTPD服务 在开始之前,请确保你的Linux系统已经更新到最新版本。接着,按照以下步骤安装VSFTPD:...
《完善蓝点Linux2.0用户权限的几个雕虫小技》这篇文档主要讲述了如何优化蓝点Linux2.0操作系统的用户权限设置,以提升系统的易用性和安全性。以下是针对文档内容的详细解释: 首先,文章指出蓝点Linux2.0在默认情况...
这篇文档详细介绍了如何在Linux下添加、删除和修改用户,这些都是Linux系统管理中的关键知识点。以下是这些操作的详细说明: 1. **创建用户**: 使用`useradd`命令来创建新用户。例如,`useradd dapi`会创建一个名...