Linux用户与组管理:命令详解

0 下载量 135 浏览量 更新于2024-08-29 收藏 69KB PDF 举报
本文主要介绍了Linux系统中与用户和组管理相关的命令,包括查看已登录用户、获取最后登录用户信息、统计默认Shell使用情况以及修改`/etc/passwd`文件中特定字段的内容。 在Linux系统中,用户和组管理是系统管理员日常工作中不可或缺的一部分。下面我们将详细探讨这些命令: 1. **列出当前系统上所有已登录的用户名**: 使用`who`命令可以查看当前系统中有哪些用户已经登录,并显示他们的终端(pts/编号)、登录时间以及远程主机地址。如果一个用户通过多个终端登录,`who`命令会显示一次该用户的登录信息。例如: ```bash [root@node2 ~]# who ``` 2. **获取最后登录当前系统的用户信息**: `last -1`命令用于显示最后登录的用户及其相关信息,包括登录的终端、IP地址、登录时间以及是否仍然在线。如: ```bash [root@node2 ~]# last -1 ``` 3. **统计默认Shell使用情况**: 可以通过`cat /etc/passwd`结合其他命令来统计每个Shell的使用数量,找出最常用的Shell。首先用`cut`命令提取出第七列(即Shell路径),然后用`sort`排序,接着使用`uniq -c`计算每个Shell出现的次数,最后用`sort -n`按数量排序并用`tail -1`取出现次数最多的Shell。例如: ```bash [root@node2 ~]# cat /etc/passwd | cut -d: -f7 | sort | uniq -c | sort -n | tail -1 ``` 4. **修改`/etc/passwd`文件中的内容**: 要修改`/etc/passwd`文件,这里是一个示例:找到字段数值第三大的10个用户,将它们的用户名全部转换为大写并保存到`/tmp/maxusers.txt`。首先使用`sort -nk3 -t:`按第三列数值排序,然后取最后10行,最后使用`tr`命令将小写字母转换为大写: ```bash [root@node2 ~]# cat /etc/passwd | sort -nk3 -t: | tail | tr '[a-z]' '[A-Z]' > /tmp/maxusers.txt ``` 以上就是关于Linux系统中用户和组管理的一些基本命令。在实际操作中,我们还需要了解如何创建、删除用户和组,设置密码策略,管理用户权限等。例如,`useradd`用于创建新用户,`userdel`用于删除用户,`groupadd`和`groupdel`分别用于创建和删除组,`passwd`命令用于设置或更改用户密码,`chown`和`chgrp`用于改变文件的所有者和组,`chmod`用于调整文件或目录的权限。理解并熟练运用这些命令,对于管理和维护Linux系统至关重要。