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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? net_ads.c

?? samba-3.0.22.tar.gz 編譯smb服務(wù)器的源碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
	status = ads_add_group_acct(ads, argv[0], opt_container, opt_comment);	if (ADS_ERR_OK(status)) {		d_printf("Group %s added\n", argv[0]);		rc = 0;	} else {		d_fprintf(stderr, "Could not add group %s: %s\n", argv[0],			 ads_errstr(status));	} done:	if (res)		ads_msgfree(ads, res);	ads_destroy(&ads);	return rc;}static int ads_group_delete(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	void *res;	char *groupdn;	if (argc < 1) {		return net_ads_group_usage(argc, argv);	}		if (!(ads = ads_startup())) {		return -1;	}	rc = ads_find_user_acct(ads, &res, argv[0]);	if (!ADS_ERR_OK(rc)) {		DEBUG(0, ("Group %s does not exist\n", argv[0]));		ads_destroy(&ads);		return -1;	}	groupdn = ads_get_dn(ads, res);	ads_msgfree(ads, res);	rc = ads_del_dn(ads, groupdn);	ads_memfree(ads, groupdn);	if (!ADS_ERR_OK(rc)) {		d_printf("Group %s deleted\n", argv[0]);		ads_destroy(&ads);		return 0;	}	d_fprintf(stderr, "Error deleting group %s: %s\n", argv[0], 		 ads_errstr(rc));	ads_destroy(&ads);	return -1;}int net_ads_group(int argc, const char **argv){	struct functable func[] = {		{"ADD", ads_group_add},		{"DELETE", ads_group_delete},		{NULL, NULL}	};	ADS_STRUCT *ads;	ADS_STATUS rc;	const char *shortattrs[] = {"sAMAccountName", NULL};	const char *longattrs[] = {"sAMAccountName", "description", NULL};	char *disp_fields[2] = {NULL, NULL};	if (argc == 0) {		if (!(ads = ads_startup())) {			return -1;		}		if (opt_long_list_entries)			d_printf("\nGroup name            Comment"\				 "\n-----------------------------\n");		rc = ads_do_search_all_fn(ads, ads->config.bind_path, 					  LDAP_SCOPE_SUBTREE, 					  "(objectclass=group)", 					  opt_long_list_entries ? longattrs : 					  shortattrs, usergrp_display, 					  disp_fields);		ads_destroy(&ads);		return 0;	}	return net_run_function(argc, argv, func, net_ads_group_usage);}static int net_ads_status(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	void *res;	if (!(ads = ads_startup())) {		return -1;	}	rc = ads_find_machine_acct(ads, &res, global_myname());	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_find_machine_acct: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}	if (ads_count_replies(ads, res) == 0) {		d_fprintf(stderr, "No machine account for '%s' found\n", global_myname());		ads_destroy(&ads);		return -1;	}	ads_dump(ads, res);	ads_destroy(&ads);	return 0;}static int net_ads_leave(int argc, const char **argv){	ADS_STRUCT *ads = NULL;	ADS_STATUS rc;	if (!secrets_init()) {		DEBUG(1,("Failed to initialise secrets database\n"));		return -1;	}	if (!opt_password) {		net_use_machine_password();	}	if (!(ads = ads_startup())) {		return -1;	}	rc = ads_leave_realm(ads, global_myname());	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "Failed to delete host '%s' from the '%s' realm.\n", 			global_myname(), ads->config.realm);		ads_destroy(&ads);		return -1;	}	d_printf("Removed '%s' from realm '%s'\n", global_myname(), ads->config.realm);	ads_destroy(&ads);	return 0;}static int net_ads_join_ok(void){	ADS_STRUCT *ads = NULL;	if (!secrets_init()) {		DEBUG(1,("Failed to initialise secrets database\n"));		return -1;	}	net_use_machine_password();	if (!(ads = ads_startup())) {		return -1;	}	ads_destroy(&ads);	return 0;}/*  check that an existing join is OK */int net_ads_testjoin(int argc, const char **argv){	use_in_memory_ccache();	/* Display success or failure */	if (net_ads_join_ok() != 0) {		fprintf(stderr,"Join to domain is not valid\n");		return -1;	}	printf("Join is OK\n");	return 0;}/*  join a domain using ADS */int net_ads_join(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	char *password;	char *machine_account = NULL;	char *tmp_password;	const char *org_unit = NULL;	char *dn;	void *res;	DOM_SID dom_sid;	char *ou_str;	uint32 sec_channel_type = SEC_CHAN_WKSTA;	uint32 account_type = UF_WORKSTATION_TRUST_ACCOUNT;	const char *short_domain_name = NULL;	TALLOC_CTX *ctx = NULL;	if (argc > 0) {		org_unit = argv[0];	}	if (!secrets_init()) {		DEBUG(1,("Failed to initialise secrets database\n"));		return -1;	}	tmp_password = generate_random_str(DEFAULT_TRUST_ACCOUNT_PASSWORD_LENGTH);	password = SMB_STRDUP(tmp_password);	if (!(ads = ads_startup())) {		return -1;	}	if (!*lp_realm()) {		d_fprintf(stderr, "realm must be set in in smb.conf for ADS join to succeed.\n");		ads_destroy(&ads);		return -1;	}	if (strcmp(ads->config.realm, lp_realm()) != 0) {		d_fprintf(stderr, "realm of remote server (%s) and realm in smb.conf (%s) DO NOT match.  Aborting join\n", ads->config.realm, lp_realm());		ads_destroy(&ads);		return -1;	}	ou_str = ads_ou_string(ads,org_unit);	asprintf(&dn, "%s,%s", ou_str, ads->config.bind_path);	free(ou_str);	rc = ads_search_dn(ads, &res, dn, NULL);	ads_msgfree(ads, res);	if (rc.error_type == ENUM_ADS_ERROR_LDAP && rc.err.rc == LDAP_NO_SUCH_OBJECT) {		d_fprintf(stderr, "ads_join_realm: organizational unit %s does not exist (dn:%s)\n", 			 org_unit, dn);		ads_destroy(&ads);		return -1;	}	free(dn);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_join_realm: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}		rc = ads_join_realm(ads, global_myname(), account_type, org_unit);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_join_realm: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}	rc = ads_domain_sid(ads, &dom_sid);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_domain_sid: %s\n", ads_errstr(rc));			ads_destroy(&ads);		return -1;	}	if (asprintf(&machine_account, "%s$", global_myname()) == -1) {		d_fprintf(stderr, "asprintf failed\n");		ads_destroy(&ads);		return -1;	}	rc = ads_set_machine_password(ads, machine_account, password);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_set_machine_password: %s\n", ads_errstr(rc));		ads_destroy(&ads);		return -1;	}		/* make sure we get the right workgroup */		if ( !(ctx = talloc_init("net ads join")) ) {		d_fprintf(stderr, "talloc_init() failed!\n");		ads_destroy(&ads);		return -1;	}		rc = ads_workgroup_name(ads, ctx, &short_domain_name);	if ( ADS_ERR_OK(rc) ) {		if ( !strequal(lp_workgroup(), short_domain_name) ) {			d_printf("The workgroup in smb.conf does not match the short\n");			d_printf("domain name obtained from the server.\n");			d_printf("Using the name [%s] from the server.\n", short_domain_name);			d_printf("You should set \"workgroup = %s\" in smb.conf.\n", short_domain_name);		}	} else {		short_domain_name = lp_workgroup();	}		d_printf("Using short domain name -- %s\n", short_domain_name);		/*  HACK ALRET!  Store the sid and password under bother the lp_workgroup() 	    value from smb.conf and the string returned from the server.  The former is	    neede to bootstrap winbindd's first connection to the DC to get the real 	    short domain name   --jerry */	    	if (!secrets_store_domain_sid(lp_workgroup(), &dom_sid)) {		DEBUG(1,("Failed to save domain sid\n"));		ads_destroy(&ads);		return -1;	}	if (!secrets_store_machine_password(password, lp_workgroup(), sec_channel_type)) {		DEBUG(1,("Failed to save machine password\n"));		ads_destroy(&ads);		return -1;	}#ifdef HAVE_KRB5	if (!kerberos_derive_salting_principal(machine_account)) {		DEBUG(1,("Failed to determine salting principal\n"));		ads_destroy(&ads);		return -1;	}	if (!kerberos_derive_cifs_salting_principals()) {		DEBUG(1,("Failed to determine salting principals\n"));		ads_destroy(&ads);		return -1;	}#endif	if (!secrets_store_domain_sid(short_domain_name, &dom_sid)) {		DEBUG(1,("Failed to save domain sid\n"));		ads_destroy(&ads);		return -1;	}	if (!secrets_store_machine_password(password, short_domain_name, sec_channel_type)) {		DEBUG(1,("Failed to save machine password\n"));		ads_destroy(&ads);		return -1;	}		/* Now build the keytab, using the same ADS connection */	if (lp_use_kerberos_keytab() && ads_keytab_create_default(ads)) {		DEBUG(1,("Error creating host keytab!\n"));	}	d_printf("Joined '%s' to realm '%s'\n", global_myname(), ads->config.realm);	SAFE_FREE(password);	SAFE_FREE(machine_account);	if ( ctx ) {		talloc_destroy(ctx);	}	ads_destroy(&ads);	return 0;}int net_ads_printer_usage(int argc, const char **argv){	d_printf("\nnet ads printer search <printer>""\n\tsearch for a printer in the directory\n""\nnet ads printer info <printer> <server>""\n\tlookup info in directory for printer on server""\n\t(note: printer defaults to \"*\", server defaults to local)\n""\nnet ads printer publish <printername>""\n\tpublish printer in directory""\n\t(note: printer name is required)\n""\nnet ads printer remove <printername>""\n\tremove printer from directory""\n\t(note: printer name is required)\n");	return -1;}static int net_ads_printer_search(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	void *res = NULL;	if (!(ads = ads_startup())) {		return -1;	}	rc = ads_find_printers(ads, &res);	if (!ADS_ERR_OK(rc)) {		d_fprintf(stderr, "ads_find_printer: %s\n", ads_errstr(rc));		ads_msgfree(ads, res);		ads_destroy(&ads);	 	return -1;	}	if (ads_count_replies(ads, res) == 0) {		d_fprintf(stderr, "No results found\n");		ads_msgfree(ads, res);		ads_destroy(&ads);		return -1;	}	ads_dump(ads, res);	ads_msgfree(ads, res);	ads_destroy(&ads);	return 0;}static int net_ads_printer_info(int argc, const char **argv){	ADS_STRUCT *ads;	ADS_STATUS rc;	const char *servername, *printername;	void *res = NULL;	if (!(ads = ads_startup())) {		return -1;	}	if (argc > 0) {		printername = argv[0];	} else {		printername = "*";	}	if (argc > 1) {		servername =  argv[1];	} else {		servername = global_myname();	}	rc = ads_find_printer_on_server(ads, &res, printername, 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", printername);		ads_msgfree(ads, res);		ads_destroy(&ads);		return -1;	}	ads_dump(ads, res);	ads_msgfree(ads, res);	ads_destroy(&ads);	return 0;}void do_drv_upgrade_printer(int msg_type, struct process_id src,			    void *buf, size_t len){	return;}static int net_ads_printer_publish(int argc, const char **argv){        ADS_STRUCT *ads;        ADS_STATUS rc;	const char *servername, *printername;	struct cli_state *cli;	struct rpc_pipe_client *pipe_hnd;	struct in_addr 		server_ip;	NTSTATUS nt_status;	TALLOC_CTX *mem_ctx = talloc_init("net_ads_printer_publish");	ADS_MODLIST mods = ads_init_mods(mem_ctx);	char *prt_dn, *srv_dn, **srv_cn;	void *res = NULL;	if (!(ads = ads_startup())) {		return -1;	}	if (argc < 1) {		return net_ads_printer_usage(argc, argv);	}		printername = argv[0];	if (argc == 2) {		servername = argv[1];	} else {		servername = global_myname();	}			/* Get printer data from SPOOLSS */	resolve_name(servername, &server_ip, 0x20);	nt_status = cli_full_connection(&cli, global_myname(), servername, 					&server_ip, 0,					"IPC$", "IPC",  					opt_user_name, opt_workgroup,					opt_password ? opt_password : "", 					CLI_FULL_CONNECTION_USE_KERBEROS, 					Undefined, NULL);	if (NT_STATUS_IS_ERR(nt_status)) {		d_fprintf(stderr, "Unable to open a connnection to %s to obtain data "			 "for %s\n", servername, printername);		ads_destroy(&ads);		return -1;	}	/* Publish on AD server */	ads_find_machine_acct(ads, &res, servername);	if (ads_count_replies(ads, res) == 0) {		d_fprintf(stderr, "Could not find machine account for server %s\n", 			 servername);		ads_destroy(&ads);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩国产成人精品影院 | 日韩精品一区二区三区四区 | 91视视频在线观看入口直接观看www | 国产一区二区久久| 国产精品情趣视频| 久久久激情视频| 丁香六月综合激情| 国产精品美女久久久久高潮| 成熟亚洲日本毛茸茸凸凹| 一区在线播放视频| 91黄色免费看| 日本三级韩国三级欧美三级| 久久亚洲二区三区| voyeur盗摄精品| 亚洲妇女屁股眼交7| 69p69国产精品| 激情六月婷婷久久| 国产精品美女久久福利网站| 91国偷自产一区二区三区观看| 五月婷婷综合在线| 久久蜜桃av一区精品变态类天堂| 成人免费看片app下载| 一区二区三区资源| 日韩一区二区精品| 不卡视频在线看| 亚洲成av人片www| 久久―日本道色综合久久| 99亚偷拍自图区亚洲| 亚洲国产裸拍裸体视频在线观看乱了| 欧美一区二区三区在线视频| 国产原创一区二区三区| 亚洲欧美日韩一区| 日韩一级黄色片| 不卡一区二区在线| 日本欧美一区二区| 国产精品免费视频一区| 欧美日韩国产小视频| 国产精品一区专区| 亚洲午夜激情av| 国产欧美在线观看一区| 亚洲欧洲一区二区在线播放| 精品视频一区二区三区免费| 国产在线精品视频| 洋洋成人永久网站入口| 久久人人爽人人爽| 欧美日韩在线电影| 成人av午夜电影| 免费av成人在线| 亚洲三级免费观看| 精品成a人在线观看| 色久综合一二码| 国产很黄免费观看久久| 亚洲成av人综合在线观看| 国产欧美一区二区精品仙草咪| 欧美三级电影网站| kk眼镜猥琐国模调教系列一区二区| 日韩国产欧美三级| 亚洲欧美国产高清| 久久免费看少妇高潮| 欧美精品成人一区二区三区四区| 成人免费看视频| 精品一区二区三区av| 亚洲午夜免费视频| **性色生活片久久毛片| 久久先锋影音av鲁色资源| 欧美日韩一区精品| 欧美一区二区久久久| 欧美成人a∨高清免费观看| 亚洲成人黄色影院| 91在线码无精品| 亚洲精品在线观看视频| 亚洲欧美一区二区久久| 国内精品久久久久影院薰衣草| 99久久精品国产一区| 日韩视频在线永久播放| 亚洲高清一区二区三区| 成人av网站在线| 久久女同精品一区二区| 伊人开心综合网| 日本一区二区三级电影在线观看 | 国产麻豆精品在线| 丝袜亚洲另类欧美| 亚洲中国最大av网站| 国产精品成人一区二区三区夜夜夜| 精品国产伦一区二区三区观看方式 | 欧美影视一区在线| 99久久免费精品| 国产91丝袜在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲色图欧洲色图| 日本一区二区三区dvd视频在线| 欧美va在线播放| 日韩欧美视频一区| 91麻豆精品国产91久久久| 日本大香伊一区二区三区| 99久久99久久精品国产片果冻| 国产91精品久久久久久久网曝门| 国产自产2019最新不卡| 蜜桃av一区二区三区电影| 天天av天天翘天天综合网色鬼国产| 亚洲码国产岛国毛片在线| 亚洲欧洲精品一区二区三区不卡 | 久久综合色播五月| 欧美mv和日韩mv国产网站| 日韩三级免费观看| 91精品国产91久久综合桃花| 欧美日韩大陆一区二区| 欧美日韩亚洲综合在线| 欧美主播一区二区三区美女| 91浏览器打开| 91视频国产观看| 色综合久久中文字幕综合网| 蜜桃视频在线观看一区二区| 精品国产精品一区二区夜夜嗨| 国产精一品亚洲二区在线视频| 一区二区三区电影在线播| 色94色欧美sute亚洲线路二| 亚洲国产中文字幕在线视频综合| 欧美日韩一二区| 久久99国内精品| 国产精品国产馆在线真实露脸 | 99这里只有精品| 国产精品短视频| 中文字幕一区av| 亚洲黄色尤物视频| 午夜精品福利一区二区蜜股av | 欧美在线观看视频一区二区 | 紧缚捆绑精品一区二区| 琪琪一区二区三区| 国产一区二区在线免费观看| 国产酒店精品激情| gogogo免费视频观看亚洲一| 91蜜桃网址入口| 欧美日韩一级视频| 欧美tickling网站挠脚心| 久久久精品影视| 亚洲色图第一区| 亚洲成人av在线电影| 免费成人在线播放| 国产精品18久久久久久久网站| 成人激情校园春色| 欧美写真视频网站| 欧美一激情一区二区三区| 91麻豆精品国产91久久久资源速度 | 久久网这里都是精品| 中文字幕av一区二区三区| 日韩理论片在线| 五月天一区二区| 国产一区二区三区四区在线观看| 成人黄色电影在线 | 亚洲精品在线三区| 国产精品视频yy9299一区| 亚洲女爱视频在线| 日本中文一区二区三区| 国产精品亚洲第一区在线暖暖韩国 | 中文字幕欧美激情一区| 一区二区三区欧美日韩| 蜜臀国产一区二区三区在线播放| 国产曰批免费观看久久久| 色呦呦国产精品| 成人在线综合网| 日本道色综合久久| 欧美色国产精品| 色综合久久中文字幕| 成人黄色电影在线 | 久久免费午夜影院| 日韩欧美一级二级三级| 666欧美在线视频| 欧美三区免费完整视频在线观看| 欧美午夜精品久久久久久孕妇| 国产午夜三级一区二区三| 丝袜诱惑制服诱惑色一区在线观看| 国内不卡的二区三区中文字幕| 色哟哟一区二区在线观看| 日韩欧美精品三级| 亚洲免费观看视频| 国内精品国产成人国产三级粉色 | 综合激情成人伊人| 久久国产精品99久久人人澡| 99久久久免费精品国产一区二区| 5858s免费视频成人| 国产精品国产三级国产| 蜜桃传媒麻豆第一区在线观看| 91偷拍与自偷拍精品| 日韩精品一区二区三区在线观看| 亚洲欧美一区二区三区国产精品 | 99国产精品国产精品毛片| 日韩免费电影一区| 亚洲自拍偷拍麻豆| 国产成人aaa| 日韩精品一区二区三区视频在线观看| 亚洲品质自拍视频网站| 精品一区二区三区的国产在线播放| 在线看不卡av| 欧美激情资源网| 久久av老司机精品网站导航| 在线观看视频欧美| 国产精品毛片a∨一区二区三区| 免费xxxx性欧美18vr| 欧洲av在线精品|