自学内容网 自学内容网

内置命令和外置命令(用户组配置文件)

通过cat /etc/group来查看用户组的权限,/etc/group文件包含了系统上所有用户组的信息。每一行代表一个用户组。

 用户组配置文件格式如下: 

group_name:password:GID:user_list
  • group_name:用户组的名称。
  • password:用户组的密码。出于安全考虑,密码通常存储在 /etc/gshadow 文件中,这里通常是一个 x 或者留空。
  • GID:用户组的唯一标识符,即组ID。
  • user_list:属于该用户组的用户列表,用户之间用逗号分隔。

影子文件:

1./etc/gshdow(用户组)

 /etc/gshadow 文件包含了用户组的加密密码信息。每一行的格式如下:

group_name:encrypted_password:group_admin:member_lis
  • group_name:用户组的名称。
  • encrypted_password:用户组的加密密码。如果没有设置密码,则为 ! 或留空。
  • group_admin:用户组的管理员账户,负责管理用户组密码。
  • member_list:属于该用户组的用户列表,用户之间用逗号分隔。

2. /etc/shadow(用户)

格式:

用户名:加密密码:最后一次修改密码的时间:密码最短使用期限:密码最长使用期限:密码过期前警告期:密码过期后的宽限期:账号失效时间:保留字段

各字段的含义如下:

  1. 用户名:与 /etc/passwd 文件中的用户名相对应。
  2. 加密密码:用户的加密密码。如果密码字段以 ! 或 * 开头,则表示该账户没有密码或被锁定。通常以$开头。
  3. 最后一次修改密码的时间:从1970年1月1日起到密码最后被更改的天数。
  4. 密码最短使用期限:密码必须保持的最短时间(以天为单位)。0表示没有最小时间限制。
  5. 密码最长使用期限:密码必须更改的最长时间(以天为单位)。99999表示没有最大时间限制。
  6. 密码过期前警告期:在密码过期之前多少天开始提醒用户更改密码。
  7. 密码过期后的宽限期:密码过期后用户还有多少天时间可以更改密码而不被锁定。
  8. 账号失效时间:从1970年1月1日起到账户被禁用的天数。值为空表示账户永不过期。
  9. 保留字段:目前未使用,通常为空。

 执行命令的过程:

        在Shell中,内置命令(built-in commands)是Shell自身提供的一组命令,这些命令不需要调用外部程序即可执行。内置命令通常用于Shell自身的管理和配置,或者执行一些基本操作(常用命令)

        外置命令(external commands)是指在Shell外部执行的程序或脚本,它们通常是系统中的可执行文件,位于文件系统的某个位置,如/bin/usr/bin等目录

        内置命令因为它的常用性,故直接在Shell进程中执行(常驻在内存中),效率较高,且不占用额外的进程资源。外置命令需要启动新的进程来执行,虽然消耗更多资源(需要时才从硬盘中读取),但可以实现更复杂的任务,且不影响Shell的稳定性和响应速度。内置命令的执行不受文件系统权限的限制,适合执行一些需要较高权限的操作。外置命令的执行受文件系统权限控制,这有助于限制不同用户对系统资源的访问

         比如下图,cd命令的目录没有输出,这是因为cd放在了shell(bash)里面,属于内置命令,而ls输出命令所在目录,属于外置命令。

也可以通过type命令来检验是否为内置

        如果输出显示"ls is aliased to 'ls --color=auto'"或者"ls is /bin/ls",则表示ls是一个外置命令。如果输出显示"ls is a shell builtin",则表示ls是一个内置命令。 


原文地址:https://blog.csdn.net/Johaden/article/details/140692776

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!