帮忙看下这个是什么意思?
时间:2010-08-04
来源:互联网
用以下代码创建了两个文件,ls -l一看,
-rwxr-xr-x child
-rws--s--- father
这个是什么意思呢?
s我在APUE里看,说是粘住位。。。。
但是为什么两个文件不一样呢?
权限到底是怎么回事呢?
我在写一个ftp server时 发现在fork出来的进程中,创建的文件都是属于root和root组的。。。。。好奇怪,我就是在fork的子进程中创建一个文件,然后接受客户端传来的内容。 之后就发现是root的。
但是虽然是属于root和root组的,使用普通用户,依然可以删除文件,只是在删除的时候提示:
rm: remove write-protected regular file ..... ?
求解释。
- #include <dirent.h>
- #include <fcntl.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <errno.h>
- #include <string.h>
-
- int main()
- {
- pid_t pid;
- if ((pid = fork()) == 0) {
- open("child", O_RDWR | O_CREAT, 0777);
- return 0;
- } else if (pid > 0) {
- open("father", O_RDWR | O_CREAT);
- return 0;
- } else {
- fprintf(stderr, strerror(errno), 0777);
- return (-1);
- }
-
- }
作者: zhanglistar 发布时间: 2010-08-04
- `s'
- If the set-user-ID or set-group-ID bit and the corresponding
- executable bit are both set.
作者: daybreakcx 发布时间: 2010-08-04

作者: beyond_touch 发布时间: 2010-08-04
找的是什么提示? info what
??
作者: zhanglistar 发布时间: 2010-08-04
在10.1.2的中下部
作者: daybreakcx 发布时间: 2010-08-04
就是说,如果一个可执行的程序/脚本有这个位设置,用户执行时,就会有这个文件属主/组的权限,比如说
ls -l有脚本
./scrIPt 有rwsrwsr-x权限,属于 root root,普通用户运行时就相当于有root的权限,所以说,可能会带来很大的安全漏洞(但同时会有便利之处),所以有些UNIX忽略这个位的设置。
作者: zhangsuozhu 发布时间: 2010-08-04
t是代表粘住位的。。。。。
s是set-user-ID位和set-group-ID位,你解释的也是s位的。 不是粘住位。 典型的s位程序是passwd
而粘住位是/tmp。。。 比如 我的ubuntu系统只, tmp的权限位如下 :
drwxrwxrwt 38 root root 4096 2010-08-04 02:12 tmp
作者: zhanglistar 发布时间: 2010-08-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28