小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
这篇文章我们来讲一个极为重要的内容,可以说是 Linux 基础中的重点:用户和权限。
一、前言
Linux 是一个多用户系统,可以实现多人同时不同地点地登录一个 Linux 系统,而每个人有不同的权限,这些权限规定了每个人能够做什么,不能够做什么。
正因为多用户这个特性,所以更要严加管理每个用户,以防止互相干扰,甚至越权行为。因为万一有居心叵测的用户拥有了高度权限,对所有用户岂不是一种威胁么。
所以,Linux 系统中的每个用户都有自己独立的账号,而且其账号受着权限的制约。
二、用户组织结构
Linux 中用户组织的一般可能形式如下:
在我们装完 Linux 系统后,假如我们创建的个人用户叫做 oscar,那么这时系统中只有两个用户:root 和 oscar。
- root 用户是默认会创建的,因为是系统的大管家,超级用户。
- oscar 则是我自己创建的用户。
我们只在必要时才会切换为 root 身份。其它时候,我们都是用有限权限的用户,比如你创建的admin、user1等等。
这一简单的保护措施大大地提高了 Linux 系统的安全性,有效防止误操作或是病毒的攻击。因为如果你是以个人用户身份登录系统,被病毒控制了电脑,那么它也只能做有限的事,不能为所欲为。但假如你以 root 用户登录系统,那么劫持你的病毒就可以胡作非为了,甚至毁了你的系统。
三、成为超级用户root
3.1 暂时成为root
sudo vim <filename>
对于普通用户,很多时候是不能编辑保存比如etc目录下的文件,这个时候就需要sudo临时提示权限,一般输入上面的命令后是要输入自己账号的密码的,并且并不能保证所有的用户都能使用成功,比如是wheel组下的用户才能成功。
3.2 一直成为root
如果想要一直长使用root的权限,可以通过以下的命令:
sudo su
终端会要求我们输入个人用户的密码,就是那一行:
[sudo] password for oscar:
可以看到,运行了 sudo su 之后,我们的命令行提示符从 oscar@oscar-laptop:~$ 变成了 root@oscar-laptop:/home/oscar。
如果要退出 root 用户,重新回到个人用户身份,用 exit 命令就可以完成。