一、基础命令

命令作用
groupadd 组名创建用户组
id 用户名返回用户信息,检查用户是否存在
useradd -g 组名 用户名创建用户,同时指定所属用户组
passwd 用户名给用户账号设置密码

二、文件权限信息说明

权限信息共分三组,每组三位:

下面介绍 rwx-分别是什么意思:

  • r:读

    • 读文件:查看文件内容

      例如:cat、less、tail 等命令

    • 读目录:查看目录内容

      例如:使用 ll 命令查看目录内容

  • w:写

    • 写文件:向文件中写入新内容

    • 写目录:在目录里面增删内容

      例如:在目录内新建文件、删除文件、新建目录、删除目录给目录重命名

  • x:执行

    • 执行文件:把文件当作可执行文件来运行
    • 执行目录:使用 cd 命令进入目录
  • -:无权限

由于每一位要么有权限要么没有权限,所以天然可以使用二进制来表示权限信息:

  • 1:有
  • 0:无
权限的符号表示权限的二进制表示权限的十进制表示
rwx r-x r-x111 101 1017 5 5
rw- r– r–110 100 1006 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
2
cd /etc
vim sudoers

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 来修改。