草庐IT

c - 如何使用 C 在 Linux 中的 `/etc` 文件夹中创建一个文件?

我正在用C编写程序,每次开始设置一些变量时都必须检查配置文件。程序第一次启动时我想不会有任何配置文件,所以我需要创建它(使用默认设置)。有人说程序的配置文件属于文件夹/etc,更具体地说,属于专门为程序本身创建的特定文件夹(即/etc/myprog)。我应该问的第一个问题来了:这是真的吗?为什么是/etc?在任何情况下,我都尝试使用以下方法创建该文件:open("/etc/myprog/myprog.conf",O_WRONLY|O_CREAT,0644);open返回-1并将errno全局变量设置为2(即文件夹执行不存在)。如果我尝试直接在/etc中创建文件(因此"/etc/mypr

php - PHP 会忽略/etc/group 设置吗?

首先,我很抱歉我的英语不好,我不是母语人士。我将PHP与FCGI结合使用,因此我的每个虚拟主机都以不同的用户身份运行他们的php脚本。我需要在两个虚拟主机(user1和user2)之间共享一个php类,因此我决定将user2添加到/etc/group中的user1组是实现该目的的好主意。我这样做了,然后我使用以下命令测试组权限是否正常工作:suuser2cat/home/user1/shared_class.php它工作正常(user2访问user1类很好)。但是PHP似乎无法识别相同的权限。我将以下脚本保存在user2虚拟主机中以进行测试并从浏览器运行:并且返回了正确的用户名('us

linux - mkdir:无法创建目录 ‘/usr/local/etc/reaver’:权限被拒绝

我正在尝试安装reaver,但我卡在了某个点,它说要installmake。当我输入命令makeinstall时,出现以下消息:rm-f/usr/local/bin/reaver/usr/local/bin/wash/usr/local/bin/walshif[!-d/usr/local/etc/reaver];thenmkdir-p/usr/local/etc/reaver;fimkdir:cannotcreatedirectory‘/usr/local/etc/reaver’:PermissiondeniedMakefile:88:recipefortarget'install'f

c++ - 保护/etc/passwd 和/etc/shadow 不被并发访问

如何保护/etc/passwd和/etc/shadow不被并发访问?我在pwd.h中没有看到任何锁定机制。我看到pwd_mkdb的手册提到获取锁,但它只是锁定文件以进行独占访问吗?如果我要编写一个实用程序来直接或通过get/set/endpwent函数系列修改这些文件,是否有锁定这些文件的约定? 最佳答案 我想现在大多数应用程序都使用PAM,不是吗?http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/Linux-PAM_ADG.html.也就是说,您可以查看“pam_uni

linux - 在/etc/environment 中添加或更新一条配置记录

我的/etc/environment看起来像这样:cat/etc/environmentPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"我希望使用一个命令(sed、awk、python等等......)让它看起来像这样:cat/etc/environmentPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"JAVA_HOME="/usr/lib/jvm/java-6-sun"

linux - Unix shell 脚本 : pass shell options (-x etc. ) 到嵌套脚本

如何使用相同的选项运行嵌套的shell脚本?例如,parent.sh#!/bin/sh./child.shchild.sh#!/bin/shls如何修改parent.sh以便当我使用sh-xparent.sh运行它时,-x选项是在child.sh中也有效并且ls的执行显示在我的控制台上?我正在寻找一种可移植的解决方案,它对极少数情况有效,例如使用/bin/false作为注册shell的系统用户。$SHELL环境变量会有帮助吗?澄清:我有时想用-x调用parent.sh,有时用-e,视情况而定。因此,解决方案不得涉及对标志进行硬编码。 最佳答案

linux -/etc/passwd 上是否存在所有 linux 用户?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭4年前。Improvethisquestion我在/etc/passwd中找不到一个用户“user1”,但我可以像这样执行命令$touchabc$chownuser1abc$su

php -/etc/hosts 不影响 PHP

我在使用主机文件和PHP时遇到问题。当以root身份运行PHP代码时,会读取/etc/hosts中的条目。但是当以我的用户身份或从apache运行代码时不是。root@server:/#cat/etc/hosts127.0.0.1mydomain.comroot@server:/#php-r"echogethostbyname('mydomain.com');"127.0.0.1markus@server:/$php-r"echogethostbyname('mydomain.com');"xxx.xxx.xxx.xxx知道这是为什么吗? 最佳答案

linux - 如何在 Linux 上获取/etc/ld.so.conf 中的路径列表

获取由/etc/ld.so.conf配置的路径列表和其中包含的文件的最便携、最可靠的方法是什么?手动解析文件似乎不是一个好主意——格式可能会在未来的修订版中发生变化。为了让大家更好的理解这个问题,下面我会给出具体的细节。请注意,尽管有这些细节,但这是一个通用的编程问题,适用于其他情况。有一个程序,叫做LuaRocks.它是Lua编程语言的包管理器(有点像Rubygems或Pythoneggs)。LuaRocks包被称为“rocks”。作为一个方便的功能,LuaRocks允许摇滚作者为摇滚指定外部依赖列表,制定为C头文件和/或动态库文件的列表。(.soonLinux。)如果指定的文件不存

linux - 如果不在/etc/passwd 中,如何更改 Ubuntu 中的默认 shell?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7年前。Improvethisquestion我使用的是Ubuntu14.04,我的默认shell是/bin/sh。我想将其更改为/bin/bash。我通读了几个解决方案(her