了解如何执行在Linux上运行的应用程序

先决条件

为了从本文中获得最大收益,您应该具有在Windows环境中使用桌面应用程序的经验。 我假设读者对如何使用Linux桌面有基本的了解。 拥有一台运行正常的Linux计算机来探索本文中的概念和示例将非常有益。

总览

有时,第一次在Linux上运行应用程序需要一些额外的工作。 某些应用程序(例如服务器服务)可能未作为服务安装,因此您需要从命令行启动这些应用程序。 对于启动应用程序的用户帐户,在应用程序文件上设置执行许可标志( x )。

运行用户空间应用程序

Linux在内核空间或用户空间中运行进程。 用户空间是应用程序通常在其中运行的操作系统区域。 简而言之,每个用户帐户都有其自己的用户空间,并且应用程序在该领域内运行。

默认情况下,只有root用户有权访问内核空间。 根用户是Linux中的超级用户,与Windows中的管理员帐户相当。 以root用户帐户运行应用程序会带来安全风险,因此不建议这样做。

许多服务器服务需要root权限才能启动服务。 但是,启动服务后,根通常会将其交给服务帐户。 Linux中的服务帐户在技​​术上是标准的用户帐户。 主要区别在于服务帐户仅用于运行服务,并不供任何人实际使用它们登录。

设置权限

您可以使用chmod命令设置文件的执行权限。 Linux中的umask设置通常也有充分的理由阻止下载的文件可执行,因为它可以帮助维护Linux计算机的安全性。

大多数Linux发行版的umask设置为022 ,这意味着默认情况下,新文件的权限设置为644 。 权限的数字表示形式为读取(4),写入(2)和执行(1)。 因此,默认权限为644的应用程序下载意味着文件所有者具有读取和写入权限,而组所有者和其他所有者具有只读权限。

例如,要授予所有人执行文件的权限,请使用chmod a+x命令。 a表示全部 ,加号( + )表示加号 , x表示执行 。 同样,如果应用程序是服务器服务,则应确保只有授权帐户才能执行该服务。

如果应用程序能够在标准用户帐户权限下运行,但是只有特定组中的用户才有权使用该应用程序,则可以将组所有者权限设置为可执行,并将用户添加到组中。

更具体地说,您还可以在可执行文件上设置访问控制列表(ACL)权限,以允许特定用户或组对运行应用程序的权限。 使用setfacl实用程序设置ACL权限。

对于需要以root用户身份启动该进程的那些应用程序,例如服务器服务,您有一些选择。 表1总结了允许用户执行需要root特权的服务器服务的各种选项。

表1.运行需要root特权的应用程序的选项
选项 描述
以root用户身份 不建议用于服务器服务。 当用户已经知道root密码并且应用程序的安全性不是主要问题时,应用程序可以接受。
SetUID 由于安全问题,不建议使用。 SetUID允许标准用户以另一个用户(例如root)的身份执行文件。

你可能感兴趣的:(python,linux,java,大数据,操作系统)