亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? visudo.c

?? A* sudo sudo/* B* adduser script adduser C* rmuser script rmuser E* tout tout/*
?? C
字號:
/* *  sudo version 1.1 allows users to execute commands as root *  Copyright (C) 1991  The Root Group, Inc. * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 1, or (at your option) *  any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *  If you make modifications to the source, we would be happy to have *  them to include in future releases.  Feel free to send them to: *      Jeff Nieusma                       nieusma@rootgroup.com *      3959 Arbol CT                      (303) 447-8093 *      Boulder, CO 80301-1752              ********************************************************************************** visudo.c, sudo project* David R. Hieb* March 18, 1991** edit, lock and parse the sudoers file in a fashion similiar to /etc/vipw.*******************************************************************************/#include <sys/types.h>#include <sys/stat.h>#include <sys/file.h>#include <stdio.h>#include <errno.h>#include <signal.h>#include "sudo.h"extern	FILE *yyin, *yyout;extern	int errno, yylineno;char	buffer[BUFSIZ];char	*sudoers = SUDOERS;int	status = 0, err_line_no = 0;char	*sudoers_tmp_file = TMPSUDOERS;FILE	*sudoers_tmp_fp, *sudoers_fp;void Exit(){fclose(sudoers_tmp_fp);unlink(sudoers_tmp_file);exit(1);}main(argc, argv)int argc;char **argv;{int fd;struct stat sbuf;/* handle the signals */signal(SIGILL, Exit);signal(SIGTRAP, Exit);signal(SIGBUS, Exit);signal(SIGSEGV, Exit);signal(SIGTERM, Exit);signal(SIGHUP, SIG_IGN);signal(SIGINT, SIG_IGN);signal(SIGQUIT, SIG_IGN);setbuf(stderr, NULL);/* we only want root to be able to read/write the sudoers_tmp_file */umask(077);/* open the sudoers file read only */if ((sudoers_fp = fopen(sudoers, "r")) == NULL) {    fprintf(stderr, "%s: ", *argv);     perror(sudoers);    Exit();    }/* open the temporary sudoers file with the correct flags */if ((fd = open(sudoers_tmp_file, O_WRONLY|O_CREAT|O_EXCL, 0600)) < 0) {    if (errno == EEXIST) {        fprintf(stderr, "%s: sudoers file busy\n", *argv);        exit(1);        }    fprintf(stderr, "%s: ", *argv);     perror(sudoers_tmp_file);    exit(1);    }/* get a STREAM file pointer to the temporary sudoers file */if ((sudoers_tmp_fp = fdopen(fd, "w")) == NULL) {    fprintf(stderr, "%s: ", *argv);     perror(sudoers_tmp_file);    Exit();    }/* transfer the contents of the sudoers file to the temporary sudoers file */while (fgets(buffer, sizeof(buffer) - 1, sudoers_fp) != NULL) {    fputs(buffer, sudoers_tmp_fp);    }fclose(sudoers_fp);fclose(sudoers_tmp_fp);do {    /* build strings in buffer to be executed by system() */    sprintf(buffer, "%s +%d %s", EDITOR, err_line_no, sudoers_tmp_file);    /* edit the file */    if (system(buffer) == 0) {        /* can't stat file */        if (stat(sudoers_tmp_file, &sbuf) < 0) {            fprintf(stderr, "%s: can't stat temporary file, %s unchanged\n",                 sudoers, *argv);            Exit();            }        /* file has size == 0 */        if (sbuf.st_size == 0) {            fprintf(stderr, "%s: bad temporary file, %s unchanged\n",                 sudoers, *argv);            Exit();            }        /* re-open the sudoers file for parsing */        if ((sudoers_tmp_fp = fopen(sudoers_tmp_file, "r")) == NULL) {            fprintf(stderr, "%s: can't re-open temporary file, %s unchanged\n",                 sudoers, *argv);            Exit();            }        yyin = sudoers_tmp_fp;        yyout = stdout;                 /* parse the file */        if (yyparse()) {            fprintf(stderr, "yyparse() failed\n");            Exit();            }        /*         * the first time we get an error, set status to yylineno which         * will be the line number after the line with the error.         * then, if we have gotten an error, set err_line_no to the         * correct line so that when we edit the file err_line_no will         * be correct. at this time we also reset status and yylineno         * to their default values so that the next time yyparse() is         * called, they will be initialized correctly.         */        err_line_no = (status == 0) ? 0 : status - 1;        status = 0;        yylineno = 1;        fclose(sudoers_tmp_fp);        }    } while (err_line_no);/* once the temporary sudoers file is gramatically correct, we can  * rename it to the real sudoers file. */if (rename(sudoers_tmp_file, sudoers) != 0) {    fprintf(stderr, "%s: ", *argv), perror("rename");    }else {    if (chmod(sudoers, 0400) != 0) {        perror("chmod: failed");        }    exit(0);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青青国产91久久久久久| 欧美一区二区视频观看视频| 狠狠色伊人亚洲综合成人| 久久97超碰国产精品超碰| 麻豆久久一区二区| 成人精品视频一区二区三区尤物| 成人一级片在线观看| 色老综合老女人久久久| 678五月天丁香亚洲综合网| www国产亚洲精品久久麻豆| 日本一区二区三区高清不卡| 依依成人综合视频| 国产一区二区三区精品欧美日韩一区二区三区 | 不卡电影一区二区三区| 精品婷婷伊人一区三区三| 亚洲精品一区二区三区蜜桃下载| 中文字幕欧美一| 国产在线一区观看| 欧美老年两性高潮| 国产精品久久久久久久久图文区 | 91精品国产综合久久蜜臀| 91精品久久久久久久91蜜桃| 国产日韩精品视频一区| 亚洲午夜在线观看视频在线| 国产精品一区在线| 欧美网站一区二区| 1区2区3区精品视频| 国产在线观看免费一区| 欧美私人免费视频| 日韩毛片高清在线播放| 国内外成人在线| 6080日韩午夜伦伦午夜伦| 日韩一区在线看| 国产在线一区二区综合免费视频| 一本色道久久综合精品竹菊| 欧美国产亚洲另类动漫| 国产成人综合网| 国产精品欧美综合在线| 国产成人免费视频网站| 欧美r级电影在线观看| 一区二区三区免费观看| 成人动漫视频在线| 成人欧美一区二区三区视频网页| 成人精品视频.| 图片区日韩欧美亚洲| 欧美疯狂性受xxxxx喷水图片| 91精品国产综合久久久蜜臀粉嫩| 美女视频网站黄色亚洲| 国产精品你懂的| 91福利资源站| 国产精品私房写真福利视频| 日韩精品免费专区| 欧美精品久久久久久久多人混战 | 欧美精品日韩综合在线| 中文字幕欧美一区| 成人网页在线观看| 亚洲精品成人精品456| 色综合视频在线观看| 欧美a级一区二区| 久久久久亚洲蜜桃| 国产在线精品一区二区三区不卡| 国产丝袜在线精品| 欧洲一区二区三区免费视频| 日本vs亚洲vs韩国一区三区| 欧美激情一区二区三区在线| 在线欧美日韩国产| 精品无人码麻豆乱码1区2区| 国产精品天天看| 91精品国产手机| 97国产精品videossex| 久久99热国产| 亚洲精品日产精品乱码不卡| 在线观看91视频| 欧美在线一区二区| 欧美色手机在线观看| 欧美亚洲国产一区二区三区| 国产成人精品亚洲午夜麻豆| 久久精品国产澳门| 亚洲一区二区三区四区在线免费观看| 欧美一级淫片007| 欧美久久久久久久久中文字幕| www.成人在线| av毛片久久久久**hd| 丰满放荡岳乱妇91ww| 91在线观看地址| 91免费观看视频| 91免费国产视频网站| 色综合中文综合网| 久久精品国产免费| 日韩av一区二区三区| 欧美96一区二区免费视频| 五月天中文字幕一区二区| 亚洲午夜在线电影| 秋霞电影一区二区| 国产麻豆成人精品| www.欧美日韩国产在线| 色中色一区二区| 精品视频在线免费看| 欧美日韩午夜精品| 中文字幕国产一区| 亚洲国产日韩一级| 久久国产精品99久久人人澡| 国产精品综合av一区二区国产馆| 春色校园综合激情亚洲| 色视频成人在线观看免| 欧美夫妻性生活| 国产精品久久久久毛片软件| 一区二区三区免费网站| 视频一区二区国产| www.99精品| 日韩欧美精品三级| 国产精品久久精品日日| 蜜桃精品视频在线| 日本乱码高清不卡字幕| 国产清纯白嫩初高生在线观看91| 亚洲国产综合视频在线观看| 国产激情一区二区三区四区| 欧美一区二区三区白人| 亚洲蜜臀av乱码久久精品蜜桃| 性久久久久久久| 一本色道久久综合精品竹菊| 中文字幕精品—区二区四季| 久久精品久久久精品美女| 欧美军同video69gay| 亚洲欧洲制服丝袜| eeuss国产一区二区三区| 精品国产乱码久久久久久蜜臀| 国产精品欧美极品| 粉嫩aⅴ一区二区三区四区| 欧美一级一级性生活免费录像| 日韩电影网1区2区| 欧美日韩国产影片| 偷拍日韩校园综合在线| 99久久精品情趣| 亚洲婷婷国产精品电影人久久| 在线视频综合导航| 亚洲一区二区在线视频| 欧美最新大片在线看| 亚洲成在人线在线播放| 欧美人与禽zozo性伦| 九色综合国产一区二区三区| 精品国精品国产| 成人黄色大片在线观看| 中日韩免费视频中文字幕| 国产99久久久国产精品| 亚洲国产精品一区二区www在线 | 国产成人鲁色资源国产91色综| 精品国产sm最大网站免费看| 大胆欧美人体老妇| 日本一不卡视频| 国产精品美女久久久久久久网站| 欧美日韩免费一区二区三区| 国产91精品一区二区麻豆亚洲| 亚洲色图视频网| 国产白丝精品91爽爽久久| 欧美精品v日韩精品v韩国精品v| 最新欧美精品一区二区三区| 91麻豆精品国产91久久久久 | 91啪在线观看| 国产一区二区三区四区五区入口| 亚洲第一久久影院| 中文字幕第一区二区| 久久伊人蜜桃av一区二区| 欧美色国产精品| 欧美日韩在线播放一区| 国产自产2019最新不卡| 国产乱国产乱300精品| 国产综合久久久久影院| 舔着乳尖日韩一区| 亚洲成人av一区二区三区| 一片黄亚洲嫩模| 国产精品美女久久久久久| 国产日韩影视精品| 国产精品久久久久久妇女6080 | 国产高清在线精品| 国产综合色视频| 97成人超碰视| 欧美日韩国产美| 欧美一级艳片视频免费观看| 91精品国产综合久久福利软件 | 免费成人在线观看| 午夜国产精品一区| 老司机午夜精品| 不卡的av在线| 欧美性xxxxxx少妇| 欧美手机在线视频| 欧美久久久久免费| 久久精品夜夜夜夜久久| 亚洲最快最全在线视频| 精品一区二区三区免费毛片爱| 成人av集中营| 欧美xxxxxxxx| 亚洲小说欧美激情另类| 丁香网亚洲国际| 欧美成人bangbros| 久久国产三级精品| 日韩视频中午一区| 日本午夜一本久久久综合| 欧美日韩1234| 久久久www免费人成精品|