我们已经研究了如何自定义Linux中的默认bash提示。在本教程中,我们将学习如何更改Linux和Unix样系统中特定用户组的BASH提示。
在设置自定义BASH提示向用户组设置之前,重要的是要了解此方法的优点和缺点。
目录
在某些情况下,在Linux中使用特定于小组的命令提示符可能是有利的,但它也带来了一些注意事项。以下是优势和缺点:
1。更轻松地识别用户角色:
2。减少错误:
3。增强的用户体验:
4。在多用户系统中有用:
1。管理的复杂性:
2。构造的潜力:
3。安全考虑:
4。依赖小组成员:
5。视觉提示过度依赖:
总而言之,基于组成员的定制命令提示符可用于增强用户体验并减少多用户或多角色环境中的错误。但是,它需要仔细的实施和管理,以避免复杂性,配置错误和潜在的安全问题。
让我们继续查看如何更改Linux和Unix状系统中特定用户组的命令提示。
在Ubuntu 22.04 LTS系统上测试了以下步骤。我们希望这种方法也可以在其他Linux发行版中起作用。
出于演示目的,我将创建一个名为“开发人员”的新组和一个名为“ Senthil”的新用户。然后,我将“ Senthil”用户添加到“开发人员”组中。
结果,只要“ Senthil”用户登录,他们的提示将自动更改为“开发人员 - senthil@ubuntu2204:〜$' 。让我们看看如何逐步进行。
创建组:
运行以下命令来创建一个名为开发人员的新组:
$ sudo groupadd开发人员
该命令创建一个名为开发人员的新组。如果提示,您可能需要输入密码。
创建新用户:
要创建名为Senthil的新用户,请使用命令:
$ sudo Adduser Senthil
将提示您为新用户设置密码并填写一些可选的用户信息。根据需要填写这些。
将用户添加到组:
要将Senthil添加到开发人员组中,请使用:
$ sudo usermod -ag开发人员Senthil
-ag选项将用户添加到组中,同时保持其现有组成员资格。
当您想为特定组成员的用户更改命令提示符时,您有两个选项,用于放置检查用户组并更改提示的脚本的位置。选择取决于您是否希望更改应用于单个用户或多个用户:
单个用户的.bashrc文件:
全局配置文件/etc/bash.bashrc :
在本地〜/.bashrc或global /etc/bash.bashrc文件中进行任何更改之前,我强烈建议您备份它们。如果出现问题,这使您可以还原原始设置。
要备份用户的〜/.bashrc文件,请运行:
$ cp〜/.bashrc〜/.bashrc_backup
要备份Global BashRC文件,运行:
$ sudo cp /etc/bash.bashrc /etc/bash.bashrc_backup
备份适当的BASHRC文件后,请使用您喜欢的编辑器打开它。
在这里,我将向系统中的所有用户应用此方法,因此我编辑了global /etc/bash.bashrc文件。
$ sudo nano /etc/bash.bashrc
最后添加以下行:
bashrc_file =“/home/$(whoami)/。bashrc” developer_prompt ='ps1 =“ developer- \ u@\ h:\ w \ $”'' #要在.bashrc中添加或更新PS1的功能 add_or_update_ps1(){ 提示_line = $ 1 grep -qf-“ $ stress_line”“ $ bashrc_file” || echo“ $ stress_line” >>“ $ bashrc_file” } 如果id -ng“ $(whoami)” | GREP -QW“开发人员”;然后 add_or_update_ps1“ $ developer_prompt” fi
让我们分解上述代码,看看每个选项的作用。
定义变量:
函数add_or_update_ps1 :
检查小组会员资格并申请提示:
总而言之,此脚本通过将自定义提示性定义附加到其.bashrc文件中来更改属于开发人员组的用户的命令提示。它确保只添加一次自定义提示即可避免重复。
按Ctrl o,然后按Ctrl X保存文件并退出。
请记住,在编辑任一文件后,只有在启动新的shell会话时,更改才会生效。用户可以登录并返回,也可以在当前会话中运行源〜/.bashrc,以立即应用更改。
使用命令应用更改:
$ source /etc/bash.bashrc
现在,登录并登录为用户“ Senthil”。打开终端,您会看到用户的提示已更改为这样的事情:
如果您的系统没有GUI,则可以通过SSH从其他系统中验证它。
开发人员 - senthil@ubuntu2204:〜$
看?用户的bash提示已更改。
您可以进一步修改此脚本以区分不同类型的用户。
例如,您可以区分Linux中属于Sudo组的普通用户和管理用户。这涉及根据用户是否具有sudo特权来修改命令提示。
将以下行添加到global /etc/bash.bashrc文件或单个用户的.bashrc文件:
bashrc_file =“/home/$(whoami)/。bashrc” sudo_prompt ='ps1 =“ sudouser- \ u@\ h \ h:\ w \ $”'' normal_prompt ='ps1 =“ norturuSer- \ u@\ h:\ w \ $”'' #要在.bashrc中添加或更新PS1的功能 add_or_update_ps1(){ 提示_line = $ 1 grep -qf-“ $ stress_line”“ $ bashrc_file” || echo“ $ stress_line” >>“ $ bashrc_file” } 如果id -ng“ $(whoami)” | grep -qw“ sudo”;然后 add_or_update_ps1“ $ sudo_prompt” 别的 add_or_update_ps1“ $ narry_prompt” fi
此脚本将将提示更改为Sudouser-
是否建议使用此设置取决于系统的上下文和需求:
优点:
缺点:
总而言之,自定义命令提示符以区分普通用户和sudo用户可能在某些环境中很有用,尤其是在快速识别用户特权很重要的情况下。
但是,它并不普遍推荐,因为它增加了复杂性,并取决于系统管理员的特定需求和管理功能。
如果遇到问题,则可以通过从备份中恢复.bashrc文件来恢复更改。如果您没有进行备份,则可以再次手动编辑文件,然后删除或评论您在上一步中添加的自定义脚本。
另外,在debian和ubuntu Systems中,/etc/skel/ Directory中有一个.bashrc文件的默认版本。
$ ls -al/etc/skel/ 总计32 drwxr-xr-x 2根4096 JAN 8 18:02。 drwxr-xr-x 138根根12288 1月8日17:55 .. -rw-r--r-- 1根root 220 Jan 6 2022 .bash_logout -rw-r-- r-- 1根根4116 1月8日18:00<strong><mark> .bashrc</mark> -rw-r--r-- 1根根807 1月6日2022年。</strong>
将〜/.bashrc文件的默认版本复制到您的当前版本,如下所示:
$ cp /etc/skel/.bashrc〜/
最后,运行以下命令以更新更改。
$源〜/.bashrc
有关更多详细信息,请检查以下链接:
如何将.bashrc文件还原到Ubuntu中的默认设置
在本教程中,我们讨论了如何为某个组的用户设置自定义bash提示,以及使用示例脚本在Linux中更改命令提示的优点和缺点。
虽然修改BASH提示对于某些环境中的特定需求可能很有用,但通常不建议初学者使用它。
在实施这些变化之前,在虚拟机中测试这种方法并权衡潜在风险和复杂性,这始终是一个好习惯。
相关阅读:
以上是如何更改Linux中特定用户组的bash提示的详细内容。更多信息请关注PHP中文网其他相关文章!