linux常用c函数 文件权限控制篇
access(判断是否具有存取文件的权限)
相关函数 stat,open,chmod,chown,setuid,setgid
表头文件 #include<unistd.h>
定义函数 int access(const char * pathname,int mode);
函数说明 access()会检查是否可以读/写某一已存在的文件。参数mode有几种情况组合,R_OK,W_OK,X_OK
和F_OK。R_OK,W_OK与X_OK用来检查文件是否具有读取、写入和执行的权限。F_OK则是用来判断该文件是否存在。由于access()只作
权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表示可以在该目录中建立新文件等操作,而非意味此目录可以被当做文件处理。
例如,你会发现DOS的文件都具有“可执行”权限,但用execve()执行时则会失败。
返回值 若所有欲查核的权限都通过了检查则返回0值,表示成功,只要有一权限被禁止则返回-1。
错误代码 EACCESS 参数pathname 所指定的文件不符合所要求测试的权限。
EROFS 欲测试写入权限的文件存在于只读文件系统内。
EFAULT 参数pathname指针超出可存取内存空间。
EINVAL 参数mode 不正确。
ENAMETOOLONG 参数pathname太长。
ENOTDIR 参数pathname为一目录。
ENOMEM 核心内存不足
ELOOP 参数pathname有过多符号连接问题。
EIO I/O 存取错误。
附加说明
使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。
范例 /* 判断是否允许读取/etc/passwd */
#include<unistd.h>
int main()
{
if (access(“/etc/passwd”,R_OK) = =0)
printf(“/etc/passwd can be read\n”);
}
执行 /etc/passwd can be read
alphasort(依字母顺序排序目录结构)
相关函数 scandir,qsort
表头文件 #include<dirent.h>
定义函数 int alphasort(const struct dirent **a,const struct dirent
**b);
函数说明
alphasort()为scandir()最后调用qsort()函数时传给qsort()作为判断的函数,详细说明请参考scandir()及
qsort()。
返回值 参考qsort()。
范例 /* 读取/目录下所有的目录结构,并依字母顺序排列*/
main()
{
struct d
相关文档:
http://www.ibm.com/developerworks/cn/linux/embed/diy/
DIY:自己动手做一个迷你 Linux 系统
文档选项
<tr valign="top"><td width="8"><img alt="" height="1" width="8" src="//www.ibm.com/i/c.gif"/></td><td width=&quo ......
1 引言
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。
......
http://hi.baidu.com/imheaventian/blog/item/c238604f7d3551c6d1c86a0e.html
(cited from:http://hi.baidu.com/yilinghl/blog/item/c9a9be34a459b2bfd1a2d3b5.html)
后台运行matlab脚本文件的方法:nohup
实现功能:
1. 字符环境下运行matlab.
2.字符环境下运行matlab脚本文件,脚本文件无图像的屏幕输出。
3.脚本文 ......
1.1 首先下载libnet.tar.gz,heartbeat-2.0.4.tar.gz
1.2 按顺序现装libnet再装heartbeat
都是源码包,解压开后分别执行:
./configure ;make ;make install;
安装完毕。
1.3 软件的配置
Heartbeat软件的安装目录为/usr/local/etc/ha.d,其中的README.config对配置文件进行了说明,共有三个主要的配置
文件:ha.cf, ......
1.首先看懂官方文档
2.icbc.jar这个jar包一定要要到!这是进行base64加密解密,以及
使用工行证书签名的重要工具类。
3.采取纯Java编码,要确保用对证书,放在D盘根目录下(其他路径亦可)。
4.编写JSP接口页面,字段必须与工行的一一对应。
而且如tranData等字段进行base64加密后或者签名后 必须以"“双引号扩上才 ......