Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1265526
  • 博文数量: 264
  • 博客积分: 10772
  • 博客等级: 上将
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 11:54
文章分类

全部博文(264)

文章存档

2012年(4)

2011年(51)

2010年(31)

2009年(57)

2008年(51)

2007年(70)

分类: LINUX

2011-02-21 15:00:55

Debian & Ubuntu 里有如下配置文件,今天终于理顺

/etc/profile

/etc/bash.bashrc

~/.profile

~/.bashrc

~/.bash_aliases

1. 所有以上文件有且只有用户登录终端时才会执行

2. su - (等同于 su -l) 相当于用户重新登录一次终端,以上文件都会执行一下

3. su 不会执行 profile (/etc/profile 与 ~/.profile),只执行bashrc(/etc/bash.bashrc, ~/.bashrc, ~/.bash_aliases)

4. 总会先执行/etc下的后执行~下的

5. 以上五个文件的包含关系如下:

/etc/profile

/etc/profile.d/*.sh

/etc/bash.bashrc

~/.profile

~/.bashrc

~/.bash_aliases

 

--------------------------------------

所以用户第一次登录终端(或者说ssh连接主机后),也即“su -”到一个新用户,会依次执行如下文件:

/etc/profile, /etc/profile.d/*.sh, /etc/bash.bashrc

~/.profile, ~/.bashrc, ~/.bash_aliases

 

当用户“su”到一个新用户,会依次执行如下文件:

/etc/bash.bashrc, ~/.bashrc, ~/.bash_aliases

 

所以我一般是这样做的:

把各个用户共用的aliases放到/etc/.jcan里,然后在/etc/bash.bashrc最下面一行加入source /etc/.jcan

如果加在/etc/profile里su就不管用了(必须用su - 才会生效)

把私人的东西放在~/.bash_aliases里(若无此文件可自己创建)

这样“su -”基本可以下岗了

 

这里我再附加说点东西:

“sudo -E su” 可以把当前的用户环境(变量之类的)也拷贝到新用户上

“sudo -E su -”就不可以

----------------------------------------

 

这样大家应该很清楚了吧? 酷

阅读(1086) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-05 16:48:58

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com