Linux入门之用户及文件权限管理

时间:2021-01-18 16:17:44

本文知识点

1.Linux用户管理
2.Linux权限管理

一、Linux用户管理及权限

Linux系统是一个可以实现多用户登陆的操作系统,多个不同账户都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的用户管理权限机制,不同用户不可以轻易地查看、修改彼此的文件。

1.1 查看账户

Linux用whoami命令来查看当前用户,这甚至会让你误以为在和机器对话:

$ who am i
或者是
who mom likes

1.2 创建用户与账户权限

Linux操作系统中,root 账户有着整个系统中至高无上的权限,甚至高于win中常见的administrator账户,其有着新建/添加/删除用户的特权。

root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

我们前面谈到,只有root账户才有着创建新账户的特权,但root账户是一个系统中权限最高的账户,显然对其频繁的使用会提高系统受入侵的风险,这时他便需要将权限授权给其他用户,使其代理root账户完成其职能。这就是sudo用户组的由来。

先要介绍用户组的概念:在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源。
$ groups “user_name” 命令可以让你知道用户所属的用户组是哪些,而所有用户组及其用户的信息是被保存于/etc/group文件之中的,使用cat命令可以查看当前主机上所有用户组的信息。
注意:一个用户是可以属于多个用户组的。

想创建一个新账户,首先你当前使用的账户要处于sudo用户组内,即其已经被赋予了root账户的权限。由于其并非真正的root账户,其使用越权的命令前要使用 sudo 作为前缀,如用$ sudo adduser “user_name”命令以创建新账户。su “user_name”命令可以切换当前账户。

1.3 将其它用户加入 sudo 用户组:

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限,为达到此目的,你首先需要将当前用户切换至一个已在sudo用户组中的用户,再使用usermod命令:$sudo usermod -G sudo “user_name”


二、Linux文件权限

2.1 查看文件权限

ls (list files)命令是Linux中的一条常见命令,功能甚多,在加上 -l后可以长格式列出所有文件的长格式,在实验楼环境下终端显示如图:
Linux入门之用户及文件权限管理

其对于单个文件的描述有如下的构成要素:
Linux入门之用户及文件权限管理

2.2 变更文件所有者

$ sudo chown “user_name” “file_name”

2.3 修改文件权限

最简易的方法便是通过加减赋值操作完成对文件权限的修改,Linux中的文件权限包括了r(可读)、w(可写)与x(可执行)三种权限,通过命令 $ chmod “gou”(choose groups/others/user) +/-(add or delete) “rex”(choose the permission)完成对特定对象(用户或用户组)的权限修改。


p.s.这是我的第一篇博客,刚刚开始学习Linux,由于时间原因后面关于文件权限的部分写得比较简略。