草庐IT

caffe_root

全部标签

linux - Bash PS1 为 root 显示 $ 而不是 #

root登录时,回显时默认提示符为\s-\v\$,显示为bash-4.2#。我正在尝试使用bash提示符来显示工作目录。导出PS1="\w\$"。提示正确显示,但是,符号\$没有转换成#,即使我的$UID是0,这违背了省略用户符号\u的目的。是否有我必须添加的额外内容,或者如果我导出该符号是否不起作用? 最佳答案 exportPS1="\w\$"这不会将$PS1设置为\w\$,而是将其设置为\w$,如您所见你输入:echo"$PS1"使用单引号:exportPS1='\w\$' 关于li

c - 无需 root 即可将 Web 服务器绑定(bind)到端口 80

我已经用C语言编写了自己的Web服务器。我如何才能将它绑定(bind)到端口80而不是root,这样安全性就不会受到损害(缓冲区溢出等)?我是否应该简单地转发来自另一个运行在端口80上的“稳定”服务器的任何流量? 最佳答案 使用正向代理确实是最简单也是最推荐的解决方案。它还具有在非常无效的请求到达您自己编写的服务器之前过滤掉它们的优势。如果您的应用程序将用户的IP地址用于某些用途,请记住从您的Web服务器使用的任何header(X-Client-IP等)中检索它。但是,只对真正来自您的网络服务器的请求这样做,否则用户可以欺骗他们的I

linux - Jetty bash 脚本仅适用于 root 用户

我已经通过提取/opt/jetty中的存档安装了Jetty9(最新版本)。start.jar运行良好,但我希望bash服务bin/jetty.sh由非根用户运行。我在使用bash脚本时遇到的问题是:当我没有在/etc/default/jetty中为$JETTY_USER指定值时(它使用root用户),Jetty工作。但是当我为其分配一个值时,Jetty失败并显示消息:StartingJetty:FAILED,并且没有日志。那么,如何创建可以运行jetty的用户? 最佳答案 我知道这个问题很老了,但由于这种行为最近也困扰着我,所以这是

c++ - 我的 C/C++ 应用程序如何确定 root 用户是否正在执行命令?

我正在编写一个需要root用户权限才能执行的应用程序。如果由非root用户执行,它会退出并终止并显示一条错误消息,例如:pthread_getschedparam:Operationnotpermitted我想让应用程序更加用户友好。作为其早期初始化的一部分,我希望它检查它是否由root执行。如果不是root,它会显示一条消息,表明它只能由root运行,然后终止。 最佳答案 getuid或geteuid是显而易见的选择。getuid检查实际用户的凭据。geteuid中添加的e代表effective。它检查有效凭据。举个例子,如果你使

python - 检查非 root 用户是否可以访问路径

我有一个用Python(在Linux中)编写的安装脚本,它以root身份运行,需要检查非root用户是否可以读取某些文件。出于这个原因,我不能使用os.path.exists()或open(filename)(并捕获任何异常)。目前我正在考虑检查每个文件的权限位,但唯一的问题是我还必须检查通向文件名的路径上的权限位(目录需要r+x位设置),如果我有数千个文件,这可能是一个非常缓慢的过程。我的解决方案是最好的,还是有更好的选择?编辑:我需要在检查文件后以root身份运行脚本,因此不幸的是,放弃root权限不是一个选项。 最佳答案 你可

linux - 以非 root 用户身份访问带有 libusb-1.0 的 USB 设备

我正在尝试以RHEL5上的非根用户身份连接USB设备。该设备是一个使用libusb-1.0的GPIO接口(interface)(其文档可以在http://www.xdimax.com/sub20/sub20.html找到)。使用其API打开设备的过程是:sub_deviced;d=sub_find_devices(0);sub_handleh=sub_open(d);当我这样做时,sub_find_devices()调用有效,但在sub_open()调用中,我收到libusb错误-3,这表明我这样做了没有权限打开设备进行写入。我对这个问题做了一些研究,发现我应该创建一个udev规则。在

linux - 没有root的Datastax Cassandra

我正在尝试在RedhatLinux上安装和运行Datastaxcassandra社区版,但我没有root权限。我在我的主目录中提取了tar,但我无法执行./cassandra我正在HPC集群上执行此操作,我想我会在我的主目录中安装Cassandra并将数据保存在我们提供的暂存空间中(主目录没有足够的空间来容纳整个数据)如有任何帮助,我将不胜感激!谢谢! 最佳答案 来自installationdocsforDataStaxcommunityedition,您唯一需要的其他步骤是创建数据和日志目录:$sudomkdir/var/lib/

linux - 如何在一行命令中将密码应用于 sudo 并执行 su root?

我创建了一个名为samX的用户,具有root权限(在visudo中附加了“samXALL=(ALL:ALL)ALL”)。我正在尝试将密码应用到sudo,然后是suroot并在一行命令中依次执行whoami。我当前的命令有点如下,但它提示错误:sudo:suroot;whoami:找不到命令echo'CbEYKFKt'|sudo-S'suroot;whoami'其中'CbEYKFKt'为用户samX的密码。有什么办法可以解决这个问题吗?非常感谢。 最佳答案 echo'CbEYKFKt'|sudo-Ssu-cwhoami应该工作--c为

python - 我如何要求 root 密码但稍后执行操作?

我有一个python脚本,我想在其中添加“完成后关机”功能。我知道我可以使用gksudo(当用户点击“完成后关闭”时)向用户询问root权限,但我如何才能在以后(当脚本实际完成时)使用这些权限。我考虑过在关机命令中使用chmodu+s,所以我不需要密码,但我真的不想这样做。有什么办法可以实现吗?提前致谢,Ember。 最佳答案 与其chmodu+s关闭命令,不如允许无密码sudo访问该命令会更好..至于允许在脚本末尾关闭,我想您可以使用sudo运行整个脚本,然后在脚本开始时将权限放弃给初始用户?

c - 如何从 root 临时删除权限?

我正在开发一个以root身份运行的守护进程,但需要与用户调用API,我检查了API代码,它使用getuid()来获取用户。如果root用户通过setuid()删除权限,则无法恢复到root。如果调用seteuid(),API仍将作为用户uid=0执行某些操作。我觉得访问API前fork和子进程setuid应该是可以的,但是即使COW,调用API多次也会消耗很大。除了使用进程池是否可以解决问题? 最佳答案 是的!创建单个进程以使用适当的UID调用API,并通过管道、UNIX域套接字或(共享内存)1与程序的其余部分通信。我的意思是,只f