su 和su

您所在的位置:网站首页 《关于适用〈中华人民共和国刑事诉讼法〉的解释》 su 和su

su 和su

2024-07-13 02:51:49| 来源: 网络整理| 查看: 265

参考文章:(总结)Linux下su与su -命令的本质区别

  我一直是习惯使用su username来切换用户的,而且并不知道su和su -有什么区别,一直以为是没啥区别的,但是在一个测试中,在测试的同事的指导下,他说你su - ××× 之后×××,那一刻突然福至心灵觉得可能二者是有区别的,然后执行了su - 用户 之后,果然得到了su 用户的时候得不到的结果。。。。。然后还发现,以前执行db2的命令要cd /opt/IBM/db2/V9.7.5/,然后bin/db2 ×××真的有够麻烦的,但是su -之后,直接db2就可以执行命令了,所以有必要来分析一下这两个命令到底有什么区别。

su命令和su -命令最大的本质区别就是: - 前者只是切换了root身份,但Shell环境仍然是普通用户的Shell; - 而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。 - su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

在LINUX和AIX系统上还是有一些区别,AIX上一定要su -

不带-的su不会读取目标用户的环境配置文件,带-的su才会读

去哪里读取配置文件?

使用su切换到root:

[ltt@db22 Desktop]$ pwd /home/ltt/Desktop [ltt@db22 Desktop]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ltt/bin [ltt@db22 Desktop]$ su Password: [root@db22 Desktop]# pwd /home/ltt/Desktop [root@db22 Desktop]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ltt/bin

使用su -切换到root:

[ltt@db22 Desktop]$ pwd /home/ltt/Desktop [ltt@db22 Desktop]$ echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ltt/bin [ltt@db22 Desktop]$ su - Password: [root@db22 ~]# pwd /root [root@db22 ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin PATH的配置文件

一般PATH在 HOME/.bashrc或者 HOME/.bash_profile中设置,我们来看一下

[ltt@db22 ~]$ pwd /home/ltt [ltt@db22 ~]$ ls -la total 156 drwx------. 26 ltt ltt 4096 Jul 31 11:55 . drwxr-xr-x. 6 root root 4096 May 10 10:49 .. drwxrwxr-x. 2 ltt ltt 4096 Apr 10 11:37 .abrt -rw-------. 1 ltt ltt 31 Jul 31 11:46 .bash_history -rw-r--r--. 1 ltt ltt 18 Feb 22 2013 .bash_logout -rw-r--r--. 1 ltt ltt 176 Feb 22 2013 .bash_profile -rw-r--r--. 1 ltt ltt 124 Feb 22 2013 .bashrc ... ... ... .bashrc文件 [ltt@db22 ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions [root@db22 ~]# cat .bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi .bash_profile文件 [ltt@db22 ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH [root@db22 ~]# cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH

所以读取的配置的文件应该是 .bash_profile文件,这个文件中会导入 .bashrc的定义。.bashrc文件主要定义一些命令别名和函数,PATH变量设置在.bash_profile文件中。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭