Centos chgrp和chown中的1000是什么意思?

Centos chgrp和chown中的1000是什么意思?,centos,kubernetes,Centos,Kubernetes,我正在读一篇博客,将EFK(一个日志系统)集成到centos 7.4中的k8s中。有以下说明: # mkdir ~/es_data # chmod g+rwx es_data # chgrp 1000 es_data # chown 1000 -R es_data # ls -l /root/es_data/ total 8 drwxrwxr-x 2 1000 1000 4096 Jun 8 09:50 ./ drwx------ 8 root root 4096 Jun 8 09:50

我正在读一篇博客,将EFK(一个日志系统)集成到centos 7.4中的k8s中。有以下说明:

# mkdir ~/es_data
# chmod g+rwx es_data
# chgrp 1000 es_data
# chown 1000 -R es_data

# ls -l /root/es_data/
total 8
drwxrwxr-x 2 1000 1000 4096 Jun  8 09:50 ./
drwx------ 8 root root 4096 Jun  8 09:50 ../
我以root用户身份登录。说明中说,如果我使用chgrp 1000 es_数据和chown 1000-R es_数据,董事的所有者和集团将为1000。但当我按照指示行事时:

# mkdir ~/es_data
# chmod g+rwx es_data
# chgrp 1000 es_data
# chown 1000 -R es_data

# ls -l /root/es_data/
total 8
drwxrwxr-x 2 1000 1000 4096 Jun  8 09:50 ./
drwx------ 8 root root 4096 Jun  8 09:50 ../
我看到以下情况:

 drwxr-xr-x.  2 master16g master16g    6 Jul 11 15:27 es_data
所有者和组出现在计算机主机名中,
master16g


有人能给我提示一下chgrp 1000和chown 1000在这里发生了什么吗?

chown
改变了所有者,
chgrp
改变了集团。因为用户和组都被命名为
master16g
并且
1000
分别作为UID和GID,这就是为什么您会在列表中看到用户名和组名
chown
接受UID作为参数和用户名,这在手册中有详细的说明
chgrp
还接受GID和组名。您也可以使用一个命令
chown 1000:1000 es_data-R
chown master16g:master16g es_data-R
来更改这两个参数

第一个Linux用户通常具有UID/GID 1000

例如,如果您
chown 0:1000文件
,您将看到
root:master16g
作为文件所有者

您可以按如下方式获取
elasticsearch
用户的uid和gid(如果存在):


我读了man chgrp,但我不明白为什么1000会变成主机名。
grep 1000/etc/group
grep 1000/etc/passwd
这就是答案。它还没有点击?首先,没有人知道这个指令是什么。。。然而,我认为这是关于ES docker的形象。如果您运行官方ES docker image-您将看到,
elasticsearch
UID是
1000
elasticsearch
GID也是
1000
,但为什么指令要求我们将所有者和组都更改为1000,或者第一个linux用户?但屏幕上显示的数字是1000,这是Linux的基础。如果不更改权限,您的用户将无法对给定目录或基础文件进行任何更改。EFK应该以用户elasticsearch的身份运行,通常用户elasticsearch的uid/gid为1000/1000,这就是指令的原因。但在您的容器中,另一个用户master16g占用了这个id,这让您感到困惑。