Linux作为一种广泛使用的操作系统,以其稳定性、灵活性和安全性而闻名。在Linux中,用户和权限是管理访问控制和确保系统安全性的核心概念。深入理解Linux用户和权限对于系统管理员、开发人员和普通用户来说都是至关重要的。
我将为大家全面介绍Linux中的用户和权限概念,深入解析其原理和用法,以及探讨如何正确配置和管理文件和目录的访问权限。
无论是Windows、MacOs还是Linux都采用多用户的管理模式进行权限管理。
在学习 Linux 用户之前,我们首先要知道 Linux 的 root 用户。root 用户也叫 超级管理员,与普通用户不同的是:普通用户的很多权限受到限制,而 root 用户拥有 Linux 操作系统的最大权限。
①su 命令
那么我们如何从普通用户切换到 root 用户,或者如何从 root 用户切换到 普通用户呢?我们使用 su [-] [用户名]
来进行用户之间的切换。
su - handsome
su - root
②exit 命令
使用 exit
命令之后,会退出当前用户,回到上一次的用户。
当然,如果我们觉得 exit
命令麻烦的话,也可以直接使用快捷键 CTRL + C
退出当前用户,回到上一用户。
俗话说:地位越高,风险越大。root 用户作为拥有最高权限的管理员,需要格外的注意每一条命令的使用,因为 root 用户执行操作的时候也不会有提示,所以很容易造成不可挽回的后果。也就是说我们不应该长时间处于 root 管理员身份。
不处于管理员身份的话,那么如果我们想要执行普通用户不具有的权限的时候,要来回切换用户吗?这样会显得很麻烦,我们可以使用 sudo 命令
来使我们执行这条命令的时候是处于 root 用户的身份的。
我们要想使用 sudo ,还需要为普通用户配置 sudo 认证
visudo
命令,会打开一个文件用户名 ALL=(ALL) NOPASSWD: ALL
sudo mkdir /test2
在Linux系统中,用户(User)和用户组(Group)是用于管理和识别系统中的个人用户和集合用户的概念。
通过使用用户和用户组的概念,Linux系统能够实现细粒度的权限管理和资源控制。管理员可以根据需要分配用户所属的用户组,并为每个用户组设置特定的权限。这样可以方便地管理文件和目录的访问权限,并确保用户和应用程序以安全、可管理的方式操作系统。
用户组命令需要我们在 root 管理员的身份下执行。
useradd [-g -d] 用户名
useradd -g itcast -d /home/test test
userdel [-r] 用户名
id [用户名]
usermod -aG 用户组 用户名
使用 getent passwd
命令可以查看当前系统有哪些用户。
显示出来的信息分为七部分:
使用 getent group
查看当前系统的用户组
显示出来的信息分为三部分:
当我们使用 ls -l
的时候,显示出来的信息,我们是否想要直到它显示出来的信息各个部分是什么意思呢?
我们知道了哪些代表权限信息,那么每一个字母又代表什么呢?
我们可以看到,当前处于 handsome用户,不属于 boot 文件夹的用户和用户组,属于其他用户权限,所以我们看权限的时候就看后三位 r-x
表示其他用户对于该文件夹只有读和执行的权限。
假如我们对该文件夹执行创建、删除、改名等操作看看会怎么样?
请求被拒绝了,这也就说明了其他用户对该文件夹只有读和执行的权限,而没有创建、删除、改名的权限。
chmod [-R] 权限信息 文件或文件夹
因为不同部分的权限信息代表的含义不同,所以我们需要使用 u
g
o
来分别表示用户、用户组、其他用户权限,并且我们修改文件或者文件夹的权限信息只能以 root 管理员的身份修改
我们修改 handsome/home/test.txt
的权限信息。
在 Linux 中,如果文件或文件夹被标识为绿色,则表示不安全。
修改文件夹权限信息。
修改权限信息的时候,使用 u=rwx 等会不会觉得很麻烦呢?Linux 为我们提供了一种简单以数字的形式来代表权限信息的方式。
chown [-R] [用户名][:][用户组名] 文件或文件夹
该操作也只能在 root 管理员的身份下执行