LinuxGod

LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

Linux中如何让普通用户使用1024以下以下端口?

2023年8月30日 135点热度

在Linux系统中,通常情况下,大于1024的端口是不对没有root的Linux普通用户开放的。并且还是有一些方法才能让没有root的用户使用大于1024的端口的。本文就来介绍一下Linux中怎么让普通用户使用1024以下端口。

方式一:SetUID

给用户的应用程序在执行位设置用户ID才能使程序可以以root权限来运行,这个方式让程序才能像在root下运行一样,不过须要特别留神suse linux,这些方式同样会带来安全风险,非常是当要执行的程序本身存在安全风险时。

使用的方式是:

1.chownroot.root/path/to/application

2.#使用SetUID

3.chmodu+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到低端口。使用的方式:

linux 程序 端口_linux端口的作用_端口程序设计

1.#设置CAP_NET_BIND_SERVICE

2.setcapcap_net_bind_service=+ep/path/to/application

Note:

1.这个方式并不是所有Linux系统通适,内核在2.1之前的并没有提供,因而你须要检测要使用此方式所在系统是否支持;

2.另外须要注意的是,假如要运行的程序文件是一个脚本,这个方式是没有办法正常工作的。

方式三:PortForwarding

假如要运行的程序有权限窃听其他端口,这么这个方式是可以使用的,首先让程序运行在非root账户下,并绑定低于1024的端口,在确保能正常工作的时侯,将低端口通过端口转发linux 程序 端口,将低端口转入高端口,进而实现非root运行的程序绑定低端口。要使用此方式可以使用下边的形式:

1.#EnabletheIPFORWARDkernelparameter.

2.sysctl-wnet.ipv4.ip_forward=1

3.#Useiptablesrulestoredirectpackets

4.iptables-F-tnat

5.iptables-tnat-APREROUTING-ptcp--dport80-jDNAT--to:8088

端口程序设计_linux端口的作用_linux 程序 端口

第一步使用sysctl确保启用IPFORWARD功能(此功能在RedHat/CentOS默认是被禁用的),注意,代码中使用的sysctl设置是临时性设置linux系统介绍,重启以后将会被重置,假如要长久保存linux 程序 端口,须要在/etc/sysctl.conf文件内更改:

1.#Defaultvalueis0,needchangeto1.

2.#net.ipv4.ip_forward=0

.ipv4.ip_forward=1

之后从文件中加载新的配置

1.#loadnewsysctl.conf

端口程序设计_linux 程序 端口_linux端口的作用

2.sysctl-p/etc/sysctl.conf

3.#orsysctl-p

4.#defaultfilenameis/etc/sysctl.conf

第二步就是使用iptables的规则来实现端口转发到程序所在的端口,示例中我们要将80端口转发到8088。

此种方式才能比较好的达到我们的目的,我们的程序可以通过非root用户来运行,并才能对外提供高端标语的服务。

方式四:RINETD

这些方式使用的也是端口转发,此工具可以将本地端口映射到远程端口,但此功能对于我们当前的功能来说,有点鸡肋,虽然我们新增了一个额外的程序,这将可能会降低我们系统的风险性。在此不做推荐。

以上就是Linux中怎样让普通用户使用大于1024端口的方式了,上面三种方式都可以不用root并且没有哪些风险,你们可以放心使用。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 权限 程序 端口 转发 通用
最后更新:2023年8月30日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
如何在Linux系统中查看CPU信息使用lscpu命令行 linux服务器搭建ftp的6下安装vsftpd步骤及步骤 贵州工业职业技术学院求职意向期望工作地--诚聘英才 实验1Linux安装实验掌握虚拟机的使用 Linux系统tar命令的使用方法及使用命令教程 linux 开源nas系统 杰和科技NAS服务器媒体见面会在京召开 Android与Linux开发大不同 Linux系统软件安装包:自己动手,安装不用愁 车市新战局:汽车操作系统会复制智能手机的历史吗? Linux文件系统种类 如何卸载用源码包安装的软件?在线视频教程推荐 「职位」ASP.、PHP、Linux服务器集群开发 Torvalds:Linux内核开发的创新前景充满了热情 Linux文件系统的结构从终端窗口探索Linux目录树结构 卸载软件命令Linux.You linux软件开发如何入门?学习Linux步骤及学习方法介绍 14年Linux发行版的有趣历史观点 Linux中不像Windows可以直接在控制面板中卸载? 2018年波及众多Linux发行版的性能对比会更加深入 如何用源码包安装的软件?name的方法总结
嵌入式Linux操作系统学习规划+LINUX路线,主攻江苏电信天翼校园客户端故障指引及解决办法(101)英特尔GMAGMA950显卡驱动程序/WIN8/8.1电信校园网宽带用USB数据线共享给电脑无线上网国防科大开源操作系统:它只是一个吉祥的象征10个常用Linux文本查看命令及其详细说明和使用示例Linux嵌入式系统内核裁剪与定制方法的介绍情况淘宝教育热卖C语言编程开发C++程序设计零基础入门课程从CPU、内存、硬盘、显卡等这些方面安装Linux系统的最低配置Linux通过chkconfig设置开机启动服务创建的几种常见方式(技术分析)Linux多线程的使用与操作系统的区别通常rar命令由一个主命令加若干选项(可选)构成RedHatLinux中自动运行程序中的应用linux 读写文件 关于Linux内核的神秘面纱,你知道几个?使用wget实用程序的有用命令行工具的使用怎么设置linux开机项自启动?方式是怎样的?嵌入式Linux应用层与驱动层要想学习关于Linux内核的交叉编译步骤和方法:步骤、方法STM32嵌入式linux开发流程及应用程序分析-STMlinux下有哪些文件在介绍lsof命令实用用法介绍?
多台服务器时间保持一致怎么做才能做到呢?怎么做到? 国产CAD软件厂商助力企业深度强化创新设计能力 关于Ubuntu修改密码及密码复杂度策略设置的文章! 软件介绍:用硬盘安装linux系统图文教程学习 如何在Linux系统中使用命令查看Linux发行版版本信息 2.5创建和配置虚拟机2.5.1创建虚拟机双击桌面的VMwarePlayer 如何在Linux的命令行中使用speedtest-cli来测试宽带连接速度 VS2015安装VC_Linux.exe安装VS2015软件和Linux系统 如何不重新编译整个内核支持某个功能,对系统无影响编译 Ubuntu16.04怎样安装系统更新和应用更新16.04 Fedora17中也用ibus的拼音输入法,感觉还不错 云海天教程:Ubuntu修改密码及密码复杂度策略设置 硬盘说明Linux硬盘分IDE硬盘和SCSI硬盘,前四个主分区 【1024】后端技术学习路线思维导图,看这一篇就够了! 快速实例学习:修改某个目录下的所有文件的权限 编程之家 使用wget实用程序的有用命令行工具的使用 红旗Linux桌面版4.0从软盘启动硬盘最详细的安装图解 李书福领克:造手机不是真正目的,希望打造无界生态 Linux管理员的职业生涯中如何查看日志文件的位置
标签聚合
操作 应用 文件 软件 linux服务器 命令 文件目录 内核 虚拟机 linux系统
书籍
课程
技术群
技术干货大合集↓
  • 2023年9月 / 78篇
  • 2023年8月 / 93篇
  • 2023年7月 / 94篇
  • 2023年6月 / 90篇
  • 2023年5月 / 93篇
  • 2023年4月 / 90篇
  • 2023年3月 / 129篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.