首页/系统工具/内容

Linux以其他用户身份来执行程序的办法

系统工具2024-01-19 阅读()
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

  在Linux系统中,程序一般都是在系统用户下运行的。当然也其他用户也可以运行程序,只不过要通过以些设置来让程序在其他用户中执行。本文就来介绍一下Linux以其他用户身份来执行程序的方法。

  一、 runuser命令:

  概述:runuser命令使用一个替代的用户或者组ID运行一个Shell。这个命令仅在root用户时有用。

  仅以会话PAM钩子运行,并且没有密码提示。如果用一个非root用户,并且该用户没有权限设置user ID,这个命令将会因为程序没有setuid而失败。因runuser不会运行认证和账户PAM钩子,它比su更底层。

  语法如下图:

  使用注意事项:使用runuser命令,无需使用密码,并且,只能在root用户下使用。

Linux以其他用户身份来执行程序的方法

  二、su命令

  1. 概述:su命令允许你成为一个超级用户或者替代用户(substitute user),欺骗用户(spoof user),设置用户(set user)或者切换用户(switch user)。它允许一个Linxu用户切换当前用户到那些你知道密码的目标用户,切换包括与之关联的运行中的控制台(console)或者Shell

  它的语法如下图所示:

Linux以其他用户身份来执行程序的方法

  2. 切换到root用户:su命令会询问目标用户的密码,在你的shell命令行中输入 su - 来切换到root用户(你必须知道root用户的密码)

  如果输入了正确的root密码,会话的所有权(这里应该指当前控制台的上下文——译注)将改为root账户。输入logout可以退出一个root登录的shell,输入 whoami或者id命令来验证当前会话的所有者。

Linux是一套免费使用和自由传播的类Unix操作系统



……

相关阅读