相关疑难解决方法(0)

有没有办法让非root进程绑定到Linux上的"特权"端口?

在我的开发盒上有这个限制是非常烦人的,因为除了我之外不会有任何用户.

我知道标准的解决方法,但它们都没有完全符合我的要求:

  1. authbind(Debian测试中的版本,1.0,仅支持IPv4)
  2. 使用iptables REDIRECT目标将低端口重定向到高端口(对于ip6tables,iptables的IPv6版本尚未实现"nat"表)
  3. sudo(以root身份运行是我想避免的)
  4. SELinux(或类似).(这只是我的开发盒,我不想引入很多额外的复杂性.)

是否有一些简单的sysctl变量允许非root进程绑定到Linux上的"特权"端口(端口小于1024),或者我只是运气不好?

编辑:在某些情况下,您可以使用功能来执行此操作.

linux iptables ipv6 root linux-capabilities

362
推荐指数
18
解决办法
26万
查看次数

Jenkins奴隶防火墙的端口号

我们在Windows上使用Jenkins 1.504 .

我们需要在不同的子网络中拥有Master和Slave,其间有防火墙.
我们不能拥有任何任何端口防火墙规则,我们必须指定确切的端口号.

我知道Master正在听的端口.

我还看到Slave从每次运行动态分配的任意端口打开与Master的连接,而Master端口上的端口也是任意的.
我可以通过在管理Jenkins>配置全局安全性> JNLP从属代理的TCP端口中指定它来修复Master的端口.

如何修复Slave端口?


更新:找到此处描述的连接机制: https: //wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI#JenkinsCLI-Connectionmechanism

我认为它可能对我们有用,但仍然会更好地拥有固定2固定端口连接.

port firewall slave jenkins

38
推荐指数
2
解决办法
9万
查看次数

java.net.BindException:在Mac OSX上创建ServerSocket时拒绝权限

我尝试使用eclipse在mac中运行Java套接字,但它不起作用.我收到了这个错误:

Exception in thread "main" java.net.BindException: Permission denied

    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.socketBind(PlainSocketImpl.java:521)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:414)
    at java.net.ServerSocket.bind(ServerSocket.java:326)
    at java.net.ServerSocket.<init>(ServerSocket.java:192)
    at java.net.ServerSocket.<init>(ServerSocket.java:104)
    at server.MessageServer.main(MessageServer.java:11)
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它运行?

package server; //ChatServer 
import java.io.*; 
import java.net.*; 

public class MessageServer { 

public static void main (String args[]) throws IOException { 
    int port = 100; 
    ServerSocket server = new ServerSocket (port); 
    System.out.println("Server is started!"); 

    while (true) { 
        Socket client = server.accept (); 
        System.out.println ("Accepted from " + client.getInetAddress ()); 
        MessageHandler handler = new MessageHandler (client); 
        handler.start(); 
        } …
Run Code Online (Sandbox Code Playgroud)

java sockets macos

25
推荐指数
2
解决办法
4万
查看次数

在root(linux)上对bruteforce攻击进行自动阻止ip

我最近注意到我有很多登录尝试,超过200万和计数.这肯定是一场蛮力攻击.

如何在root ssh访问失败时自动阻止ip 15分钟?

我不需要防火墙; 只是一个激活此安全功能的小选项.

你有什么建议?

linux security ssh root

3
推荐指数
2
解决办法
2299
查看次数

REST HTTPS服务器出错

我正在尝试在Golang中使用TLS创建REST服务器,但该程序无法正常工作:

http.Handle("/", gorest.Handle())
err = http.ListenAndServeTLS(":443", "cert.pem", "key.pem", nil)
Run Code Online (Sandbox Code Playgroud)

如果我用非root用户运行它,我得到listen tcp 127.0.0.1:443: permission denied.使用root用户运行它不会显示先前的消息,但在调用ListenAndServeTLS时不会显示执行块.使用的操作系统是Linux x86_64.有任何想法吗?

go

2
推荐指数
1
解决办法
2504
查看次数

抛出java.net.BindException的单独线程中的ServerSocket:绑定失败:Android上的EACCES(权限被拒绝)

我正计划制作一个通过本地WiFi连接将文件从一部手机传输到另一部手机的应用程序。我面临的问题是,与台式机上的Java不同,尝试将端口绑定到新的SocketServer实例时,Android上出现权限问题。

accept()正如人们所建议的那样,我在单独的线程中运行ServerSocket 方法,并且我具有正确的权限AndroidManifest.xml

这是我的代码:

主要活动

package ga.ognjen.quicksend;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements Runnable {

    private static TextView textView;
    private Button button;
    private Thread thread;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);
        thread = new Thread(this);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                thread.start();
            }
        });
    }

    public static void setLabelText(String msg) {
        textView.setText(msg);
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

java multithreading android

1
推荐指数
1
解决办法
852
查看次数

为何在undertow服务器中将端口设置为80失败?(java)

当我在Java程序中“ mvn exec:java”时,将端口设置为80时遇到问题,但是8080可以成功。

 Undertow server = Undertow.builder()
                    .addHttpListener(80, "localhost")
                    .setHandler(path)
                    .build();
            server.start();
Run Code Online (Sandbox Code Playgroud)

当我将其设置为80时,出现了类似的异常

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.net.SocketException: Permission denied
        at io.undertow.Undertow.start(Undertow.java:141)
        at cc.cmu.edu.Q1.Q1Controller.main(Q1Controller.java:46)
        ... 6 more
Caused by: java.net.SocketException: Permission denied
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
        at org.xnio.nio.NioXnioWorker.createTcpConnectionServer(NioXnioWorker.java:175)
        at org.xnio.XnioWorker.createStreamConnectionServer(XnioWorker.java:242)
        at io.undertow.Undertow.start(Undertow.java:120)
        ... 7 more
Run Code Online (Sandbox Code Playgroud)

java port maven undertow

1
推荐指数
1
解决办法
998
查看次数