多人共用一个Linux用户, 实现Bash配置文件独立

本文中提到的 账户, 用户 均表示同一概念. 例如 ssh wbourne@192.168.xxx.101, 账户, 用户 指的均是 wbourne.

在工作中, 我们经常会连接Linux服务器. 理想情况下, 每位员工在Linux服务器上都有一个独立的Linux账户, 并且拥有不同的权限, 但此场景对运维要求较高; 工作中实际情况更可能是一个小组, 甚至是一个项目组共用一个Linux帐户. 我们暂且不讨论这两种方案孰优孰劣, 但多人共用一个Linux账户的话, 必然会导致一个问题: 配置文件不独立.

Linux应用的配置文件大概可分为两种: 系统级配置文件, 以及用户级配置文件. 用户已经是最小单位了, 多位员工共用一个Linux用户, 配置文件必然不会独立. 比如shell的配置文件, A员工修改了shell配置文件, 不仅会对A生效, 同时也会对B其他员工也生效, 因为员工用的都是同一个用户; A员工喜欢用 ll表示 ls -l, B员工喜欢用 ll表示 ls -lrtF --color

本文就来介绍, 多人共用一个Linux用户的情况下, 如何实现Bash配置文件的独立.

Bash在初始化时, 默认会加载一系列配置文件, 不了解的读者可以参考本人文章bash初始化文件详解. 既然是默认的, 那我们就可以自定义初始化文件, 通过 bash --rcfile <file></file>就可以指定初始化文件.

比如现在有三个员工A B C公用一个Linux账户wbourne, 默认的初始化文件为/home/wbourne/.bashrc. A员工可以新建一个自己的配置文件/home/wbourne/.bashrc_A, 通过执行 bash --rcfile /home/wbourne/.bashrc_A来加载自己的配置文件, 其他员工加载的还是/home/wbourne/.bashrc, A员工的配置不会影响到其他人.

如果默认的配置文件中有一些必要的配置, 而A员工启用了自己的配置文件, 加载不到默认配置文件中的必要配置, 可以在.bashrc_A文件第一行加上 source /home/wbourne/.bashrc, 这样既可以加载默认配置文件中的必要配置, 也可以加载自己的配置, 同时也不会影响其他人.

Tips: source /home/wbourne/.bashrc一定要放在第一行, 因为shell脚本是顺序执行的, 有相同配置的话后面的会覆盖前面的.

细心的读者可能会问, --rcfile选项并没有什么用, 登录服务器之后, 再手动执行 source /home/wbourne/.bashrc_A, 能达到上述一样的效果, 何必多次一举?

是的, 执行 bash --rcfile <file></file>与执行 source <file></file>是可以达到一样的效果; 但是都需要手动执行, 而 --rcfile选项配合ssh可以实现登录时自动执行配置文件. ssh不仅可以用来登录, 还可以用来远程执行命令, 那为什么不让ssh来执行 bash --rcfile <file></file>呢?

  • 例如平时登录服务器的命令为 ssh wbourne@192.168.xxx.101
  • 将其修改为 ssh -t wbourne@192.168.xxx.101 bash --rcfile /home/wbourne/.bashrc_A. 注意: 这里要加上一个 -t选项, 表示分配一个tty.

  • 再在本地电脑配置一个alias, 就能很方便的自动加载个人配置文件 alias s101='ssh -t wbourne@192.168.xxx.101 bash --rcfile /home/wbourne/.bashrc_A'

  • 之后在本地电脑执行 s101就可以登录服务器并自动加载个人配置文件了

Tips: 上述ssh登录服务器, 配置alias, 执行s101是在本地电脑(即员工个人电脑, 有别与服务器)执行的操作; 其他的操作与文件, 均指的是服务器上的操作或服务器上的路径, 请读者注意.

本文讲述的是以命令行的方式通过ssh命令登录服务器实现Bash配置文件独立; 如果读者使用的是xshell, putty等工具登录服务器, 请自行摸索, 底层用的都是ssh协议, 原理都是一样的.

Original: https://www.cnblogs.com/wbourne/p/16485712.html
Author: 王bourne
Title: 多人共用一个Linux用户, 实现Bash配置文件独立

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523032/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球