Linux_权限控制
一、基础命令
命令 | 作用 |
---|---|
groupadd 组名 | 创建用户组 |
id 用户名 | 返回用户信息,检查用户是否存在 |
useradd -g 组名 用户名 | 创建用户,同时指定所属用户组 |
passwd 用户名 | 给用户账号设置密码 |
二、文件权限信息说明
权限信息共分三组,每组三位:
下面介绍 rwx-分别是什么意思:
r:读
读文件:查看文件内容
例如:cat、less、tail 等命令
读目录:查看目录内容
例如:使用 ll 命令查看目录内容
w:写
写文件:向文件中写入新内容
写目录:在目录里面增删内容
例如:在目录内新建文件、删除文件、新建目录、删除目录给目录重命名
x:执行
- 执行文件:把文件当作可执行文件来运行
- 执行目录:使用 cd 命令进入目录
-:无权限
由于每一位要么有权限要么没有权限,所以天然可以使用二进制来表示权限信息:
- 1:有
- 0:无
权限的符号表示 | 权限的二进制表示 | 权限的十进制表示 |
---|---|---|
rwx r-x r-x | 111 101 101 | 7 5 5 |
rw- r– r– | 110 100 100 | 6 4 4 |
解析:从右到左运算
三、chxxx 命令
命令名 | 作用 |
---|---|
chmod | 修改权限信息 |
chown | 修改文件或目录的所属主 |
chgrp | 修改文件或目录的所属组 |
1、修改权限信息前
2、修改权限信息
增加执行权限
1 | chmod +x cut.txt |
3、修改权限信息后
4、再次修改权限信息
移除执行权限
1 | chmod -x cut.txt |
5、修改权限信息后
上面演示的操作方式是同时操作所属主、所属组、其他人三个部分,做相同的设置。
如果希望精确控制每一位的权限值可以使用数值的形式设置。
6、普通用户提升权限
在公司参与开发的过程中,通常我们不会拿到服务器系统的 root 权限,而是普通用户权限。但是普通用户很多操作无法执行。比如在/opt 目录下新建目录:
将需要提权的普通用户加入到 /etc/sudoers 文件中
1 | cd /etc |
99 ## Allow root to run any commands anywhere
100 root ALL=(ALL) ALL
101 用户名 ALL=(ALL) NOPASSWD:ALL
之后就可以用 sudo 命令来临时提权了,因为加入了 NOPASSWD:ALL,所以不用输入密码。
这里有两点需要注意:
- 在同一次登录中,即使不加 NOPASSWD 也只需要输入一次密码,所以 NOPASSWD 是否生效需要退出登录后再重新登录来测试。
- 使用 sudo 提权后创建的目录仍然是 root root 权限,如果有需要那就还要使用 chown 或 chgrp 来修改。
本文采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ShiGuang
评论