当前位置: 首页 > news >正文

fedora学习笔记 7:su与su-切换用户

 linux为安全计,把普通用户设置为默认的账户;这一点跟windows不一样,windows的默认用户是管理员。由于linux的默认账户是普通用户,而更改系统文件或者执行某些命令,必需要root(即linux中的管理员)身份才能进行,这就需要从当前用户切换到root用户。
  linux中切换用户的命令是su或su-。今天我在使用fsdisk这个命令时,终于体会到这两者的区别了。
  我首先是用su命令切换到root身份的,但是运行fdisk时,出现错误:command not found!这时必须加上路径/sbin/fdisk才可以运行。
  经论坛高手指点,才明白原由:是因为没有为这个命令设置环境变量,所以要加绝对路径才能运行!但是/sbin这个路径是系统设置好的呀,怎么会出现没有设置环境变量的错误呢?问题就出现在这个用su命令切换过来的root用户上!
 
  原来,切换root用户最好用su-命令,而不是su命令!
  su命令和su-命令最大的区别,就是:前者只是切换了身份,但SHELL环境仍然是普通用户的SHELL;而后者连用户和SHELL环境一起切换成root了。只有切换了SHELL环境才不会出现PATH环境变量错误。
  下面一幅图片能说明这个问题:
 
  从图片上可以看到用su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户lqs的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了!
  再来看一下环境变量的不同:
   
  你可以在自己的电脑上用echo $PATH命令看一下su-以后的环境变量有何不同。
  以此类推,要从当前用户切换到其它用户也一样,应该使用su-命令。
  学习过程中细节问题一定要注意,这样才能少走弯路!

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/134002

相关文章:

  • c语言第六次作业
  • Delphi编写事件模型客户端(2)
  • nginx日志切割代码
  • [Android]竖直滑动选择器WheelView的实现
  • 刻录机读空白盘时提示无法打开
  • 枚举项的数量限制在64个以内
  • 关于C和C++语言声明和定义的说明
  • Tomcat 8安装与配置
  • [CTO札记]如何测试用户接受度?
  • 启动流程
  • Linux定时执行指定的脚本文件
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 会话
  • LINUX DNS服务的配置(二)
  • WCF使用NetTcp传输文件
  • 《WCF技术内幕》翻译4:第1部分_第1章_蓝月亮:商业示例
  • 【译】理解JavaScript:new 关键字
  • bootstrap创建登录注册页面
  • Cumulo 的 ClojureScript 模块已经成型
  • Docker容器管理
  • es6
  • ES6核心特性
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • OSS Web直传 (文件图片)
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 京东美团研发面经
  • 实现菜单下拉伸展折叠效果demo
  • 微服务框架lagom
  • 我的业余项目总结
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ionic入门之数据绑定显示-1
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • (+4)2.2UML建模图
  • (WSI分类)WSI分类文献小综述 2024
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)setTimeout 和 setInterval 的区别
  • (转)德国人的记事本
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET delegate 委托 、 Event 事件
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net6 webapi log4net完整配置使用流程
  • .NET成年了,然后呢?
  • .Net的C#语言取月份数值对应的MonthName值
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • /etc/skel 目录作用
  • @Autowired多个相同类型bean装配问题