CentOS 7创建用户并授权

一. 问题背景

搭建MySQL8.0集群的时候,按照网上的博客要创建新的用户,然而创建后,无法使用新用户进行操作(比如mkdir,rm,vim,more一些列的命令都弹出无权限),因此去了解CentOS7如何创建用户并授权,用户有权限后可以通过sudo 命令执行操作(比如sudo mkdir xxx)。此过程中学习到的知识做下笔记。

参考自:

  1. 文件权限中 chmod、u+x、u、r、w、x分别代表什么
  2. CentOS 7 中添加新用户并授权

二. 知识储备

2.1 查看文件/文件夹的权限

只需输入命令ls -l或者ll,如下:
在这里插入图片描述

rwx可以使用二进制位串来表示,比如111表示有rwx权限;101表示有rx权限。

2.2 chmod命令

chmod,change mode。作用是授权,修改资源的权限。如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 sudo

sudo命令是允许某个已授权的用户执行操作。比如sudo mkdir xxx

2.4 chown

chown,change owner。作用是改变文件的拥有者,将文件的拥有者修改成新建的用户,那么就无需使用sudo也可以进行操作了。

chown -R 用户名:组名 fileName

三. CentOS7 创建用户并授权

首先当前登录CentOS7的用户是root用户。

  • 创建名为cook的用户,如下:
useradd cook
  • 给用户添加密码,如下:
passwd cook
  • 接下来是给用户添加权限,在此之前 需要先修改sudoer文件的权限,给它加一个写权限,如下:
chmod -v u+w /etc/sudoers
  • 编辑sudoers文件,在里面给新建的cook用户添加权限,这里我使用vim命令来编辑文件,若系统提示没有vim命令则将vim改成vi,如下:
vim /etc/sudoers
  • 在里面添加内容,如下:
    在这里插入图片描述
    如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可
[用户名]    ALL=(ALL)    ALL(如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD:ALL即可)
  • 保存后,收回sudoers的写权限,如下:
chmod -v u-w /etc/sudoers

四. 执行操作

新建的用户授权之后就可以使用sudo命令执行操作了,如下:

#从当前用户切换到cook用户
su cook
#执行创建test文件夹
sudo mkdir test
#删除文件夹
sudo rm -rf test

五. 使用chown修改文件拥有者

5.1 问题背景

有时经常输入sudo命令是很繁琐的事情,使用chown后,将所有文件的拥有者改成新建的用户,那就无需使用sudo才能执行操作了。如下:

#递归修改所有文件的拥有者以及组用户
chown -R cook:cook *

5.2 创建MySQL集群的工作目录

[root@localhost1 cook]# mkdir /work/cook/mysql8.0

5.3 改变文件的拥有者

进入到/work/cook目录下,执行以下代码,将该目录下的所有文件的拥有者改成cook用户,这样使用cook用户在/work/cook目录下输入命令时,就无需再加sudo了

[root@localhost1 cook]# cd /work/cook
[root@localhost1 cook]# chown -R cook:cook *

猜你喜欢

转载自blog.csdn.net/qq_40634846/article/details/109270902