内置命令和外置命令(用户组配置文件)
通过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(用户)
格式:
用户名:加密密码:最后一次修改密码的时间:密码最短使用期限:密码最长使用期限:密码过期前警告期:密码过期后的宽限期:账号失效时间:保留字段
各字段的含义如下:
- 用户名:与
/etc/passwd
文件中的用户名相对应。 - 加密密码:用户的加密密码。如果密码字段以
!
或*
开头,则表示该账户没有密码或被锁定。通常以$开头。 - 最后一次修改密码的时间:从1970年1月1日起到密码最后被更改的天数。
- 密码最短使用期限:密码必须保持的最短时间(以天为单位)。0表示没有最小时间限制。
- 密码最长使用期限:密码必须更改的最长时间(以天为单位)。99999表示没有最大时间限制。
- 密码过期前警告期:在密码过期之前多少天开始提醒用户更改密码。
- 密码过期后的宽限期:密码过期后用户还有多少天时间可以更改密码而不被锁定。
- 账号失效时间:从1970年1月1日起到账户被禁用的天数。值为空表示账户永不过期。
- 保留字段:目前未使用,通常为空。
执行命令的过程:
在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)!