Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
linux基础知识-10
Theme area
918
views ·
0
replies ·
To
floor
Go
老陌
deepin
2018-07-14 23:21
Author
本帖最后由 myccloves 于 2018-7-14 15:22 编辑
参见:
https://www.cnblogs.com/myccloves/p/9309716.html
可以通过/etc/passwd和/etc/group查看用户名,组名,用户ID,组ID等信息,但我们一般通过命令来查看用户相关的信息。
一、id命令
用id命令来确定用户的成员身份信息。
默认情况下(没有参数),id命令显示当前用户信息。 显示uid,gid,用户所属主要组,用户所属次要组。
如果只想要知道部分信息可以添加参数:
id [option] [username]
选项 说明
-g, --group 只打印主要组ID
-G, --groups 打包所有组id
-u, --user 只打印用户id
-n,--name 显示用户名或组名,默认是显示ID,需要和上面的选项配合使用
例:打印用户所有组
id -Gn
Copy the Code
二、whoami命令
此命令打印当前用户名,与 id -un效果一样。
一般在bash shell的提示符中,显示了用户名,所以很少用。但有些shell只显示一个$,这样whoami就很有用了。
三、当前登录的是谁?
之前我们学过通过who命令来查看当前谁登录了系统。还有两个命令可以查看谁登录了系统:users, w
users最简单,只打印登录的用户名。
who命令可以显示用户名,登录的终端,登录的时间信息。
w显示更多的信息:
第一行显示:当前时间,自开机以来运行时间,用户数量,1,5,15分钟的平均负载。 之后显示的是:
列: 说明
USER: 用户名
TTY: 用户登录的终端
FROM: 如果用户从网络登录,显示登录地址
LOGIN@: 用户开始会话时间
IDLE: 终端已经空闲的时间
JCPU: 与此终端会话相关的进程所消耗CPU时间
PCPU: 当前进程消耗CPU时间
WHAT: 用户当前进行进程
四、转换身份
在linux中,用户想临时变成另一个用户,比如:张三想临时用我的终端,这时需要切换(switch user)到他的用户,这个命令就是:su
su把用户id转换到指定的user,如果没有指定用户名则切换到root
su [options] [user]
选项 说明
- 使shell成为登录shell
-c 运行指定命令,然后返回
-m,-p 保持当前环境
-s, --shell=SHELL 用SHELL作为新用户的shell
注意:在切换用户时,需要知道用户的密码。
(一)登录shell和非登录shell
当执行 su test 时称为非登录shell,这个shell运行的命令都属于test用户,但这个shell的许多环境都从原先用户那里继承。为了作为新用户完全登录需要执行: su - test,这个shell称为登录shell。
(二)切换到根用户
su -
su - root
Copy the Code
不指定用户名,默认就切换到根用户,根用户的提示符是#,而普通用户的提示符是:$
五、次要组转换主要组
我们可以临时修改用户的主要组,使用newgrp命令。 注意这个组必须是用户的次要组(也就是把次要组转换为主要组),一旦用户注销后则恢复初始状态。
newgrp testgroup
如果newgrp后面没有参数,则切换到同用户名相同的组。
例:
touch abc创建文件abc,发现文件所属组是cclove, 之后用id -nG 查看一下当前用户的次要组有很多,我们选择lp做为主要组,使用:newgrp lp命令。 之后我们再创建文件 touch abd发现abd文件的属组变成了lp。
最后用id查看一下用户信息,发现主要组变成了lp
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
Featured Collection
Change
[Tutorial] deepin25 WSL Offline Installation Guide
UOS AI 2.8 Released! Three New Intelligent Agents & Major Evolution
Solid Q&A | deepin 25 Common Questions – The Immutable System Edition
New Thread
Popular Ranking
Change
【Enhanced Repo】Better Deepin Repo is released
Popular Events
More
参见:https://www.cnblogs.com/myccloves/p/9309716.html
可以通过/etc/passwd和/etc/group查看用户名,组名,用户ID,组ID等信息,但我们一般通过命令来查看用户相关的信息。
一、id命令
用id命令来确定用户的成员身份信息。
默认情况下(没有参数),id命令显示当前用户信息。 显示uid,gid,用户所属主要组,用户所属次要组。
如果只想要知道部分信息可以添加参数:
id [option] [username]
选项 说明
-g, --group 只打印主要组ID
-G, --groups 打包所有组id
-u, --user 只打印用户id
-n,--name 显示用户名或组名,默认是显示ID,需要和上面的选项配合使用
例:打印用户所有组
二、whoami命令
此命令打印当前用户名,与 id -un效果一样。
一般在bash shell的提示符中,显示了用户名,所以很少用。但有些shell只显示一个$,这样whoami就很有用了。
三、当前登录的是谁?
之前我们学过通过who命令来查看当前谁登录了系统。还有两个命令可以查看谁登录了系统:users, w
users最简单,只打印登录的用户名。
who命令可以显示用户名,登录的终端,登录的时间信息。
w显示更多的信息:
第一行显示:当前时间,自开机以来运行时间,用户数量,1,5,15分钟的平均负载。 之后显示的是:
列: 说明
USER: 用户名
TTY: 用户登录的终端
FROM: 如果用户从网络登录,显示登录地址
LOGIN@: 用户开始会话时间
IDLE: 终端已经空闲的时间
JCPU: 与此终端会话相关的进程所消耗CPU时间
PCPU: 当前进程消耗CPU时间
WHAT: 用户当前进行进程
四、转换身份
在linux中,用户想临时变成另一个用户,比如:张三想临时用我的终端,这时需要切换(switch user)到他的用户,这个命令就是:su
su把用户id转换到指定的user,如果没有指定用户名则切换到root
su [options] [user]
选项 说明
- 使shell成为登录shell
-c 运行指定命令,然后返回
-m,-p 保持当前环境
-s, --shell=SHELL 用SHELL作为新用户的shell
注意:在切换用户时,需要知道用户的密码。
(一)登录shell和非登录shell
当执行 su test 时称为非登录shell,这个shell运行的命令都属于test用户,但这个shell的许多环境都从原先用户那里继承。为了作为新用户完全登录需要执行: su - test,这个shell称为登录shell。
(二)切换到根用户
不指定用户名,默认就切换到根用户,根用户的提示符是#,而普通用户的提示符是:$
五、次要组转换主要组
我们可以临时修改用户的主要组,使用newgrp命令。 注意这个组必须是用户的次要组(也就是把次要组转换为主要组),一旦用户注销后则恢复初始状态。
newgrp testgroup
如果newgrp后面没有参数,则切换到同用户名相同的组。
例:
touch abc创建文件abc,发现文件所属组是cclove, 之后用id -nG 查看一下当前用户的次要组有很多,我们选择lp做为主要组,使用:newgrp lp命令。 之后我们再创建文件 touch abd发现abd文件的属组变成了lp。
最后用id查看一下用户信息,发现主要组变成了lp