相关知识
通过学习,你将掌握如下知识点: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
命令后回车,然后根据提示再输入用户名和密码。
常见命令参数
- -p:告诉login指令不销毁环境变量;
- -h:指定远程服务器的主机名。
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=<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**************#