欢迎来到天天文库
浏览记录
ID:13659727
大小:312.50 KB
页数:0页
时间:2018-07-23
《如何执行在linux上运行的应用程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如何执行在Linux上运行的应用程序关键字:Linux 先决条件 要充分理解本文,必须具备Windows环境下桌面应用程序的工作经验,我认为读者对如何使用Linux桌面有一个基本的了解。使用一个运行的Linux计算来机探讨本文的概念和示例是很有帮助的。 概述 有时候第一次在Linux上运行一个应用程序需要一点额外工作。有些应用程序,比如服务器服务,可能无法安装为服务,因此您需要从命令行启动这些应用程序。对于启动这些应用程序的用户帐户而言,需要在应用程序文件中设置执行许可标志(x)。 运行用户空间应用程序 Linu
2、x在内核空间或用户空间运行进程。用户空间是操作系统的区域,应用程序通常在此运行。简单地说,每个用户帐户有其自己的用户空间,应用程序在这个领域内运行。 默认情况下,只有root用户有权访问内核空间。root用户是Linux中的超级用户,相当于Windows中的管理员帐户。在root用户帐户下运行应用程序可能会引起安全风险,是不可取的。 很多服务器服务需要root权限启动服务。然而,服务启动后,root帐户通常会将其移至服务帐户。严格地说,Linux中的服务帐户才是标准的用户帐户。主要区别是服务帐户仅用于运行一个服务,而不是
3、为任何实际登录的用户准备的。 设置权限 您可以使用chmod命令在一个文件中设置执行权限。在Linux中,umask设置通常用来防止下载的文件被执行,也有充分的理由相信,因为它有助于维护Linux计算机的安全性。 大多数Linux发行版具有一个值为022的umask设置,这意味着,默认情况下一个新文件权限设置为644.权限的数字表示形式采用读(4)、写(2)、执行(1)的格式。因此,默认权限为644的应用程序下载意味着文件所有者有读写权限,而组用户和其他用户只有读权限。 例如,为每个人赋予一个文件的执行权限,使用ch
4、moda+x命令。a表示所有人,加号(+)表示添加,而x表示执行。同样地,如果应用程序是一个服务器服务,您应该确保只有授权帐户才有权执行此服务。 如果一个应用程序能够在标准用户帐户权限下运行,但只有特定组中的用户才需要使用它,您可以将该组所有者权限设置为可执行,然后将这些用户添加到该组中。 更具体地说,您可以在一个可执行文件中设置访问控制列表(ACL)权限,赋予特定用户或组权限来运行该应用程序。使用setfacl实用工具设置ACL权限。 对于这些需要以root用户启动进程的应用程序,比如服务器服务,您有几个选择。总结了
5、允许用户执行需要root权限的服务器服务的各种选项。 选项描述 作为root用户不推荐用于服务器服务。当用户已经知道root密码而且应用程序泄露不是首要关注问题时,可用于应用程序。 SetUID由于安全问题,不推荐使用。SetUID允许标准用户以另一个用户方式,比如root用户,执行一个文件。 sudo很常用,并且被认为是一个很好的实践。sudo授予一个用户或组成员权限以执行可能额外需要root权限的文件。该用户不需要知道root密码。 带有文件权限的标准用户帐户在一个文件上为用户所有者、组所有者或其他人(所有人)
6、设置执行权限。这是授予那些不需要root权限来执行应用程序的用户的常用方法。 带有ACL权限的标准用户帐户使用较少,但是如果您不想授予一个用户sudo访问或者更改文件的权限,这也是一个可行的解决方案。在一个文件上使用setfacl命令,您可以授予一个特定用户或用户组执行该文件的权力。 从命令行运行 在管理Linux服务器时,从命令行运行应用程序是一项基本的任务。很多应用程序使用shell脚本(类似于Windows批处理文件.bat)来启动应用程序并执行其他任务,比如设置变量以及为其他用户分配进程。例如,应用程序可能需要
7、一个Java?VirtualMachine(JVM)来执行。那样的话,shell脚本可以设置适当的环境变量,然后执行Java命令来运行JavaArchive(JAR)或类文件。这同样适用于使用Perl、Python、甚至C#的应用程序。(当然,C#编译的应用程序可以在Linux上运行) 从命令行或者shell提示符执行应用程序的一个常用方法是使用./命令。如果您在Linux中使用句号(。)和正斜杠(/),就意味着告诉环境您想要以可执行文件运行该文件。例如,运行一个名为myapp的可执行文件,您可以使用./myapp命令。同
8、样地,您可以在文件名之前加上语言环境,比如: sh php python perl java 但更多情况下,套装应用程序使用shell脚本,以#!符号设置环境变量提供该语言的运行时可执行路径,比如#!/usr/bin/python.您也应该熟悉这种方法。 清单1使用catal
此文档下载收益归作者所有