V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ch4ng13  ›  全部回复第 1 页 / 共 1 页
回复总数  5
2012-11-09 00:37:56 +08:00
回复了 ch4ng13 创建的主题 macOS OS X ML (10.8) Terminal 下 su 之后 .bash_profile 设置无效
是的,~/.bashrc, ~/.bash_profile 默认行为的差异,与 /etc/bashrc, /etc/profile, ... 等直接相关,不过这里面的坑好多,现在暂时没空去细究。
2012-11-09 00:31:45 +08:00
回复了 ch4ng13 创建的主题 macOS OS X ML (10.8) Terminal 下 su 之后 .bash_profile 设置无效
@sinxccc 这个命令好用。进去后 $USER 直接就是 root;.bash_profile 也有动作了(.bashrc 又不行了,据说这在 BSD-like OS 才是正常的)。

一并谢过参与讨论各位!
2012-11-08 23:44:09 +08:00
回复了 ch4ng13 创建的主题 macOS OS X ML (10.8) Terminal 下 su 之后 .bash_profile 设置无效
这个问题有些诡异啊。

1 在上一帖中说到,将 root 的 SHELL 改成 bash 了。。。。然后又试着将 .bash_profile 改名为 .bashrc,现在的自定义设置全部生效了。

2 我用 ch4ng13 这个帐号开机登录系统,打开 Terminal.app ,默认的 SHELL 是 bash,这时所有的自定义设置放在 .bashrc 这个文件里无效,只有放在 .bash_profile 才有效。

3 在 (1) 成功后,我又将 (2) 的 .bash_profile 也改成 .bashrc,这时的自定义设置一如之前,还是无效的。

4 这太让人纠结了 ???
2012-11-08 23:10:44 +08:00
回复了 ch4ng13 创建的主题 macOS OS X ML (10.8) Terminal 下 su 之后 .bash_profile 设置无效
@gavingeng 之前注意到了这个区别。按你说的用

# chsh -s /bin/bash

改掉了 root 默认的 shell,但问题仍没有解决。我比较了 osx 与 debian su 之后 export 出来的环境变量的区别:在 osx 上 su 之后 $USER 仍为之前的用户帐号;而在 debian 上 su 之后,UID 直接就变成 0 了。

根据 su man page (osx) 上所说,su 之后 UID 能不能切为 0 (root),关键看当前的用户是否在 admin 或 wheel 组里。而我的当前的帐号确定已经在 admin 组里了。

所以我之前考虑的方向一直是 /etc/pam.d/su 里动作。(可能钻到牛角尖里去了)
2012-11-08 21:19:36 +08:00
回复了 ch4ng13 创建的主题 macOS OS X ML (10.8) Terminal 下 su 之后 .bash_profile 设置无效
@alexrezit 可否说详细一些?

@killpanda 我先试试在 CLI 下能否解决这个问题。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5270 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 09:31 · PVG 17:31 · LAX 01:31 · JFK 04:31
Developed with CodeLauncher
♥ Do have faith in what you're doing.