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

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

?? net_ads.c

?? samba-3.0.22.tar.gz 編譯smb服務器的源碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
		return -1;	}	srv_dn = ldap_get_dn(ads->ld, res);	srv_cn = ldap_explode_dn(srv_dn, 1);	asprintf(&prt_dn, "cn=%s-%s,%s", srv_cn[0], printername, srv_dn);	pipe_hnd = cli_rpc_pipe_open_noauth(cli, PI_SPOOLSS, &nt_status);	get_remote_printer_publishing_data(pipe_hnd, mem_ctx, &mods,					   printername);        rc = ads_add_printer_entry(ads, prt_dn, mem_ctx, &mods);        if (!ADS_ERR_OK(rc)) {                d_fprintf(stderr, "ads_publish_printer: %s\n", ads_errstr(rc));		ads_destroy(&ads);                return -1;        }         d_printf("published printer\n");	ads_destroy(&ads); 	return 0;}static int net_ads_printer_remove(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	const char *servername;	char *prt_dn;	void *res = NULL;	if (!(ads = ads_startup())) {		return -1;	}	if (argc < 1) {		return net_ads_printer_usage(argc, argv);	}	if (argc > 1) {		servername = argv[1];	} else {		servername = global_myname();	}	rc = ads_find_printer_on_server(ads, &res, argv[0], servername);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_find_printer_on_server: %s\n", ads_errstr(rc));		ads_msgfree(ads, res);		ads_destroy(&ads);		return -1;	}	if (ads_count_replies(ads, res) == 0) {		d_fprintf(stderr, "Printer '%s' not found\n", argv[1]);		ads_msgfree(ads, res);		ads_destroy(&ads);		return -1;	}	prt_dn = ads_get_dn(ads, res);	ads_msgfree(ads, res);	rc = ads_del_dn(ads, prt_dn);	ads_memfree(ads, prt_dn);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_del_dn: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}	ads_destroy(&ads);	return 0;}static int net_ads_printer(int argc, const char **argv){	struct functable func[] = {		{"SEARCH", net_ads_printer_search},		{"INFO", net_ads_printer_info},		{"PUBLISH", net_ads_printer_publish},		{"REMOVE", net_ads_printer_remove},		{NULL, NULL}	};		return net_run_function(argc, argv, func, net_ads_printer_usage);}static int net_ads_password(int argc, const char **argv){	ADS_STRUCT *ads;	const char *auth_principal = opt_user_name;	const char *auth_password = opt_password;	char *realm = NULL;	char *new_password = NULL;	char *c, *prompt;	const char *user;	ADS_STATUS ret;	if (opt_user_name == NULL || opt_password == NULL) {		d_fprintf(stderr, "You must supply an administrator username/password\n");		return -1;	}	if (argc < 1) {		d_fprintf(stderr, "ERROR: You must say which username to change password for\n");		return -1;	}	user = argv[0];	if (!strchr_m(user, '@')) {		asprintf(&c, "%s@%s", argv[0], lp_realm());		user = c;	}	use_in_memory_ccache();    	c = strchr_m(auth_principal, '@');	if (c) {		realm = ++c;	} else {		realm = lp_realm();	}	/* use the realm so we can eventually change passwords for users 	in realms other than default */	if (!(ads = ads_init(realm, NULL, NULL))) {		return -1;	}	/* we don't actually need a full connect, but it's the easy way to		fill in the KDC's addresss */	ads_connect(ads);    	if (!ads || !ads->config.realm) {		d_fprintf(stderr, "Didn't find the kerberos server!\n");		return -1;	}	if (argv[1]) {		new_password = (char *)argv[1];	} else {		asprintf(&prompt, "Enter new password for %s:", user);		new_password = getpass(prompt);		free(prompt);	}	ret = kerberos_set_password(ads->auth.kdc_server, auth_principal, 				auth_password, user, new_password, ads->auth.time_offset);	if (!ADS_ERR_OK(ret)) {		d_fprintf(stderr, "Password change failed :-( ...\n");		ads_destroy(&ads);		return -1;	}	d_printf("Password change for %s completed.\n", user);	ads_destroy(&ads);	return 0;}int net_ads_changetrustpw(int argc, const char **argv){    	ADS_STRUCT *ads;	char *host_principal;	fstring my_name;	ADS_STATUS ret;	if (!secrets_init()) {		DEBUG(1,("Failed to initialise secrets database\n"));		return -1;	}	net_use_machine_password();	use_in_memory_ccache();	if (!(ads = ads_startup())) {		return -1;	}	fstrcpy(my_name, global_myname());	strlower_m(my_name);	asprintf(&host_principal, "%s@%s", my_name, ads->config.realm);	d_printf("Changing password for principal: HOST/%s\n", host_principal);	ret = ads_change_trust_account_password(ads, host_principal);	if (!ADS_ERR_OK(ret)) {		d_fprintf(stderr, "Password change failed :-( ...\n");		ads_destroy(&ads);		SAFE_FREE(host_principal);		return -1;	}    	d_printf("Password change for principal HOST/%s succeeded.\n", host_principal);	if (lp_use_kerberos_keytab()) {		d_printf("Attempting to update system keytab with new password.\n");		if (ads_keytab_create_default(ads)) {			d_printf("Failed to update system keytab.\n");		}	}	ads_destroy(&ads);	SAFE_FREE(host_principal);	return 0;}/*  help for net ads search*/static int net_ads_search_usage(int argc, const char **argv){	d_printf(		"\nnet ads search <expression> <attributes...>\n"\		"\nperform a raw LDAP search on a ADS server and dump the results\n"\		"The expression is a standard LDAP search expression, and the\n"\		"attributes are a list of LDAP fields to show in the results\n\n"\		"Example: net ads search '(objectCategory=group)' sAMAccountName\n\n"		);	net_common_flags_usage(argc, argv);	return -1;}/*  general ADS search function. Useful in diagnosing problems in ADS*/static int net_ads_search(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	const char *ldap_exp;	const char **attrs;	void *res = NULL;	if (argc < 1) {		return net_ads_search_usage(argc, argv);	}	if (!(ads = ads_startup())) {		return -1;	}	ldap_exp = argv[0];	attrs = (argv + 1);	rc = ads_do_search_all(ads, ads->config.bind_path,			       LDAP_SCOPE_SUBTREE,			       ldap_exp, attrs, &res);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "search failed: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}		d_printf("Got %d replies\n\n", ads_count_replies(ads, res));	/* dump the results */	ads_dump(ads, res);	ads_msgfree(ads, res);	ads_destroy(&ads);	return 0;}/*  help for net ads search*/static int net_ads_dn_usage(int argc, const char **argv){	d_printf(		"\nnet ads dn <dn> <attributes...>\n"\		"\nperform a raw LDAP search on a ADS server and dump the results\n"\		"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n"\		"to show in the results\n\n"\		"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n\n"		);	net_common_flags_usage(argc, argv);	return -1;}/*  general ADS search function. Useful in diagnosing problems in ADS*/static int net_ads_dn(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	const char *dn;	const char **attrs;	void *res = NULL;	if (argc < 1) {		return net_ads_dn_usage(argc, argv);	}	if (!(ads = ads_startup())) {		return -1;	}	dn = argv[0];	attrs = (argv + 1);	rc = ads_do_search_all(ads, dn, 			       LDAP_SCOPE_BASE,			       "(objectclass=*)", attrs, &res);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "search failed: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}		d_printf("Got %d replies\n\n", ads_count_replies(ads, res));	/* dump the results */	ads_dump(ads, res);	ads_msgfree(ads, res);	ads_destroy(&ads);	return 0;}static int net_ads_keytab_usage(int argc, const char **argv){	d_printf(		"net ads keytab <COMMAND>\n"\"<COMMAND> can be either:\n"\"  CREATE    Creates a fresh keytab\n"\"  ADD       Adds new service principal\n"\"  FLUSH     Flushes out all keytab entries\n"\"  HELP      Prints this help message\n"\"The ADD command will take arguments, the other commands\n"\"will not take any arguments.   The arguments given to ADD\n"\"should be a list of principals to add.  For example, \n"\"   net ads keytab add srv1 srv2\n"\"will add principals for the services srv1 and srv2 to the\n"\"system's keytab.\n"\"\n"		);	return -1;}static int net_ads_keytab_flush(int argc, const char **argv){	int ret;	ADS_STRUCT *ads;	if (!(ads = ads_startup())) {		return -1;	}	ret = ads_keytab_flush(ads);	ads_destroy(&ads);	return ret;}static int net_ads_keytab_add(int argc, const char **argv){	int i;	int ret = 0;	ADS_STRUCT *ads;	d_printf("Processing principals to add...\n");	if (!(ads = ads_startup())) {		return -1;	}	for (i = 0; i < argc; i++) {		ret |= ads_keytab_add_entry(ads, argv[i]);	}	ads_destroy(&ads);	return ret;}static int net_ads_keytab_create(int argc, const char **argv){	ADS_STRUCT *ads;	int ret;	if (!(ads = ads_startup())) {		return -1;	}	ret = ads_keytab_create_default(ads);	ads_destroy(&ads);	return ret;}int net_ads_keytab(int argc, const char **argv){	struct functable func[] = {		{"CREATE", net_ads_keytab_create},		{"ADD", net_ads_keytab_add},		{"FLUSH", net_ads_keytab_flush},		{"HELP", net_ads_keytab_usage},		{NULL, NULL}	};	if (!lp_use_kerberos_keytab()) {		d_printf("\nWarning: \"use kerberos keytab\" must be set to \"true\" in order to \use keytab functions.\n");	}	return net_run_function(argc, argv, func, net_ads_keytab_usage);}int net_ads_help(int argc, const char **argv){	struct functable func[] = {		{"USER", net_ads_user_usage},		{"GROUP", net_ads_group_usage},		{"PRINTER", net_ads_printer_usage},		{"SEARCH", net_ads_search_usage},#if 0		{"INFO", net_ads_info},		{"JOIN", net_ads_join},		{"LEAVE", net_ads_leave},		{"STATUS", net_ads_status},		{"PASSWORD", net_ads_password},		{"CHANGETRUSTPW", net_ads_changetrustpw},#endif		{NULL, NULL}	};	return net_run_function(argc, argv, func, net_ads_usage);}int net_ads(int argc, const char **argv){	struct functable func[] = {		{"INFO", net_ads_info},		{"JOIN", net_ads_join},		{"TESTJOIN", net_ads_testjoin},		{"LEAVE", net_ads_leave},		{"STATUS", net_ads_status},		{"USER", net_ads_user},		{"GROUP", net_ads_group},		{"PASSWORD", net_ads_password},		{"CHANGETRUSTPW", net_ads_changetrustpw},		{"PRINTER", net_ads_printer},		{"SEARCH", net_ads_search},		{"DN", net_ads_dn},		{"WORKGROUP", net_ads_workgroup},		{"LOOKUP", net_ads_lookup},		{"KEYTAB", net_ads_keytab},		{"HELP", net_ads_help},		{NULL, NULL}	};		return net_run_function(argc, argv, func, net_ads_usage);}#elsestatic int net_ads_noads(void){	d_fprintf(stderr, "ADS support not compiled in\n");	return -1;}int net_ads_keytab(int argc, const char **argv){	return net_ads_noads();}int net_ads_usage(int argc, const char **argv){	return net_ads_noads();}int net_ads_help(int argc, const char **argv){	return net_ads_noads();}int net_ads_changetrustpw(int argc, const char **argv){	return net_ads_noads();}int net_ads_join(int argc, const char **argv){	return net_ads_noads();}int net_ads_user(int argc, const char **argv){	return net_ads_noads();}int net_ads_group(int argc, const char **argv){	return net_ads_noads();}/* this one shouldn't display a message */int net_ads_check(void){	return -1;}int net_ads(int argc, const char **argv){	return net_ads_usage(argc, argv);}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲愉拍一区二区| 亚洲人成网站色在线观看| 9191成人精品久久| 欧美在线视频全部完| 欧美伊人久久大香线蕉综合69 | 久久草av在线| 六月丁香婷婷久久| 久久99最新地址| 国产美女一区二区三区| 国产一区二区成人久久免费影院| 国产乱码精品一区二区三区忘忧草| 国产在线精品一区二区不卡了 | av一区二区不卡| 91视视频在线观看入口直接观看www| 色综合色综合色综合 | 亚洲精品欧美激情| 亚洲午夜视频在线| 日日骚欧美日韩| 精品亚洲国产成人av制服丝袜| 国内精品第一页| 不卡的av在线播放| 欧美性色aⅴ视频一区日韩精品| 欧美日韩国产综合视频在线观看| 日韩一区二区三区免费看 | 亚洲制服丝袜一区| 日韩高清不卡在线| 美女诱惑一区二区| 成人高清av在线| 欧美三级日韩三级| 精品国产欧美一区二区| 中文欧美字幕免费| 亚洲一区中文在线| 麻豆精品国产传媒mv男同| 国产99久久久国产精品潘金网站| 色综合av在线| 精品久久久久久亚洲综合网| 中文字幕一区二区三区视频| 亚洲444eee在线观看| 国产精品一二三四| 色婷婷综合久久久久中文 | 久久精品网站免费观看| 亚洲免费在线视频一区 二区| 日本成人在线看| gogo大胆日本视频一区| 制服丝袜av成人在线看| 中文字幕精品一区二区精品绿巨人| 亚洲精品五月天| 精久久久久久久久久久| 在线免费不卡视频| 久久精品网站免费观看| 亚洲成av人片在线| 成人黄页在线观看| 91精品国产综合久久婷婷香蕉| 日本一二三四高清不卡| 爽爽淫人综合网网站| 成人免费毛片a| 欧美电视剧在线看免费| 一区二区三国产精华液| 国产在线精品视频| 欧美精选一区二区| 中文字幕一区视频| 国产一区不卡视频| 欧美一区二区三区四区五区 | 狠狠色丁香婷婷综合| 在线看国产一区| 国产日韩欧美高清| 狂野欧美性猛交blacked| 在线亚洲精品福利网址导航| 欧美国产1区2区| 精品一区二区精品| 欧美高清性hdvideosex| 国产精品不卡视频| 国产一区二区伦理片| 91麻豆精品国产91久久久| 亚洲欧美另类小说视频| 成人国产精品免费网站| 久久亚洲二区三区| 美国三级日本三级久久99| 欧美伊人久久久久久午夜久久久久| 一色屋精品亚洲香蕉网站| 国产一区二区三区久久悠悠色av| 欧美日韩大陆一区二区| 亚洲欧美日韩人成在线播放| 成人国产一区二区三区精品| 久久久久97国产精华液好用吗| 美女视频网站黄色亚洲| 7777精品伊人久久久大香线蕉的| 亚洲综合偷拍欧美一区色| 99免费精品视频| 中文字幕一区二区5566日韩| 国产99久久久国产精品潘金| 国产视频一区二区三区在线观看| 国产一区福利在线| 日韩一区二区电影网| 午夜精品一区二区三区免费视频 | 91麻豆6部合集magnet| 国产精品久久久久影院老司| 国产成人免费视频| 久久免费午夜影院| 国产精品99久久久久久有的能看| 久久免费的精品国产v∧| 国产一区二区成人久久免费影院| 夜色激情一区二区| 在线免费观看不卡av| 亚洲一区二区三区免费视频| 在线精品视频免费播放| 亚洲国产另类精品专区| 欧美日韩国产另类一区| 五月天亚洲精品| 欧美一级片免费看| 久久精品国产亚洲aⅴ| 精品国产一区二区三区av性色| 精品一区二区免费看| 久久久久国产成人精品亚洲午夜| 国产成人夜色高潮福利影视| 国产精品私人影院| 波多野结衣中文字幕一区| 中文字幕在线一区免费| 91玉足脚交白嫩脚丫在线播放| 亚洲美女偷拍久久| 欧美精品 日韩| 国产一区二区精品久久99| 国产精品伦一区| 欧美丝袜丝交足nylons| 日韩av在线播放中文字幕| 久久久久久久久久久久久夜| av亚洲精华国产精华精| 亚洲国产精品天堂| 精品国产亚洲在线| 成人黄色av电影| 亚洲成人av中文| 久久亚区不卡日本| 91浏览器打开| 免费的成人av| 中文字幕一区在线| 欧美精品久久一区| 国产成人av电影| 亚洲一区二区三区四区在线免费观看| 在线不卡a资源高清| 国产乱子伦视频一区二区三区 | 欧美高清视频在线高清观看mv色露露十八| 日韩黄色在线观看| 中文字幕av资源一区| 欧美色电影在线| 国产成人精品免费在线| 亚洲国产精品一区二区久久 | 欧美国产成人在线| 欧美亚一区二区| 国产一区二区三区国产| 亚洲一区二区五区| 久久久久国产精品人| 欧美伊人精品成人久久综合97| 精品视频999| 国产成人午夜视频| 手机精品视频在线观看| 国产精品私人影院| 欧美一区二区黄| 色偷偷久久人人79超碰人人澡| 久久成人羞羞网站| 亚洲第一福利一区| 欧美激情艳妇裸体舞| 日韩一区二区不卡| 欧美亚洲国产一区二区三区 | 日韩一区二区免费视频| 91免费视频观看| 韩国理伦片一区二区三区在线播放 | 亚洲欧洲三级电影| 日韩一区二区高清| 欧美在线一二三| 99在线视频精品| 国产剧情一区二区| 日韩国产欧美三级| 亚洲一区免费在线观看| 国产欧美精品日韩区二区麻豆天美| 91精品一区二区三区在线观看| 色国产精品一区在线观看| 国产精品一区二区久激情瑜伽| 日本少妇一区二区| 亚洲国产wwwccc36天堂| 亚洲精选视频在线| 国产精品全国免费观看高清| 精品久久久久久综合日本欧美| 欧美一区午夜视频在线观看| 欧美伊人久久大香线蕉综合69| 99久久国产免费看| 国产成人自拍网| 国产老肥熟一区二区三区| 美女在线观看视频一区二区| 丝袜亚洲另类丝袜在线| 亚洲一二三四在线观看| 亚洲美女在线一区| 亚洲欧美一区二区三区孕妇| 国产精品福利一区二区三区| 国产日产亚洲精品系列| 久久久午夜精品理论片中文字幕| 日韩欧美中文一区| 欧美一区二区日韩| 欧美一级高清大全免费观看| 91精品国产麻豆国产自产在线| 欧美电影在线免费观看|