1 切换用户命令(su)
su
命令可以切换成不同的用户身份,命令格式如下:
[root@localhost ~]# su [选项] 用户名
选项:
-
:选项只使用"-"代表连带用户的环境变量一起切换;
-c
命令:仅执行一次命令,而不切换用户身份
"-"不能省略,它代表切换用户身份时,用户的环境变量也要切换成新用户的环境变量。大家知道环境变量是用来定义用户的操作环境的,如果环境变量没有随用户身份切换,那么很多操作将无法正确执行。
例如,普通用户 lamp 切换成超级用户 root,但是没有加入"-",那么虽然是 root 用户,但是 $PATH 环境变量还是 lamp 用户的,不包含 /sbin、/usr/sbin 等超级用户命令保存路径,所以无法使用管理员命令;而且 root 用户在接收邮件时,还会发现收到的是 lamp 用户的邮件,因为环境变量 $MAIL 没有切换过来。
【例 1】
[lamp@localhost ~]$ whoami
lamp
#查询用户身份,我是lamp
[lamp@localhost ~]$ su root
密码:
<-输入root密码
#切换到root,但是没有切换环境变量。注意:普通用户切换到root需要密码
[root@localhost ~]# env | grep lamp
#查看环境变量,提取包含lamp的行
USER=lamp
#用户名还是lamp,而不是root
PATH=/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/u
2 查看本机的所有登录记录(last)
Linux last
命令用于显示用户最近登录信息。
单独执行 last 指令,它会读取位于 /var/log/目录下,名称为 wtmp 的文件,并把该文件记录登录的用户名,全部显示出来。
参数说明:
options:
- -R 省略主机名 hostname 的列
- -a 把从何处登入系统的主机名称或IP地址显示在最后一行。
- -d 将IP地址转换成主机名称。
- -f<记录文件> 指定记录文件。
- -n<显示行数>或-<显示行数> 显示名单的行数。
- -R 不显示登入系统的主机名称或IP地址。
- -x 显示系统关机,重新开机,以及执行等级的改变等信息。
username: - username: 显示指定用户 username 的登录信息。
tty: - tty 设置登录的终端,tty 的名称可以缩写, last 0 与 last tty0 相同。
3 退出当前登录账户(exit)
4 su和last的详细解释
- su指令:
在Linux系统中,su(Substitute User)指令用于切换当前用户身份到其他用户身份。它可以让普通用户临时提升为超级用户(root),或者从一个用户切换到另一个用户。下面是对su指令的详细解释:
su命令的基本语法如下:
su [选项] [-] [用户名]
其中,选项主要包括:
-
: 以目标用户的环境变量来运行shell。-c
:后跟指令,执行完毕后退出。-l
或-
: 以目标用户的环境变量来运行shell。
如果不指定用户名,则默认切换到超级用户(root)。当提供了用户名时,su会要求输入目标用户的密码来验证身份。
su指令的主要功能包括:
- 切换用户:通过su命令可以切换到其他用户,比如从普通用户切换到root用户。这样可以获得超级用户权限,执行需要特殊权限才能完成的任务。
- 执行命令:使用
-c
选项,可以在切换用户后直接执行特定的命令,而无需手动切换用户。
注意事项:
- 需要正确输入目标用户的密码才能切换成功。
- 使用su命令切换到root用户时,请确保谨慎操作,并只在必要时使用。因为root用户具有最高权限,错误的操作可能导致系统损坏或数据丢失。
- last指令:
在Linux系统中,last指令用于显示登录系统的用户信息记录。它能够列出过去登录到系统的用户列表,以及他们登录和注销的时间。下面是对last指令的详细解释:
last命令的基本语法如下:
last [选项] [用户名]
其中,选项主要包括:
-f
:指定记录文件路径,默认为/var/log/wtmp。-n NUM
:显示最近的NUM个记录。-t YYYYMMDDHHMMSS
:仅显示指定时间之后的记录。用户名
:显示指定用户的登录记录。
last指令的主要功能包括:
- 显示登录记录:通过last命令可以查看系统中所有用户最近的登录记录信息,包括登录和注销的时间、登录IP地址等。
- 过滤特定用户:可以指定用户名来过滤出某个特定用户的登录记录。
注意事项:
- last命令默认读取/var/log/wtmp文件作为记录文件,该文件记录了用户的登录和注销信息。若想查看历史登录记录需具备相应权限。
- last命令只能显示已经注销的用户记录,无法实时跟踪当前正在登录使用中的用户。
总结起来,su指令可用于切换用户身份,允许普通用户提升权限或从一个用户切换到另一个用户;last指令用于显示登录系统的用户信息记录,列出过去登录到系统