首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux su传参数

su 命令在 Linux 系统中用于切换用户身份。当需要以另一个用户的身份执行命令时,可以使用 su 命令,并且可以传递参数给新启动的 shell。

基础概念

suswitch user 的缩写,它允许用户切换到另一个用户的身份。通常需要输入目标用户的密码才能完成切换。

传参数

当使用 su 命令并传递参数时,这些参数会被传递给新启动的 shell。例如,如果你想以 user 身份运行 ls -l 命令,可以使用以下命令:

代码语言:txt
复制
su - user -c "ls -l"

在这个例子中,-c 选项告诉 su 命令执行后面的字符串作为命令。

优势

  • 权限管理:通过 su 可以临时提升权限,执行需要管理员权限的任务。
  • 安全性:相比直接使用 root 用户,使用 su 可以更好地控制权限,减少安全风险。

类型

  • 完整切换:使用 su -su -l 可以切换到目标用户的环境,包括加载目标用户的环境变量和 shell 配置文件。
  • 部分切换:不使用 --l 选项时,只会切换用户身份,不会加载目标用户的环境变量和 shell 配置文件。

应用场景

  • 系统管理:管理员需要以普通用户身份执行某些任务时。
  • 权限提升:某些任务需要特定用户的权限才能完成。

常见问题及解决方法

问题:为什么 su 命令无法切换用户?

原因

  • 目标用户不存在。
  • 当前用户没有权限切换到目标用户。
  • 目标用户的密码错误。

解决方法

  • 确认目标用户存在。
  • 确认当前用户有权限切换到目标用户。
  • 确认目标用户的密码正确。

问题:为什么 su 命令传递参数时出错?

原因

  • 参数格式错误。
  • 命令本身有误。

解决方法

  • 检查参数格式是否正确。
  • 确认命令本身是否正确。

示例代码

以下是一个示例,展示如何使用 su 命令传递参数:

代码语言:txt
复制
# 切换到 user 用户并运行 ls -l 命令
su - user -c "ls -l"

参考链接

通过以上信息,你应该能够更好地理解 su 命令及其传参数的使用方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux用户-su命令

Linux是一个多用户多任务操作系统,这意味着它可以同时支持多个用户登录并使用系统。但是我们之前所有的操作都是基于超级管理员root来操作的,但是从Linux设计来说,是不推荐的。...1.linux用户 2.linux用户组 3.Linux用户-su命令(本章节) 4.Linux用户-sudo命令 前面讲过,我们使用普通用户运维系统的时候,有些操作是必须通过超级管理员才能完成的,其中一个方式是使用...SU su 是在类 Unix 操作系统(如Linux、BSD等)中用于切换用户的命令。它的主要作用是让当前用户临时切换到另一个用户,可以是超级用户(root)或者系统中的其他用户。...以下是关于 su 命令的详细介绍: 1. 使用方式 基本的 su 命令使用方式如下: su [选项] [用户名] 其中: 选项:可以包括 - 或 -l,表示在切换用户时同时加载该用户的环境变量。...总结 1.一种常见的安全策略是禁止root的ssh登录,然后使用普通用户ssh登录,然后开放su命令切换到root用户下进行对应的操作。在Linux进阶部分会有讲这部分内容。

11000

Linux命令su、sudo、sudo su、sudo -i使用和区别

sudo 与 su 两个命令的最大区别是: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。另外一个区别是其默认行为。...su root 输入root密码后切换之root用户但是pwd目录不变 ? su - root 输入root密码后切换之root用户但是pwd目录/root ?...su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。...sudo -i 直接运行sudo命令加-i参数,要求执行该命令的用户必须在sudoers中才可以 ? sudo su 运行sudo命令给su命令提权,运行su命令。...来自:Linux迷 链接:https://www.linuxmi.com/

16K10
  • linux中su和su -之间你知不道的事

    su 命令用于切换到另一个用户,即更改用户ID。在正常登录会话期间,如果没有执行username例如su -,它默认以root用户身份登录。...$ su rumenz 要注意用户对用户rumenz保持环境deploy 原始登录会话,当前工作目录和可执行文件的路径也保持不变。...rumenz用户可以使用$ cd(不带任何参数)进入自己的家目录。 当你使用 su -或-l或--login时,它会为你提供一个类似于正常登录时的登录界面。下面的所有命令都是等价的。...$ su - rumenz OR $ su -l rumenz OR $ su --login rumenz 在这种情况下,用户rumenz提供了自己的默认登录环境,包括可执行文件的路径;他还会进入他的默认家目录...重要的是,当你在su没有username,将自动成为超级用户。将获得root的默认环境,包括可执行文件更改的路径。还将进入 root 的家目录: $ su

    2.8K20

    Linux 命令 su 和 sudo 的区别?

    Linux 中新建用户的命令是 useradd ,一般系统中这个命令对应的路径都在 PATH 环境变量里,如果直接输入 useradd 不管用的话,就用绝对路径名的方式:/usr/sbin/useradd...2.1 - 参数 su 的一般使用方法是: su 或者 su - 两种方法只差了一个字符 -,会有比较大的差异: 如果加入了 - 参数,那么是一种...这就得用到 -c 参数。...3.1 主要用法 我们在 Linux 中经常会碰到 Permission denied 这种情况,比如以 ubuntu 用户的身份查看 /etc/shadow 的内容。...:如果我们的 Linux 系统有很多用户需要使用的话,前者要求所有用户都知道 root 用户的密码,这显然是非常危险的;后者是不需要暴露 root 账户密码的,用户只需要输入自己的账户密码就可以,而且哪些用户可以切换到

    17610

    Linux中su,sudo,sudo su,sudo -i命令的使用和区别

    sudo 与 su 命令的区别: sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。...sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。...更多可参考:Linux 命令 su 和 sudo 的区别 su 切换不同的用户的身份: 默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。...su root 输入root密码后切换到root用户但是pwd目录不变 su - root 输入root密码后切换到root用户但是pwd目录/root sudo 命令: sudo -i root 与...su : 切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root 账户,密码也为超级账户的密码,没有时间限制。

    10K20

    Linux 命令 su 和 sudo 的区别

    准备工作 2. su 命令介绍及主要用法 2.1 - 参数 2.2 切换到指定用户 2.3 -c 参数 3. sudo 命令介绍及主要用法 3.1 主要用法 3.2 sudo 工作原理 3.3 思考 4...Linux 中新建用户的命令是 useradd ,一般系统中这个命令对应的路径都在 PATH 环境变量里,如果直接输入 useradd 不管用的话,就用绝对路径名的方式:/usr/sbin/useradd...知道 su 是由什么缩写来的之后,那么它提供的功能就显而易见了,就是切换用户 2.1 - 参数 su 的一般使用方法是: su 或者 su - 两种方法只差了一个字符...这就得用到 -c 参数。...3.1 主要用法 我们在 Linux 中经常会碰到 Permission denied 这种情况,比如以 ubuntu 用户的身份查看 /etc/shadow 的内容。

    3.7K20

    Linux 命令 su 和 sudo 的区别

    2.1 - 参数 su 的一般使用方法是: su 或者 su - 两种方法只差了一个字符 -,会有比较大的差异: 如果加入了 - 参数,那么是一种...login-shell 的方式,意思是说切换到另一个用户 之后,当前的 shell 会加载 对应的环境变量和各种设置; 如果没有加入 - 参数,那么是一种...这就得用到 -c 参数。 另外,Linux 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。...3.1 主要用法 我们在 Linux 中经常会碰到 Permission denied 这种情况,比如以 ubuntu 用户的身份查看 /etc/shadow 的内容。...References https://www.rootusers.com/the-difference-between-su-and-sudo-commands-in-linux/ 《鸟哥的 Linux

    4.3K30

    Linux命令(17)——su与sudo命令

    1.su命令 1.1作用 su用于临时切换身份到另一个指定的用户,未指定用户名默认为root。...使用su切换用户身份后,默认情况下不改变当前工作目录,但会改变“HOME”、“SHELL”、“USER”、“LOGNAME”等shell的环境变量。...1.2语法 su [选项] [参数] 1.3选项 -c [command],--command=[command]:执行完指定命令后,立即恢复原来的用户身份; --session-command=[COMMAND...2.2格式 sudo [选项] [参数] sudo常见用法,以指定用户身份执行命令: sudo –u [username] [command] 2.3命令选项 -A:通常sudo需要密码,它目前终端读取...3.su和sudo命令的区别 (1)二者功能不同 su用来长时间切换用户,常见用法是su [username],未指定username默认切换至root。

    4.3K30

    Python函数参数传递:传值还是传引用

    按照C++语言的思维,如果Python函数参数的传递是传值的话,结果应该是[0, 1],如果是传引用的话,结果应该是[‘T’, ‘Z’, ‘Y’]。 可是实际结果是:[0, 1, 100]。...所以,Python函数参数的传递既不是所谓的传值也不是传引用。 Python函数参数传递 那么Python中函数参数到底是以什么形式传递的呢?...明白了这个概念,那么我们可以说Python中函数参数的传递是传递的变量的值,即就是变量所指向的对象的地址。 一般的,我们有下面的规律: 1....不可变对象作为函数参数,相当于C系语言的值传递。 2. 可变对象作为函数参数,相当于C系语言的引用传递。...所以最重要的一点是明白:Python中函数参数的传递是变量指向的对象的地址;Python中变量和对象的不同。

    3.3K51

    linux下su和sudo命令如何使用?

    今天这篇我们来学习和了解“linux下su和sudo命令如何使用?”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“linux下su和sudo命令如何使用?”有一定的帮助。...而普通用户切换到其它任何用户都需要密码验证;   2、su 的用法:   su [OPTION选项参数] [用户]   -, -l, ——login 登录并改变到所切换的用户环境;   -c, ——commmand...=COMMAND 执行一个命令,然后退出所切换到的用户环境;   至于更详细的,请参看man su ;   3、su 的范例:   su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下...su -Password:[root@localhost ~]# pwd/root   su 参数 - 用户名   [beinan@localhost ~]?...关于“linux下su和sudo命令如何使用?”就介绍到这了,如果大家觉得不错可以参考了解看看。

    3.1K20

    Go语言参数传递是传值还是传引用

    对于了解一门语言来说,会关心我们在函数调用的时候,参数到底是传的值,还是引用? 其实对于传值和传引用,是一个比较古老的话题,做研发的都有这个概念,但是可能不是非常清楚。...比如我们传递一个int类型的参数,传递的其实是这个参数的一个副本;传递一个指针类型的参数,其实传递的是这个该指针的一份拷贝,而不是这个指针指向的值。...我们尝试把modify函数的接收参数改为Person的指针。...我们这里省略了内存地址的打印,因为我们上面int类型的例子已经证明了指针类型的参数也是值传递的。...是否可以修改原内容数据,和传值、传引用没有必然的关系。在C++中,传引用肯定是可以修改原内容数据的,在Go语言里,虽然只有传值,但是我们也可以修改原内容数据,因为参数是引用类型。

    2.3K30
    领券