/etc/profile/ 中设置的路径不会出现在其他用户的环境中

马克森_ce

我在 /etc/profile.conf 中有以下 PATH 变量。最后一行应该允许我conda为任何用户使用该命令。

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

export PATH=/opt/miniconda3/bin:$PATH

当我是 root 时它有效:

root@server:~# echo $PATH
/opt/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

但是当我su user成为user

user@server:/root$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

/opt/miniconda3/bin:如您所见,它没有出现在 $PATH 变量中。/etc/profile 中定义的变量不应该在系统范围内可用吗?我怎样才能得到它?

钢刀

使用 时su user,生成的环境与启动登录 shell 时的环境不同。具体来说,根据man su

   The current environment is passed to the new shell. The value of $PATH
   is reset to /bin:/usr/bin for normal users, or
   /sbin:/bin:/usr/sbin:/usr/bin for the superuser. This may be changed
   with the ENV_PATH and ENV_SUPATH definitions in /etc/login.defs.

要使用su(特别是读取/etc/profile文件)获取登录 shell 环境您可以使用su - usersu -l user

   -, -l, --login
       Provide an environment similar to what the user would expect had
       the user logged in directly.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在其他用户列中设置数据

来自分类Dev

当由其他用户帐户安装时,TortoiseSVN覆盖图标不会出现吗?

来自分类Dev

在vim中,每行的末尾有$号,但是它不会出现在其他计算机中

来自分类Dev

幽灵用户?用户既不会出现在登录屏幕上,也不会出现在“用户”命令中

来自分类Dev

尝试在其他用户主目录中查找空文件

来自分类Dev

在其他用户创建的文件夹中创建文件

来自分类Dev

如何在 Java 中读取其他用户的 PATH 环境变量

来自分类Dev

如何隐藏HTML元素,使其仅在桌面上不会出现在其他页面上?

来自分类Dev

如何保持我的位置:固定的导航栏不会出现在其他元素下方?

来自分类Dev

按钮仅出现在Firefox中,而不出现在其他浏览器中

来自分类Dev

FBGraph API不会将发布权限授予iOS SDK中的其他用户

来自分类Dev

在不同大小的类别中设置约束,视图不会出现在横向中

来自分类Dev

如何在Unity Launcher中为其他用户设置默认应用程序?

来自分类Dev

如何在Unity Launcher中为其他用户设置默认应用程序?

来自分类Dev

如何在Outlook中为其他用户设置约会?

来自分类Dev

在C#中访问其他用户的本地应用程序设置

来自分类Dev

在Django中访问其他用户的信息

来自分类Dev

与Django中的其他用户共享对象

来自分类Dev

使Windows 7中其他用户的声音静音

来自分类Dev

在Windows中为其他用户安装软件

来自分类Dev

在Linux中更改其他用户帐户的密码

来自分类Dev

在Linux中以其他用户选项运行

来自分类Dev

以Excel中的其他用户身份控制IE

来自分类Dev

在 TFS 中显示与其他用户的差异

来自分类Dev

经过SAML身份验证的用户不会出现在Spring Security的SessionRegistry中

来自分类Dev

经过SAML身份验证的用户不会出现在Spring Security的SessionRegistry中

来自分类Dev

Xcode - 用户选择图像后,图像不会出现在 UIImageView 中

来自分类Dev

SQL更新查询-聚合可能不会出现在UPDATE语句的设置列表中

来自分类Dev

设置应用程序选项不会出现在Win10的搜索结果中

Related 相关文章

  1. 1

    在其他用户列中设置数据

  2. 2

    当由其他用户帐户安装时,TortoiseSVN覆盖图标不会出现吗?

  3. 3

    在vim中,每行的末尾有$号,但是它不会出现在其他计算机中

  4. 4

    幽灵用户?用户既不会出现在登录屏幕上,也不会出现在“用户”命令中

  5. 5

    尝试在其他用户主目录中查找空文件

  6. 6

    在其他用户创建的文件夹中创建文件

  7. 7

    如何在 Java 中读取其他用户的 PATH 环境变量

  8. 8

    如何隐藏HTML元素,使其仅在桌面上不会出现在其他页面上?

  9. 9

    如何保持我的位置:固定的导航栏不会出现在其他元素下方?

  10. 10

    按钮仅出现在Firefox中,而不出现在其他浏览器中

  11. 11

    FBGraph API不会将发布权限授予iOS SDK中的其他用户

  12. 12

    在不同大小的类别中设置约束,视图不会出现在横向中

  13. 13

    如何在Unity Launcher中为其他用户设置默认应用程序?

  14. 14

    如何在Unity Launcher中为其他用户设置默认应用程序?

  15. 15

    如何在Outlook中为其他用户设置约会?

  16. 16

    在C#中访问其他用户的本地应用程序设置

  17. 17

    在Django中访问其他用户的信息

  18. 18

    与Django中的其他用户共享对象

  19. 19

    使Windows 7中其他用户的声音静音

  20. 20

    在Windows中为其他用户安装软件

  21. 21

    在Linux中更改其他用户帐户的密码

  22. 22

    在Linux中以其他用户选项运行

  23. 23

    以Excel中的其他用户身份控制IE

  24. 24

    在 TFS 中显示与其他用户的差异

  25. 25

    经过SAML身份验证的用户不会出现在Spring Security的SessionRegistry中

  26. 26

    经过SAML身份验证的用户不会出现在Spring Security的SessionRegistry中

  27. 27

    Xcode - 用户选择图像后,图像不会出现在 UIImageView 中

  28. 28

    SQL更新查询-聚合可能不会出现在UPDATE语句的设置列表中

  29. 29

    设置应用程序选项不会出现在Win10的搜索结果中

热门标签

归档