相关知识
通过学习,你将掌握如下知识点:Linux用户登陆的三种方式
图形化界面登录
Linux中添加用户后,用户在图形界面登录系统的方式和Windows一样,都是选择要登录的用户后直接输入登录密码即可。
案例演示
1: 添加一个新用户,并且设置登录密码,然后在图形界面登录。
- root@evassh-12053448:~# useradd newuser #新建用户
- root@evassh-12053448:~# passwd newuser #添加密码
- Enter new UNIX password:
- Retype new UNIX password:
- passwd: password updated successfully


使用login命令登录
login命令是让用户登录系统,可通过它的功能随时更换登入身份。当/etc目录里含名称为nologin的文件时,系统只允许root帐号登入系统,其他用户一律不准登入。
当使用login命令登录系统后,可以使用logout命令或者exit命令来退出当前用户登录,返回到登录前的用户状态。
命令格式:
login [命令参数] 参数
参数为登录的用户名,可以不输入登录的用户名,直接输入login命令后回车,然后根据提示再输入用户名和密码。
常见命令参数
login必须以root权限才能执行,如果是普通用户执行时,需要在命令前加sudo命令来提升权限为root权限。
案例演示
1: 使用login命令来登录系统(文件/etc/nologin不存在)。
首先查看当前登录的用户名是fzm。
- [fzm@ubuntu: ~]# whoami
- fzm
- [fzm@ubuntu: ~]#
使用newUser用户来登录系统,然后查看当前登录的用户名。
- root@evassh-12053448:~# login
- evassh-12053448 login: newuser
- Password:
- newuser@evassh-12053448:/root$ whoami
- newuser
- newuser@evassh-12053448:/root$
使用logout或者exit命令退出newUser用户,然后在查看当前登录用户。
- newuser@evassh-12053448:/root$ exit
- exit
- root@evassh-12053448:~# whoami
- root
2: 使用login命令来登录系统(文件/etc/nologin存在)。
首先查看当前登录的用户名。
- root@evassh-12053448:~# whoami
- root
- root@evassh-12053448:~# _
在/etc目录下新创建一个nologin文件,使用如下命令创建:
sudo touch /etc/nologin
使用普通用户newUser来登录系统,查看是否可以登录成功。
- root@evassh-12053448:~# touch /etc/nologin
- root@evassh-12053448:~# login
- evassh-12053448 login: newuser
- Password:
-
-
- Authentication failure
-
- evassh-12053448 login: root
- Password:
-
- root@evassh-12053448:~# whoami
- root
- root@evassh-12053448:~# _
发现使用newUser用户是无法登录系统的,只有使用root用户才能登录系统。
使用su命令切换用户身份
su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号的密码。
当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。
注:如果当前用户身份是root,则使用su命令切换到其他用户的时候不需要相应用户的密码
命令格式:
su [命令参数] 参数
参数为登录的用户名,如果没有参数,则默认切换为root用户。
常见命令参数
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;-l或--login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;-m,-p或--preserve-environment:变更身份时,不要变更环境变量;-s或--shell=:指定要执行的shell。su命令所有使用者都可以执行。
案例演示
1: 使用su命令切换当前用户身份(不改变当前工作目录)。
首先查看当前登录的用户名是fzm,当前工作目录是/home/fzm。

切换当前用户为newUser用户,然后查看当前用户身份和当前工作目录。

使用exit命令退出newUser用户,然后在查看当前登录用户身份和当前工作目录。

2: 使用su命令切换当前用户身份(改变当前工作目录)。
首先查看当前登录的用户名是fzm,当前工作目录是/home/fzm。

切换当前用户为newUser用户,然后查看当前用户身份和当前工作目录。

使用exit命令退出newUser用户,然后在查看当前登录用户身份和当前工作目录。

练习:
新创建一个用户newUser,并且设置登录密码;
使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份。
- #!/bin/bash
-
- #创建newUser新用户
- #***********begin*************#
-
- useradd newUser
-
-
- #************end**************#
-
- #在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
- #例如:
- #command << EOF
- #password
- #password
- #EOF
-
- #***********begin*************#
- passwd newUser << EOF
- 123123
- 123123
- EOF
- #************end**************#
-
- #使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份;
- #提示使用su命令的-c参数完成
-
- #***********begin*************#
- su -c whoami newUser
-
- exit
-
- #************end**************#