`

Linux非root用户如何使用80端口启动程序

 
阅读更多


默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。 
 解决办法有两种:
 
1.使用非80端口启动程序,然后再用iptables做一个端口转发。
 
  iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
 
  用root用户直接去执行就可以了!
 
2.假设我们需要启动的程序是nginx,那么这么做也可以达到目的。
 
一开始我们查看nginx的权限描述:     
 
-rwxr-xr-x 1 nginx dev 2408122 Sep  5 16:01 nginx
 
这个时候必然是无法正常启动的。
 
首先修改文件所属用户为root:
 
chown root nginx
 
然后再加上s权限:
 
chmod u+s nginx
 
再次查看权限描述的时候:
 
-rwsr-xr-x 1 root root 2408122 Sep  5 16:01 nginx
 
这样就能启动了。

分享到:
评论

相关推荐

    如何让Linux下非root用户程序使用小于1024端口

    在 Linux 下,默认情况下1024 以下的端口是要在 root 下才能使用的,在其他用户下,如果尝试使用将会报错。在有的时候,我们可能考虑程序运行在 root 帐户下,但这可能会给 Linux 系统带来安全风险。那如何能够让非 ...

    linux服务器端口无法访问问题解决

    如果项目需要在80端口运行,可能需要使用root权限或调整用户权限设置。 5. **防火墙配置**:Linux服务器的防火墙(如firewalld)必须配置为允许80端口的TCP流量。通过`systemctl status firewalld`检查防火墙状态,...

    linux 监视端口是否正常的shell脚本

    /bin/bash port=”80″ restart=”/etc/init.d/httpd restart” EMAIL=”/bin/echo selboo | mutt -s “重新启动httpd” root@selboo.com.cn” netstat -ln |awk ‘/^tcp/ {print $4}’ |grep -q “:$port$” || { #...

    Linux系统下Tomcat使用80端口的方法

    在Linux系统中,Apache Tomcat是一个广泛使用的Java应用服务器,用于部署和运行Web应用程序。默认情况下,Tomcat监听8080端口提供服务。然而,80端口是HTTP协议的标准端口,大多数用户习惯直接输入域名而不指定端口...

    Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题

    由于系统保留了低于1024的端口供root用户使用,所以非root用户在尝试绑定这些端口时会遇到权限问题。为了解决这个问题,我们可以利用set UID位来允许非root用户启动服务。 对于Apache,首先切换到root用户,然后...

    CentOS查询端口占用和清除端口占用的程序

    "CentOS查询端口占用和清除端口占用的程序" 在 CentOS 系统中,查询端口占用和清除端口占用的程序是一种非常重要的维护操作。通过这种操作,我们可以快速地查询到占用某个端口的进程,从而清除其占用,释放系统资源...

    NC-ROOT用户重置工具.rar

    然而,如果ROOT用户的密码丢失或遗忘,可能会导致无法正常管理系统,这时就需要使用"NC-ROOT用户重置工具"来恢复访问。 "superadmin.exe"和"superadmin.xml"是这个压缩包内的两个关键文件。"superadmin.exe"通常是...

    Linux应用技术:Linux的基本使用.docx

    - **(1) 使用root用户登录系统**:首先需要以root身份登录Linux系统,这是因为root拥有最高权限,能够执行系统级的操作。 - **(2) 切换到命令行界面**:通过`init 3`命令将系统切换至纯命令行模式,之后可以通过`Alt...

    Linux 下 部署web程序

    在Linux系统中,出于安全考虑,通常不建议使用root用户来部署Web应用。因此,第一步是创建一个新的普通用户用于部署和管理应用。 ##### 2.1 创建用户 ``` useradd -d /ucenter ucenter ``` - `useradd`:用于创建...

    linux下安装mysql服务器

    命令设置 root 用户权限,并开放防火墙端口号。 8. MySQL 目录结构 MySQL 的目录结构包括数据库目录 /var/lib/mysql/,配置文件目录 /usr/share/mysql/,命令目录 /usr/bin/,日志文件目录 /var/log/mysqld.log ...

    linux下mysql的root密码忘记解决方法.pdf

    使用`mysql -u root`命令以root用户身份登录MySQL。 4. **修改root用户的密码** 登录后执行以下命令更新root用户的密码: ```sql UPDATE mysql.user SET password=PASSWORD('新密码') WHERE User='root'; ...

    linux_telnet服务的开启

    本文将详细讲解Linux_telnet服务的开启步骤,包括安装telnet软件包、启动telnet服务、测试telnet服务、设置telnet端口、telnet服务限制、telnet root用户的登入等内容。 一、安装telnet软件包 在Linux操作系统中,...

    linux开启telnet服务

    Telnet 服务是一种远程登录服务,允许用户从远程主机登录到 Linux 服务器。下面将详细介绍如何开启 Linux 的 Telnet 服务。 一、基本概念 Linux 提供服务是由运行在后台的守护程序(daemon)来执行的。守护进程的...

    如何开启Linux的telnet服务开启ftp服务[借鉴].pdf

    默认情况下,不允许root用户直接使用telnet登录Linux主机。可以使用以下方法来允许root用户登录: [root@wljs root]# vi /etc/pam.d/login #auth required pam_securetty.so 将这一行加上注释! 或者: [root@...

    精通LINUX设备驱动程序开发

    dev 174 8.7 使用lm-sensors监控硬件 174 8.8 spi总线 174 8.9 1-wire总线 176 8.10 调试 176 8.11 查看源代码 176 第9章 pcmcia和cf 179 9.1 pcmcia/cf是什么 179 9.2 linux-pcmcia子系统 181 9.3 主机...

    android应用获得执行root权限动作__socket_service

    在Android系统中,根权限(Root权限)是一个高级权限,允许用户访问并修改系统的底层文件和设置。这对于开发者和高级用户来说非常重要,因为可以进行深度定制、安装自定义ROM、优化性能或者执行需要系统级访问的应用...

    LINUX下安装oracle的步骤

    切换到`oracle`用户并运行图形化安装程序: ```bash su - oracle ./runInstaller ``` 在图形界面中,按照提示进行操作,选择“创建和配置数据库”选项,设置合适的安装路径、监听端口、数据库类型等。 **配置环境...

Global site tag (gtag.js) - Google Analytics