1,查看用户
who am i或者是who mom likes又或者是who -m系统会显示如下:
2,who参数如下:
运行结果:注意这里打开了两个伪终端
3,root介绍
在Linux中,root账户拥有整个系统至高无上的权利,root权限是系统权限的一种,与system权限可以理解为一个概念。但是它高于administrators权限。root是Linux中超级管理员用户账户,该账户拥有系统至高无上的权利,是所有对象它都可以操作。所以很多黑客在入侵电脑时,都会把权限提升到root权限。这时你可以对系统文件或者其他任何文件进行增删改查。
4,su 和sudo用法和实例
日常操作中为了避免一些错误的操作,更加安全的管理系统通常使用的身份都为普通用户。而非root,当需要执行一些管理员命令时,需要切换root身份去执行才行。
普通用户需要切换到root身份有两种方式su和sudo:
(1),su - (su是switch user的缩写即切换用户的意思)格式如下:
su -l username (l-login登录的缩写)可以将-l省掉,此时su - username。如果不指定username,默认用户为root,所以直接切换到root身份的命令为su - root 或者是su -。
(2),su - 和su
su - username 切换用户后,同时切换到新用户的工作环境。
su username 切换用户后,不改变原用户的工作目录,即其他环境变量目录。
(3),sudo
使用su切换用户时需要知道对应用户的登录密码,即若要切换root用户时,需要知道root用户的登录密码。作为root用户管理员如何如何授权其他普通用户在不知道root密码时,执行root权限的命令操作。此时可使用sudo。
sudo是一种权限管理机制,依赖于etc/sudoers。定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令。其格式如sudo -u username command
当普通用户通过sudo以root用户执行命令时,sudo后面的-u username可以省略。默认情况下只有root用户才可以执行sudo命令。需要root用户通过使用visudo编辑sudo的配置文件etc/sudoers才可以授权其他普通用户用sudo命令。
假如使用普通账户lilei通过sudo以root用户执行命令tail /etc/shadow时,即被提醒lilei没被写在sudoers文件中,无法执行此命令。
sudo命令
语法:sudo [-bhHpV][-s ][-u <用户>][指令]
或 sudo [-klv]
参数:
-b 在后台执行指令。
-h 显示帮助。
-H 将HOME环境变量设为新身份的HOME环境变量。
-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
-l 列出目前用户可执行与无法执行的指令。
-p 改变询问密码的提示符号。
-s 执行指定的shell。
-u <用户> 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
-v 延长密码有效期限5分钟。
-V 显示版本信息。
-S 从标准输入流替代终端来获取密码
4,sudoers
sudo的配置文件是/etc/sudoers,sudoers文件中允许指定用户在不知道root用户的登录密码的前提下,可以以root身份去执行任何命令。此文件必须用visudo命令配置编辑。visudo命令可以提供快速的正确性及有效性检查,以及语法的正确性。查看sudoers文件时,其中有一行如下图,定义了允许root用户从任何主机登录,使用sudo可以切换成任何用户的身份执行所有命令。
5,设置普通用户wuyang,使其可以使用sudo命令以root用户的身份修改其他所有用户的登录密码。但不能修改root用户的登录密码。
未授权前wuyang使用sudo以root用户修改lilei的登录密码时,提示wuyang没被定义在sudoers文件中无法执行。并且此事将被报告。
执行visudo命令,编辑sudoers文件,添加一行:用户账户user4,可以从任何主机登录,执行三条命令(以root身份执行passwd命令后面不加用户名时,即代表修改root本身的登录密码。此即为第一条命令的作用。如下图,可实现user4修改除root用户之外的所有其他用户的密码。)
6,设置组admistrators内所有成员都可以通过sudo以root用户身份执行所有命令,且不需要验证本身的验证密码。
7,