焕然一新的 su

2024-06-01 11:52
文章标签 焕然一新 su

本文主要是介绍焕然一新的 su,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

焕然一新的 su

  • 焕然一新的 su
    • 命令格式
    • 切换到用于user执行命令command
    • 切换使用的SHELL
    • 加与不加-的区别还是有的 su [user] 和 su - [user]

焕然一新的 su

su的官方定义为:

su - run a command with substitute user and group ID

一言以蔽之,su - user 能切换到一个用户中去执行一个指令或脚本,而 su 应该是switch user的概念,这个命令可以让我们开启一个进程,赋予新的身份、用户ID、组ID等关联的各种读写访问权限。

所以,理所当然是需要密码的介入的。

而如果没有user的参数,默认就是进入到root账户了。

命令格式

该命令格式如下所示:

$ su [options...] [-] [user [args...]]

其中一些比较重要的选项如下所示:

  • -f –fast:快速启动,不读取启动文件,这个取决于具体的shell。
  • -l–login:这个参数让你有焕然一新的感觉,基本类似于重新登录。如果不指定,默认情况下是root环境。
  • -g--group:指定主要组,这个只能由root用户指定。
  • -m-p–preserve-environment:保留环境变量,除非指定了-l。
  • -s SHELL--shell=SHELL:切换使用的SHELL。

切换到用于user执行命令command

执行如下命令,会切换到user用户,然后执行ls命令

$ su - user -c ls

切换使用的SHELL

不同的人,可能对不同的SHELL情有独钟,A喜欢bash,B可能喜欢csh,这个就可以通过-s来切换,如下可以切换到csh

$ su - user -s /bin/csh

关于SHELL,根据安装的环境不同,基本有如下几个:

  • /bin/bash
  • /bin/tcsh
  • /usr/bin/sh
  • /bin/csh
  • /sbin/nologin
  • /bin/sh

加与不加-的区别还是有的 su [user] 和 su - [user]

su [user]切换到其他用户,但是不切换环境变量,su - [user]则是完整的切换到新的用户环境。

如:

$ pwd
/root$ su oper 
$ pwd  
/root$ su - oper 
Password:
$ pwd
/home/oper

所以大家在切换用户时,尽量用su - [user],否则可能会出现环境变量不对的问题。

这篇关于焕然一新的 su的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020936

相关文章

电脑桌面一键整理,高效整理,让你的电脑桌面焕然一新!

电脑桌面整理是一个能够提高工作效率、增强安全性、简化资产管理、改善用户体验的电脑软件。无论是图标管理还是文件整理,通过专业的电脑桌面整理软件都能轻松搞定,有序的管理文件、应用程序。 下面是关于Windows桌面工具的介绍与说明! 一、为什么要整理电脑桌面 1、精准查找到所需文件:工作中,用户经常需要查阅各种文献资料、数据文件和应用程序,一个整理有序的桌面可以协助他们更迅速地定位到所需的文

合理运用su和sudo命令以保证系统用户安全

Linux系统为我们提供了su、sudo两种用户权限管理机制,其中su主要是用来切换用户,而sudo用户来提升执行权限。下面分别进行详细讲解。 一、su命令——切换用户 使用su命令,可以切换为指定的另一个用户,从而具有该用户的所有权限。当然,切换时需要目标用户的密码进行验证(从root切换为其他用户时列外) 例如:当普通用户切换root身份时,需要输入root的密码。 上述命令操作中

4大免费的AI修复工具,让你的老照片焕然一新

大家好,我是YUAN。 自从上篇关于AI老照片修复的教程()发布以来,我收到了众多热情的反馈和关注,非常感谢大家的支持! 你是否曾在翻看家中那些充满回忆的老照片时,因岁月的痕迹而感到无奈?那些黑白的影像,记录着我们对亲人的深情怀念,却因模糊不清而难以辨认。它们是时间的见证,却也在时间的流逝中逐渐黯淡。 如果你对AI老照片修复工具的探索之旅还未尽兴,那么请继续跟随我,本文将为你揭开4款全新且免

打开su的检查权限,su显示uid权限不足的时候

在alps/system/extra/su/su.c文件中 if (myuid != AID_ROOT && myuid != AID_SHELL) {fprintf(stderr,"su: uid %d not allowed to su\n", myuid);return 1;}换成 if (myuid != AID_SYSTEM && myuid

android su源码

android su 通过源码编译出来的; 文件位置: $android/system/extras/su/ Android.mk:  <span style="font-size:12px;">LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES:= su.cLOCAL_MODULE:= suLOCAL_

su - oracle和su oracle的区别

先su --help看下“-”的功能: -, -l, --login               make the shell a login shell 具体说来就是: su - oracle 相当于重新登陆,此时用户的家目录和PATH等信息会发生改变 su oracle 切换到oracle身份后用户的家目录和PATH仍然是原先用户的家目录和PATH

AMD Lisa Su专访:谈与英伟达、Intel竞争 直言Arm不是敌人

AMD CEO Lisa Su(苏姿丰)绝对称得上是芯片届的风云人物,尤其是进入了AI新时代,她的声望达到了十年来最高点。翻看其成长历史,苏姿丰在麻省理工学院获得电气工程博士学位后(在麻省理工学院学习八年半,获得三个电气工程学位),在德州仪器开始了她的职业生涯,她在开发绝缘体上硅晶体管技术方面发挥了重要作用。随后,苏姿丰在 IBM 工作了 12 年,领导了半导体铜互连的开发,领导开发了 PlayS

Linux命令su- 与su的区别

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

openwrt su : must be suid to work properly

嵌入式文件系统一般用户执行 su root 切换根用户会提示错误 su: must be suid to work properly 是由于 busybox 的权限引起的,需要将 busybox 的权限改为 4755 。 而在 openwrt 中,直接修改 staging_dir/target-mipsel_24kec+dsp_glibc-2.21/root-ramips/bin/ 下的 bu

-bash: su: command not found 失效了

直接在Linux系统直接输入 export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin