Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> 關於Linux >> Linux中如何讓普通用戶使用小於1024的端口

Linux中如何讓普通用戶使用小於1024的端口

日期:2017/1/25 10:22:50      編輯:關於Linux

  在Linux系統中,一般情況下,小於1024的端口是不對沒有root的Linux普通用戶開放的。但是還是有一些技巧能夠讓沒有root的用戶使用小於1024的端口的。本文就來介紹一下Linux中如何讓普通用戶使用1024以下端口。

Linux中如何讓普通用戶使用小於1024的端口

  方法一:SetUID

  給用戶的應用程序在執行位設置用戶 ID 能夠使程序可以以 root 權限來運行,這個方法讓程序能夠像在 root 下運行一樣,不過需要非常小心,這種方法同樣會帶來安全風險,特別是當要執行的程序本身存在安全風險時。

  使用的方法是:

  1.chown root.root /path/to/application

  2.#使用SetUID

  3.chmod u+s /path/to/application

  我們可以看到在系統下,/usr/bin/passwd這種文件,就使用了SetUID,使得每個系統能的用戶都能用passwd來修改密碼——這是要修改/etc/passwd的文件(而這個只有root有權限)。

  既然要使用非root用戶運行程序,目的就是要降低程序本身給系統帶來的安全風險,因此,本方法使用的時候需要特別謹慎。

  方法二:CAP_NET_BIND_SERVICE

  從 2.1 版本開始,Linux 內核有了能力的概念,這使得普通用戶也能夠做只有超級用戶才能完成的工作,這包括使用端口。

  獲取CAP_NET_BIND_SERVICE能力,即使服務程序運行在非root帳戶下,也能夠banding到低端口。使用的方法:

  1.# 設置CAP_NET_BIND_SERVICE

  2.setcap cap_net_bind_service =+ep /path/to/application

  Note:

  1. 這個方法並不是所有Linux系統通適,內核在2.1之前的並沒有提供,因此你需要檢查要使用此方法所在系統是否支持;

  2. 另外需要注意的是,如果要運行的程序文件是一個腳本,這個方法是沒有辦法正常工作的。 上一頁12下一頁共2頁

Copyright © Windows教程網 All Rights Reserved