用户和权限
- Linux系统是一个多用户的系统,支持多个用户同时登录操作系统
-
在学习过程中使用的是root账户,root账户是系统中默认就存在的管理员账户,拥有对系统的最高权限,他可以去系统的任何地方,执行任何命令。
-
除了root用户以外,还可以创建普通用户,进行系统的使用。
创建用户
- useradd 用户名 这个命令只能由 root 用户执行
在我们创建虚拟机时有个步骤就是让我们设置密码,但是我们在这个命令界面用户后,想要给用户设置密码又该如何操作?
- password 为当前用户重新设置密码
- password 用户名 为指定用户设置密码
创建用户后,要如何切换用户呢?
- sudo 用户名
- su 用户名
如果用户没用密码,在切换用户的时候是不需要输入密码的,如果要切换的用户有设置密码的话那就需要根据提示输入密码。
- 注意:密码是隐藏的,即是输入了它也不会显示,光标也不会动。
那么如果我们要退出当前用户的登录应该用什么命令?
- exit
系统的权限
一个系统中,只有超级管理员用户可以在任何地方,任何位置,输入任何命令。因为这是root用户特有的权限,而普通用户想要执行某些命令需要其他用户的帮助。我们先来了解下面几个问题。
- 什么是权限?
权限是用来限制用户操作,保护数据安全,隔离用户操作的一种机制
- 系统中有几种权限
系统有3种权限:读(r)、写(w)、执行(x)
读---read
写---write
执行---excute
- 权限作用的对象是什么?
权限可以作用在目录上,也可以作用在文件中 (其实系统就是由目录和文件组成的,目录也
可以看作是一种特殊的文件,因此有这些一句话,系统中一切皆文件)
读 | 写 | 执行 | |
目录 | ls命令 | mkdir,touch,cp,rm... | cd |
文件 | cat命令、more命令... | echo > vim | ./文件名 |
权限在系统中的表示法 (数字表示法和字符表示法)
权限 | 字符表示 | 数字表示 |
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
无 | - | 0 |
组合出来的8种权限
权限 | 字符表示 | 数字表示 |
可读可写可执行 | rwx | 7 |
可读可写 | rw- | 6 |
可读可执行 | r-x | 5 |
可读 | r-- | 4 |
读写可执行 | -wx | 3 |
可写 | -w- | 2 |
可执行 | --r | 1 |
没有任何权限 | --- | 0 |
ll 命令
我们可以用这个命令来查询当前目录下,文件的操作权限。
ls和ll命令的区别
- 这两个命令都可以用来读取目录中内容
- ls只会读取文件名, 横排展示 (不需要查看权限信息)
- ll不仅会读取文件名, 还会读取文件的一些权限信息
如何修改权限?
chmod 三个数字 文件名
例如:
chmod 700 文件名 700 => rwx------(文件权限)
chmod 745 文件名 745 => rwxr--r-x
chmod -R 745 文件 -R的作用是递归修改权限
使用 +或-权限字符表示法
chmod +x 文件名 +x默认在3段上都+x
应该谨慎在第三段放开权限,因为第三段的权限是对所有其他用户开放
如果只是想要对某一个人或某几个人开放权限,可以选择在第二段开放权限
查看当前用户和组信息
- uid=是用户的系统编号, 普通用户默认从1000开始
- gid=是用户的原始组编号,默认也是从1000开始
- 组=是用户属于哪些组
改变用户所属的组
保留用户的原始组,扩展到新的组
- 自己同名的组称为原始组
- 自己新增的组称为扩展组
不保留用户原始组,变更到新的组,原始组会变更
变更用户组信息需要用管理员执行
修改了组信息后,用户需要退出登录,从新登录后,组信息才会更新
普通用户申请成功管理员,授予普通用户的管理员身份
- 在系统中,一些系统级别的指令,普通用户是没有权限执行的
- 在系统中,一些系统级别的目录,普通用户是没有权限进入的
授予普通用户管理员的身份,这个事情需要root来操作
- 修改系统文件 vim /etc/sudoers (这个文件是获取管理员身份的配置文件)
注意:如果还没有安装vim的可以使用vi命令,vi是系统自带的编辑文件工具
也可以使用 yum install -y vim 下载vim工具。
文件中所有以 ## 蓝色的文字全部是注释,就是一些说明
- 如果进入文件 发现什么内容都没用说明文件名可能打错了,使用Shfite + 冒号键 进入vim的底行模式,输入q!退出文件。
- 如果进入文件有内容,则也是用Shifte + 冒号进入底行模式后,输入set nu 来显示行号,行号显示后,再次进入底行模式 输入99 来到第99行位置。
- 移动光标在99行处输入2yy进行复制,然后移动光标到101行处输入p进行粘贴
- 对照着上面的内容,把root 修改为我们要给与管理员权限的用户的用户名。
- 保存并且退出文件后,这个用户就拥有了与root用户相同权限的等级。
普通用户获取到管理员身份后,想要以管理员身份执行某个命令,或者去系统中的某个地方,需 要在命令的前面加上 "sudo" 命令,以管理员身份执行,如果没有加sudo命令,依然是以普通,用户身份执行 则会无权使用这些命令,并且使用的记录会被系统以邮件的形式发送给root(管理员)。
管理员可以在/etc/var/mail找到自己名字的邮箱文件夹。