如果User2和User3访问不了可能正常,但是root都访问不了,那你还是看看是不是安装不正确x0dx0aPS:要在系统全局范围内能找岩冲亏到这个安装的软件的执行文件,那么它大概的位置应该在以下几个地方之一,并且有可执行的权限,就是ls -l查看的时候x的那个位:x0dx0a/sbinx0dx0a/binx0dx0a/usr/binx0dx0a/usr/local/binx0dx0a/usr/sbinx0dx0a最可能使用的是/usr/local/binx0dx0a因为/sbin存放的是管理员管理系统的一些工具文件,如fdisk,vgcreate(实际上它是链接到lvm的软连接),shutdown等,/bin存放的是管理员和普通用户都可以使用的一些一般文件,如ls,echo等,/usr/bin存放的是系统运行判斗需要的一些工具文件和一些用户(可能不是管理员用户)如at,crontab,gcc,free等,/usr/local/bin存放的是用户自己安装的一些工具文件,比如你写一个脚本,在终端中不想用粗神绝对路径来执行它,那么可以把它放在这儿(别忘了执行权限),/usr/sbin存放的不大清楚,但是貌似跟网络有关的。x0dx0a最后就是特殊权限位setgid,它只对目录产生影响,当一个目录的g所在位设置了setgid时,这个目录的属组里面的用户对它都有共同的访问权限。
② linux终端下使用pipe实现父子进程交互
看这个问题好久都没人回答。。。
挺简单的,fork一子一父进程,父进程循环读入文件内容,并写进道管道里面,子进程循环从管道接收然后打印出来。
撸码辛苦,望采纳。
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<unistd.h>
#include<string.h>
#include<fcntl.h>
intmain()
{
pid_tresult;
intn,num;
intpipe_fd[2];
intfd;
charbuf1[100],buf2[100];
memset(buf1,0,sizeof(buf1));
memset(buf2,0,sizeof(buf2));
fd=open("/home/w.c",O_RDONLY);
if(pipe(pipe_fd)<0)
{
printf("error! ");
return-1;
}
result=fork();
if(result<0)
{
printf("error! ");
exit(0);
}
elseif(result==0)
{
close(pipe_fd[1]);
while((n=read(pipe_fd[0],buf1,99))>0)
{
buf1[n]='