在Linux下,默认端口1024下的是要在root下才能使用的,在其他用户下,如果尝试使用将会报错.在有的时候,我们可能考虑程序运行在root帐户下,可能会给Linux系统带来安全风险.那如何能够让非root用户运行的程序能够对外启用小于1024的端口呢?本文尝试给出一些方法: 第一种方法: SetUID 为用户的应用程序在执行位设置user ID能够使程序可以有root权限来运行,这个方法让程序能够像在root下运行有同样的效果,不过需要非常小心,这种方法同样会带来安全风险,特别是当要执行的程…
默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常. bind时perror提示错误信息:permission denied 解决办法有两种: 1.使用非80端口启动程序,然后再用iptables做一个端口转发.   iptables -t nat -A PREROUTING -p tcp…
记录说明 这篇文章本来是用来记录Linux非root环境下安装PMCMRplus包折腾过程,但后来试过了各种方法安装不上这个R包后,我换上了Miniconda来安装.经前人提醒,一开始安装Miniconda我是没加入环境变量的.但一直激活不了虚拟环境,所以后来我又加入了环境变量试着安装,结果这一弄还真的污染了我原有的环境,很多R包都加载和下载不了了.于是我卸了conda,重新安装R.但环境变了后,不管我是安装新的函数库,还是用之前的编译好的依赖库,怎么都安装不上了,我甚至安装新版GCC重新编译也…
一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz 32位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-…
问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/apple_tree 启动脚本的内容格式,可参考linux service . 其中的start做如下定义: start(){ su - deploy -c ${APPLE_BIN} } 表示切换到deploy用户,并且环境变量也改变到deploy的环境,然后执行脚本. 如果是做成后台服务,需要修改…
今天在Github上收到一个用户反馈的EasyHLS在linux上非root用户调用时,无法写目录的问题:https://github.com/EasyDarwin/EasyHLS/issues/3,我发现我们原来的EasyHLS在设置目录权限的时候,错误设置成了0x777权限,结果通过root用户进行查看,发现生成的目录只有544权限,查了一下,才知道原来是受Linux系统的 umask限制了,Linux的umask默认值是0022,而我们的0x777并不是0777,所以mkdir 函数只能建…
之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包管理工具,可以将所有的包托管在user本地的环境内.下面的文档中运行的时候记得将用户名改成自己的. 1. 安装anaconda 下载官方anaconda python安装包(minicondo也行),将conda加入~/.bashrc的系统变量中(在安装中会提示你运行 conda init,点yes…
如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如wlf)开始安装: 1.wlf新建目录soft目录,上传本地jdk压缩包至soft目录: $ mkdir soft $ cd soft $ rz -y 2.解压jdk压缩包: $ tar -zxvf soft/jdk-8u221-linux-x64.tar.gz 3.确认解压成功: $ ll tota…
TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loaded runtime CuDNN library: 7.4.1 but source was compiled with: 7.6.0. CuDNN library major and minor version needs to match or have higher minor version…
说明 一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/) ,有些项目编译时需要更高版本的GCC,这时就需要自己额外安装一个了. 网上关于非 root用户的教程有很多,但大多数都很旧且不靠谱,我找到了几个比较实用的,总结一下,亲测有效. 安装GCC主要依赖三个库:GMP, MPFR 和MPC,另还有个ISL库(不知是否是必需).之前的旧版本可能需要手动依次安装…