【linux命令讲解大全】187.Linux常用命令解析:dpkg-statoverride、hostid和id

2024-03-02 14:37:10 浏览数 (2)

dpkg-statoverride

Debian Linux中覆盖文件的所有权和模式

补充说明:

dpkg-statoverride命令用于Debian Linux中覆盖文件的所有权和模式,让dpkg在包安装时使得文件所有权与模式失效。

语法:dpkg-statoverride [选项]

选项:

  • -add:为文件添加一个改写;
  • --remove:为文件删除一个改写;
  • --list:显示所有改写列表;
  • --update:如果文件存在,则立刻执行改写操作。

实例:

修改文件夹的权限属性:

代码语言:javascript复制
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3

强制修改文件夹的权限属性:

代码语言:javascript复制
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

将文件从数据库中删除:

代码语言:javascript复制
sudo dpkg-statoverride --remove /usr/bin/wall

hostid

显示当前主机的十六进制数字标识

概要:hostid [OPTION]...

主要用途:显示当前主机的十六进制标识符。用来限制软件的使用权限,不可改变。

选项:

  • --help:显示帮助信息并退出。
  • --version:显示版本信息并退出。

例子:

代码语言:javascript复制
[root@localhost ~]# hostid
007f0100

注意:该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 hostidinfo coreutils 'hostid invocation'

id

打印真实以及有效的用户和所在组的信息

概要:id [OPTION]... [USER]...

主要用途:没有选项时,打印指定用户ID信息。

选项:

  • -a:兼容性选项,没有实际作用。
  • -Z, --context:只打印进程的安全上下文。
  • -g, --group:只打印有效的组ID。
  • -G, --groups:打印全部组ID。
  • -u, --user:只打印有效的用户ID。
  • -z, --zero:使用空字符代替默认的空格来分隔条目。
  • --help:显示帮助信息并退出。
  • --version:显示版本信息并退出。

只有在使用-u-g-G选项中一到多个时,以下选项可以使用:

  • -n, --name:打印名称而不是数字。
  • -r, --real:打印真实ID而不是有效ID。

参数:

  • user(可选):可以为一到多个,默认为当前用户。

返回值:返回0表示成功,返回非0值表示失败。

例子:

代码语言:javascript复制
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

解释:用户root的UID号码=0,GID号码=0。用户root是下面组的成员:

  • root组GID号是:0
  • bin组GID号是:1
  • daemon组GID号是:2
  • sys组GID号是:3
  • adm组GID号是:4
  • disk组GID号是:6
  • wheel组GID号是:10

打印用户名、UID以及该用户所属的所有组,要这么做,我们可以使用-a选项:

代码语言:javascript复制
[root@localhost ~]# id -a
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

输出所有不同的组ID,有效的、真实的和补充的,我们可以使用-G选项来实现:

代码语言:javascript复制
[root@localhost ~]# id -G
0 1 2 3 4 6 10

结果只会显示GID号。你可以和/etc/group文件比较。下面是/etc/group文件的示例内容:

只输出有效的组ID,通过使用-g选项来只输出有效组ID:

代码语言:javascript复制
[root@localhost ~]# id -g
0

输出特定用户信息,我们可以输出特定的用户信息相关的UID和GID。只需要在id命令后跟上用户名:

代码语言:javascript复制
[root@localhost ~]# id www
uid=500(www) gid=500(www) groups=500(www)

注意:该命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID是对一个用户的单一身份标识。组ID(GID)则对应多个UID;一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以及GID,而不必在/etc/group文件中搜寻。

该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 idinfo coreutils 'id invocation'

0 人点赞