linux中的nobody
最近在工作中遇到nobody用户的问题。关于nobody的介绍,可以看这篇文章。
https://blog.csdn.net/weixin_37569048/article/details/83030167?ops_request_misc=&request_id=&biz_id=102&utm_term=nobody&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-1-83030167
对于服务器来说一般请求发过来以后,apach要执行代码都是通过这个nobody用户权限来执行,我们在调试程序的时候需要使用nobody用户来调试,我们可以使用su命令来实现。
举个例子:
下面的代码是读取一个名叫test的文件,然后关闭。如果这文件不存在时创建这个文件。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>int main(int argc, char* argv[])
{int fd = open("test", O_RDONLY|O_CREAT);if (fd < 0){perror("open\n");return -1;}if (close(fd) < 0){perror("close\n");return -1;}return 0;
}
编译gcc openfile.c -g -o openfile得到可执行文件openfile
现在我们使用nobody用户来执行:
su -c "./openfile" -s /bin/bash nobody
原因是最开始我们没有创建test这个文件,于是这段代码就要创建test,创建的权限是看该文件夹是否有写的权限,应为对于nobody这个others来说没有写权限。
我觉得就读文件来说nobody的权限低这种说法是不准确的,这个还是要看文件对others设置具体权限是什么。将nobody这个文件夹权限改成777。再试一次。
执行成功了,创建了一个所欲nobody的文件test。这就是我们可能看到的nobody文件的由来,比如服务器的session文件。
su的使用和具体参数含义可以通过man su来查看。
linux中的nobody相关推荐
- c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程
很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...
- linux的tar中ztvf,linux中的tar命令(2)
实例4:只将 /tar 内的 部分文件解压出来 命令: tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 输出: [root@localhost te ...
- centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)
1 PHP简介 PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...
- java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
想写个小程序实现类似linux中管道的功能,创建一个外部子进程,然后主进程不断地写输入给子进程,而后把子进程的返回值取出. 如下的小代码就是从stdin读入一个字符串,调用子进程(cat)返回这个串, ...
- linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...
- linux ls 命令 路径,使用ls命令在Linux中使用完整路径列出文件
许多人会发现,这是重复的问题,但我已经经历了所有问题,然后问及这个主题,但没有为我工作.使用ls命令在Linux中使用完整路径列出文件 我想打印使用ls命令的特定文件格式的完整路径名到目前为止,我发现 ...
- linux中的ln属性,linux 常用基础命令 ln 详细介绍
命令介绍: ln是linux中又一个非常重要命令,ln是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我 ...
- linux内核定义的常用信号6,Linux中的信号
在 Linux 中,理解信号的概念是非常重要的.这是因为,信号被用于通过 Linux 命令行所做的一些常见活动中.例如,每当你按 Ctrl+C 组合键来从命令行终结一个命令的执行,你就使用了信号.每当 ...
- linux用户空间 限制吗,在Linux中限制用户空间
在Linux中限制用户的磁盘使用空间使用的是Quota,一般Quota在安装Linux时就已包括在内核中,不需要另行安装.Quota可以从两方面指定磁盘的储存限制: 使用者所能够支配的索引节点(ino ...
- Linux中的粘滞位
Linux中的粘滞位 Sticky 位是一个访问权限标志位,可以用来标示文件和路径. 历史: 粘滞位是在1974年Unix的第5版中引入的,用来设置可执行文件.当可执行文件设置粘滞位之后,它能够指示操 ...
最新文章
- 《iOS 6核心开发手册(第4版)》——2.1节UIControl类
- Python TimedRotatingFileHandler 多进程环境下的问题和解决方法
- 同步阻塞处理的几种方法
- 过年遇到前任借钱, 如何傲娇的拒绝?
- Windows NT OS 的技术架构图
- 已知三角形三点坐标求角度_细心研磨椭圆焦点三角形,这肯定是最全的解释。...
- 【C语言】C语言Code的编译与执行
- JS总是带有一种神奇的魔力
- 中国教育电脑市场趋势报告、技术动态创新及市场预测
- 第十节 javascript之第四节 函数
- 倒计时 5 天!Apache Flink Meetup · 北京站,1.13 新版本 x 互娱实践分享的开发者盛筵!...
- android file hascode,AndroidStudio集成Lombok
- IT运维服务整体方案
- Kubernetes CKA认证运维工程师笔记-Kubernetes故障排查
- wireshark抓包实验 分析 详解
- 2019年3月最新windwows101809教育版激活密钥及其下载地址
- linux中文显示乱码情况解决
- 农场世界农场游戏开发
- PLEG is not healthy: pleg was last seen active 3m45.252087921s ago; threshold is 3m0s
- node 压缩图片_推荐10个常用的图片处理小帮手(下)「值得收藏」