Linux里查看所有用户
在终端里.其实只需要查看 /etc/passwd文件就行了。
看第三个参数:500以上的,就是后面建的用户了,其它则为系统的用户。
或者用下面命令,列出所有的用户名:
cat /etc/passwd |cut -f 1 -d :
Linux 系统中用户信息存放在 /etc/passwd 文件中。
这是一个包含每个用户基本信息的文本文件。当我们在系统中创建一个用户,新用户的详细信息就会被添加到这个文件中。
/etc/passwd 文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段。
7 个字段的详细信息如下。
用户名 (magesh): 已创建用户的用户名,字符长度 1 个到 12 个字符。
密码(x):代表加密密码保存在 `/etc/shadow 文件中。
**用户 ID(506):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
**群组 ID (507):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。
**用户信息(2g Admin - Magesh M):代表描述字段,可以用来描述用户的信息(LCTT 译注:此处原文疑有误)。
**家目录(/home/mageshm):代表用户的家目录。
**Shell(/bin/bash):代表用户使用的 shell 类型。
/etc/passwd 文件的一行代表一个单独的用户。该文件将用户的信息分为 3 个部分。
* 第 1 部分:`root` 用户信息
* 第 2 部分:系统定义的账号信息
* 第 3 部分:真实用户的账户信息
第一部分是 root 账户,这代表管理员账户,对系统的每个方面都有完全的权力。
第二部分是系统定义的群组和账户,这些群组和账号是正确安装和更新系统软件所必需的。
第三部分在最后,代表一个使用系统的真实用户。
在创建新用户时,将修改以下 4 个文件。
/etc/passwd
: 用户账户的详细信息在此文件中更新。/etc/shadow
: 用户账户密码在此文件中更新。/etc/group
: 新用户群组的详细信息在此文件中更新。/etc/gshadow
: 新用户群组密码在此文件中更新。
用户管理命令
命令 | 作用 | 例子 |
---|---|---|
useradd | 添加用户 | |
adduser | 添加用户 | |
passwd | 为用户设置密码 | passwd user1 注意:没有设置密码的用户不能使用 |
usermod | 修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等; | 将用户 user1的登录名改为 u1,usermod –l u1 user1 |
pwcov | 同步用户从/etc/passwd 到/etc/shadow | |
pwck | pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整; | |
pwunconv | 是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件; | |
finger | 查看用户信息工具 | |
id | 查看用户的UID、GID及所归属的用户组 | |
chfn | 更改用户信息工具 | |
su | 用户切换工具 | |
sudo | sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现; | |
visudo | visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的; | |
sudoedit | 和sudo 功能差不多; |
详细使用:
在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。
创建用户user1的时候指定其所属工作组users,例:useradd –g users user1
管理用户组(group)的工具或命令
命令 | 作用 | 例子 |
---|---|---|
groupadd | 添加用户组; | |
groupdel | 删除用户组; | |
groupmod | 修改用户组信息 | groupmod –n user users 修改组名users为user |
groups | 显示用户所属的用户组 | |
grpck | ||
grpconv | 通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建; | |
grpunconv | 通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件 |
扩展
使用 getent 命令
getent 命令显示 Name Service Switch 库支持的数据库中的条目。这些库的配置文件为 /etc/nsswitch.conf。
getent 命令显示类似于 /etc/passwd 文件的用户详细信息,它将每个用户详细信息显示为包含七个字段的单行。
getent passwd
使用 compgen 命令
compgen 是 bash 的内置命令,它将显示所有可用的命令,别名和函数。
compgen -u
其他扩展
一、用户:
在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user1
1、使用命令 useradd 创建用户
例:useradd user1——创建用户user1
useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期
用户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID,
例:useradd –u 600 user3
2、使用 passwd 命令为新建用户设置密码
例:passwd user1
注意:没有设置密码的用户不能使用。
3、命令 usermod 修改用户账户
例:将用户 user1的登录名改为 u1,
usermod –l u1 user1
1
例:将用户 user1 加入到 users组中,
usermod –g users user1
1
例:将用户 user1 目录改为/users/us1
usermod –d /users/us1 user1
1
4、使用命令 userdel 删除用户账户
例:删除用户user2
userdel user2
1
例:删除用户 user3,同时删除他的工作目录
userdel –r user3
1
5、查看用户信息
id命令查看一个用户的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用户的主目录、启动shell、用户名、地址、电话等信息
例:finger user4
二、用户组:
6、命令 groupadd创建用户组
groupadd –g 888 users
1
创建一个组users,其GID为888
7、命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
例:把 user1加入users组
gpasswd –a user1 users
1
例:把 user1退出users组
gpasswd –d user1 users
1
8、命令groupmod修改组
groupmod –n user users 修改组名user为users
9、groupdel删除组
groupdel users 删除组users
三、命令详解:
◆ useradd命令
- 作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
- 格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
1
3. 主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。(-s 后面填写此用户登录后使用的shell种类的路径,shell在/bin目录下一般有/bin/sh 、 /bin/bash 、 /bin/ksh 、/bin/tcsh、/bin/zsh ;shell是用户与系统沟通的接口,各种不同的shell只是命令语法有所不同而已。)
-u:指定用户ID号。
- 说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
应用实例
建立一个新用户账户,并设置ID:
#useradd caojh -u 544
1
需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
◆ groupadd命令
- 作用
groupadd命令用于将新组加入系统。
- 格式
groupadd [-g gid] [-o]] [-r] [-f] groupname
1
3. 主要参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
- 应用实例
建立一个新组,并设置组ID加入系统:
#groupadd -g 344 cjh
1
此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155684.html