中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux非root用戶程序如何使用小于1024端口

發布時間:2021-10-28 14:23:16 來源:億速云 閱讀:275 作者:小新 欄目:系統運維

小編給大家分享一下Linux非root用戶程序如何使用小于1024端口,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

***種方法:

SetUID

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

chown root.root /path/to/application #使用SetUID chmod u+s /path/to/application

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

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

第二種方法:

CAP_NET_BIND_SERVICE

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

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

#設置CAP_NET_BIND_SERVICE setcap cap_net_bind_service =+ep /path/to/application

Note:

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

2. 另外需要注意的是,如果要運行的程序文件是一個腳本,這個方法是沒有辦法正常工作的(Script won't work)。

第三種方法:

Port Forwarding

如果要運行的程序有權限監聽其他端口,那么這個方法是可以使用的,首先讓程序運行在非root帳戶下,并綁定高于1024的端口,在確保能正常工作的時候,將低端口通過端口轉發,將低端口轉到高端口,從而實現非root運行的程序綁定低端口。要使用此方法可以使用下面的方式:

# Enable the IP FORWARD kernel parameter. sysctl -w net.ipv4.ip_forward=1   # Use iptables rules to redirect packets iptables -F -t nat iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to:8088

***步使用sysctl確保啟用IP FORWARD功能(此功能在Red Hat/CentOS默認是被禁用的),注意,代碼中使用的sysctl設置是臨時性設置,重啟之后將會被重置,如果要長久保存,需要在/etc/sysctl.conf文件內修改:

# Default value is 0, need change to 1. # net.ipv4.ip_forward = 0 net.ipv4.ip_forward = 1

然后從文件中加載新的配置

# load new sysctl.conf sysctl -p /etc/sysctl.conf   # or sysctl -p # default filename is /etc/sysctl.conf

第二步就是使用iptables的規則來實現端口轉發到程序所在的端口,示例中我們要將80端口轉發到8088。

此種方法能夠比較好的達到我們的目的,我們的程序可以通過非root用戶來運行,并能夠對外提供低端口號的服務。

第四種方法:

RINETD2

這種方法使用的也是端口轉發,此工具可以將本地端口映射到遠程端口,但此功能對于我們當前的功能來說,有點雞肋,畢竟我們新增了一個額外的程序,這將可能會增加我們系統的風險性。在此不做推薦。

以上是“Linux非root用戶程序如何使用小于1024端口”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

包头市| 宁国市| 高唐县| 万宁市| 东平县| 铜川市| 凤庆县| 文水县| 阜平县| 马公市| 中卫市| 铜川市| 黄石市| 淮安市| 新源县| 康定县| 亳州市| 治多县| 广丰县| 宁夏| 甘孜县| 望城县| 曲沃县| 类乌齐县| 福清市| 大埔县| 清河县| 龙口市| 水富县| 顺义区| 余干县| 鄱阳县| 芜湖市| 丹东市| 宿松县| 邓州市| 弋阳县| 修水县| 瑞安市| 常州市| 香河县|