Monthly Archives: 十二月 2018

WINDOWS批处理(bat)检测网络是否连接然后执行下一操作

@ECHO OFF
setlocal enabledelayedexpansion
TITLE 自助机初始化程序
COLOR 0A
CLS
@ECHO OFF
set FTP_HOST=168.254.0.130
set TEST_HOST=168.254.0.130
set TEMP_FLOOR_PATH=C:\temp
set TEST_COUNT=0
:PING_TEST
set /a TEST_COUNT=TEST_COUNT+1
echo.第!TEST_COUNT!次网络探测-HOST:!TEST_HOST!
ping /n 2 !TEST_HOST! | findstr "TTL=" && GOTO UPDATE_FILE || ECHO.网络链接失败。
goto PING_TEST
:UPDATE_FILE
echo.网络链接已经成功。。。。。。。
echo.开始下载新版程序。。。。。。。
::创建临时目录
if not exist !TEMP_FLOOR_PATH! ( mkdir !TEMP_FLOOR_PATH! )
::连接FTP并下载安装文件
set FTP_TEMP=ftp_temp1.txt
echo open !FTP_HOST! >!FTP_TEMP!
Rem auto_soft是账号 123456是密码
echo user auto_soft 123456 >>!FTP_TEMP!
echo cd "/yb" >>!FTP_TEMP!
echo lcd "!TEMP_FLOOR_PATH!" >>!FTP_TEMP!
echo binary >>!FTP_TEMP!
echo get install.bat >>!FTP_TEMP!
echo bye >>!FTP_TEMP!
ftp -n -s:!FTP_TEMP!
del !FTP_TEMP!
call !TEMP_FLOOR_PATH!\install.bat

转:由于可能不会将凭据发送到远程计算机,因此将不会进行连接。若要获得协助,请与您的系统管理员联系。

转自:https://www.cnblogs.com/Wahitler/articles/4788805.html
windows10系统下,在通过VPN连接到堡垒机的时候,出现“由于可能不会将凭据发送到远程计算机,因此将不会进行连接。若要获得协助,请与您的系统管理员联系。”

远程

以下是解决方法:

方法一.组策略

请按照下列步骤操作:

  1. Win +R 键 启动 Gpedit.msc。

 

0

2.   展开“计算机配置”,然后展开“管理模板”。 展开“系统”,然后单击“凭据委派”。

 

1

3.   在“详细信息”窗格中,双击“允许分配默认凭据”。单击“已启用”,然后单击以选中“将 OS 默认值与上述输入连接起来”复选框。

QQ图片20150907141248

4.  单击“显示”,然后验证远程用户的计算机是否包含在列表中。如有必要,请单击“添加”,然后包含远程用户的计算机。

还可以使用通配符。例如,若要选择所有计算机,请添加下列通配符: *

5.  单击“确定”两次。

6.   关闭组策略。

SQL数据库异常处理

EXEC sp_who2;

找到链接那个数据库的SPID

KILL <SPID>;

挨个全部KILL掉就好了

–sp_configure ‘show advanced options’, 1
–GO
–RECONFIGURE WITH OVERRIDE
–GO
sp_configure ‘allow updates’,1
GO
RECONFIGURE WITH OVERRIDE
GO
UPDATE sysdatabases SET status = 32768 WHERE dbid=DB_ID(‘THIS4_CS’)–dbid = db_id(N’THIS4_CS’)
GO
DBCC CHECKDB(‘THIS4_CS’)
GO
UPDATE sysdatabases SET status = 28 WHERE name = ‘THIS4_CS’–dbid = db_id(N’THIS4_CS’)
GO
sp_configure ‘allow updates’,0
GO
RECONFIGURE WITH OVERRIDE
GO
–sp_configure ‘show advanced options’, 0
–GO
–RECONFIGURE WITH OVERRIDE
–GO
–SELECT * FROM sysdatabases WHERE name LIKE ‘THIS4%’
alter database THIS4_CS set offline

EXEC sp_who2;
kill

OllyDbg快捷键

Ctrl+F2 - 重启程序,即重新启动被调试程序。如果当前没有调试的程序,OllyDbg会运行历史列表[historylist]中的第一个程序。程序重启后,将会删除所有内存断点和硬件断点。
译者注:从实际使用效果看,硬件断点在程序重启后并没有移除。
Alt+F2 - 关闭,即关闭被调试程序。如果程序仍在运行,会弹出一个提示信息,询问您是否要关闭程序。
 
F3 - 弹出“打开32位.EXE文件”对话框[Open 32-bit .EXE file],您可以选择可执行文件,并可以输入运行参数。
 
Alt+F5 -
让OllyDbg总在最前面。如果被调试程序在某个断点处发生中断,而这时调试程序弹出一个总在最前面的窗口(一般为模式消息或模式对话框[modal messageor dialog]),它可能会遮住OllyDbg的一部分,但是我们又不能移动最小化这个窗口。激活OllyDbg(比如按任务栏上的标签)并按
Alt+F5,OllyDbg将设置成总在最前面,会反过来遮住刚才那个窗口。如果您再按一下Alt+F5,OllyDbg会恢复到正常状态。
OllyDbg是否处于总在最前面状态,将会保存,在下一次调试时依然有效。当前是否处于总在最前面状态,会显示在状态栏中。
F7 -
单步步入到下一条命令,如果当前命令是一个函数[Call],则会停在这个函数体的第一条命令上。如果当前命令是是含有REP前缀,则只执行一次重复操作。
Shift+F7 -
与F7相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步入被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
Ctrl+F7 -
自动步入,在所有的函数调用中一条一条地执行命令(就像您按住F7键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步入过程都会停止。每次单步步入,OllyDbg都会更新所有的窗口。所以为了提高自动步入的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的小。按Esc键,可以停止自动步入。
 
F8 -
单步步过到下一条命令。如果当前命令是一个函数,则一次执行完这个函数(除非这个函数内部包含断点,或发生了异常)。如果当前命令是含有REP前缀,则会执行完重复操作,并停在下一条命令上。
 
Shift+F8 -
与F8相同,但是如果被调试程序发生异常而中止,调试器会首先尝试步过被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
 
Ctrl+F8 -
自动步过,一条一条的执行命令,但并不进入函数调用内部(就像您按住F8键不放一样,只是更快一些)。当您执行其他一些单步命令,或者程序到达断点,或者发生异常时,自动步过过程都会停止。每次单步步过,OllyDbg都会更新所有的窗口。所以为了提高自动步过的速度,请您关闭不必要成窗口,对于保留的窗口最好尽量的小。按Esc键,可以停止自动步过。
 
F9 - 让程序继续执行。
Shift+F9 -
与F9相同,但是如果被调试程序发生异常而中止,调试器会首先尝试执行被调试程序指定的异常处理(请参考忽略Kernel32中的内存非法访问)。
 
Ctrl+F9 -
执行直到返回,跟踪程序直到遇到返回,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条命令执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
 
Alt+F9 -
执行直到返回到用户代码段,跟踪程序直到指令所属于的模块不在系统目录中,在此期间不进入子函数也不更新CPU数据。因为程序是一条一条执行的,所以速度可能会慢一些。按Esc键,可以停止跟踪。
 
Ctrl+F11 
-Run跟踪步入,一条一条执行命令,进入每个子函数调用,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
 
F12 
- 停止程序执行,同时暂停被调试程序的所有线程。请不要手动恢复线程运行,最好使用继续执行快捷键或菜单选项(像 F9)。
 
Ctrl+F12 
-Run跟踪步过,一条一条执行命令,但是不进入子函数调用,,并把寄存器的信息加入到Run跟踪的存储数据中。Run跟踪不会同步更新CPU窗口。
 
Esc - 如果当前处于自动运行或跟踪状态,则停止自动运行或跟踪;如果CPU显示的是跟踪数据,则显示真实数据。
 
Alt+B - 显示断点窗口。在这个窗口中,您可以编辑、删除、或跟进到断点处。
Alt+C - 显示CPU窗口。
Alt+E - 显示模块列表[list of modules]。
Alt+K - 显示调用栈[Call stack]窗口。
Alt+L - 显示日志窗口。
Alt+M - 显示内存窗口。
Alt+O - 显示选项对话框[Options dialog]
Ctrl+P - 显示补丁窗口。
Ctrl+T - 打开 暂停 Run跟踪 对话框
Alt+X - 关闭 OllyDbg。
 
大多数窗口都支持以下的键盘命令:
Alt+F3 - 关闭当前窗口。
Ctrl+F4 - 关闭当前窗口。
F5 - 最大化当前窗口或将当前窗口大小改为正常化。
F6 - 切换到下一个窗口。
Shift+F6 - 切换到前一个窗口。
F10 - 打开与当前窗口或面板相关的快捷菜单。
左方向键 - 显示窗口左方一个字节宽度的内容。
Ctrl+左方向键 - 显示窗口左方一栏的内容。
右方向键 - 显示窗口右方一个字节宽度的内容
Ctrl+右方向键 - 显示窗口右方一栏的内容
 
反汇编窗口中的快捷键[Disassembler shortcuts]
当CPU窗口中的反汇编面板[Disassembler pane]处于激活状态时,您可以使用以下快捷键:
 
回车键 - 将选中的命令添加到命令历史[command history]中,如果当前命令是一个跳转、函数或者是转换表的一个部分,则进入到目的地址。
退格键 - 移除选中部分的自动分析信息。如果分析器将代码误识别为数据,这个快捷键就非常有用。请参考解码提示[decoding hints]. 
Alt+退格键 - 撤消所选部分的修改,以备份数据的相应内容替换所选部分。仅当备份数据存在且与所选部分不同时可用。
Ctrl+F1 -如果API帮助文件已经选择,将打开与首个选择行内的符号名相关联的帮助主题。
F2 -在首个选择的命令上开关INT3 断点[Breakpoint],也可以双击该行第二列。
Shift+F2 -在首个选择命令设置条件断点,参见忽略Kernel32中内存访问异常[Ignore memory access violations in Kernel32]。
F4 -执行到所选行,在首个选择的命令上设置一次性断点,然后继续执行调试程序,直到OllyDbg捕获到异常或者停止在该断点上。在程序执行到该命令之前,该一次性断点一直有效。如有必要,可在断点窗口[Breakpoints window]中删除它。
 
Shift+F4 -设置记录断点(一种条件断点,当条件满足时一些表达式的值会记录下来), 详情参见断点[Breakpoint]。
 
Ctrl+F5 -打开与首个选择的命令相对应的源文件。
 
Alt+F7 -转到上一个找到的参考。
 
Alt+F8 -转到下一个找到参考。
 
Ctrl+A -分析当前模块的代码段。
Ctrl+B - 开始二进制搜索。
 
Ctrl+C -复制所选内容到剪贴板。复制时会简单地按列宽截断不可见内容,如果希望排除不需要的列,可把这些列的宽度调整到最小。
 
Ctrl+E -以二进制(十六进制)格式编辑所选内容。
 
Ctrl+F -开始命令搜索。
 
Ctrl+G -转到某地址。该命令将弹出输入地址或表达式的窗口。该命令不会修改 EIP。
Ctrl+J -列出所有的涉及到该位置的调用和跳转,在您用这个功能之前,您必须使用分析代码功能。
Ctrl+K - 查看与当前函数相关的调用树[Call tree]。在您用这个功能之前,您必须使用分析代码功能。
Ctrl+L - 搜索下一个,重复上一次的搜索内容。
 
Ctrl+N - 打开当前模块的名称(标签)列表。
Ctrl+O -
扫描object文件。扫描Object文件。该命令会显示扫描Object文件对话框,您可以在该对话框中选择Object文件或者lib文件,并扫描这个文件,试图找到在实际代码段中用到的目标模块。
 
Ctrl+R
-搜索所选命令的参考。该命令扫描激活模块的全部可执行代码,以找到涉及到首个选中的命令的全部相关参考(包括:常量、跳转及调用),您可以在参考中使用快捷键
Alt+F7 和 Alt+F8来浏览这些参考。为便于您使用,被参考的命令也包含在该列表中。
Ctrl+S -命令搜索。该命令显示命令查找[Find command]对话框供您输入汇编命令,并从当前命令开始搜索。
 
星号[Asterisk](*) -转到原始位置(激活线程的EIP处)。
Ctrl+星号(*) - 指定新的起始位置,设置当前所选线程的EIP为首个选择字节的地址。您可以在选择EIP并撤消该操作。
加号[Plus](+) -如果run跟踪[run trace] 没有激活,则根据命令历史[command
history]跳到下一条运行过命令的地方;否则跳到Run跟踪的下一个记录。
 
Ctrl+加号 - 跳到前一个函数开始处。(注意只是跳到,并不执行)
减号[Minus](-) - 如果run跟踪[run trace] 没有激活,则根据命令历史[command
history]跳到前一条运行过命令的地方;否则跳到Run跟踪的前一个记录。
Ctrl+减号 - 跳到下一个函数开始处。(注意只是跳到,并不执行)
 
空格[Space] -
修改命令。您可在显示对话框中以汇编语言修改实际指令或输入新指令,这些指令将替换实际代码,您也可以在想要修改的指令处双击鼠标。
 
冒号[Colon]( - 添加标签。显示添加标签窗口[Add label]或修改标签窗口[Change
label],您可在此输入与首个选择的命令中的第一个字节相关联的标签(符号名)。注意,在多种编程语言中,冒号可以是标签的一部分。
分号[Semicolon](;) - 添加注释[comment]。显示添加注释窗口[Add label]或修改注释窗口[Change
label],您可在此输入与首条所选命令的第一个字节相关联的注释(注释串会显示在最后一列中)。注意,多种汇编语言使用分号作为注释开始。您也可以在注释列双击需要注释的命令行。
 
命令行插件支持的命令
 
CALC
判断表达式
 
WATCH
添加监视表达式
AT
在指定地址进行反汇编
FOLLOW
跟随命令
ORIG
反汇编于 EIP
 
DUMP
在指定地址进行转存
DA
转存为反汇编代码
 
DB
使用十六进制字节格式转存
 
DC
使用 ASCII 格式转存
DD
转存在堆栈格式
 
DU
转存在 UNICODE 格式
DW
使用十六进制字词格式转存
 
STK
 
AS
(AS + 地址 + 字符串)
在指定地址进行汇编
 
BP
进行条件中断(有条件的断点)
BPX
中断在全部调用 (Call)
BPD
清除全部调用中的断点
 
BC
清除断点
 
MR
内存断点于访问时
 
MW
内存断点于写入时
 
MD
清除内存断点
 
HR
访问时进行硬件中断
 
HW
写入时进行硬件中断
HE
执行时进行硬件中断
 
HD
清除硬件断点
 
STOP
停止运行程序调试
PAUSE
暂停执行程序调试
 
RUN
运行程序进行调试
 
GE
运行和通过例外
SI
单步进入 Call 中
SO
步过 Call
TI
跟踪进入直到地址
 
TO
跟踪步过直到地址
TC
跟踪进入直到满足条件
TOC
跟踪步过直到满足条件
 
TR
运行直到返回
 
TU
运行直到用户代码
 
LOG
查看记录窗口
 
MOD
查看模块窗口
MEM
查看内存窗口
CPU
查看 CPU 窗口
CS
查看 Call 堆栈
 
BRK
查看断点窗口
OPT
打开选项设置窗口
 
EXIT
退出 OllyDbg
 
QUIT
退出 OllyDbg
 
OPEN
打开一个可执行文件
 
CLOSE
关闭可执行文件
 
RST
重新运行当前程序
 
HELP
查看 API 函数的帮助

 

基础知识 ASCII UNICODE

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码,ASCⅡ)是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。

ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式下可显示出一些诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符,控制字符的用途主要是用来操控已经处理过的文字,在33个字符之外的是95个可显示的字符,包含用键盘敲下空白键所产生的空白字符也算1个可显示字符(显示为空白)。


ASCII控制字符

二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义
0000 0000 0 00 NUL 空字符(Null)
0000 0001 1 01 SOH 标题开始
0000 0010 2 02 STX 本文开始
0000 0011 3 03 ETX 本文结束
0000 0100 4 04 EOT 传输结束
0000 0101 5 05 ENQ 请求
0000 0110 6 06 ACK 确认回应
0000 0111 7 07 BEL 响铃
0000 1000 8 08 BS 退格
0000 1001 9 09 HT 水平定位符号
0000 1010 10 0A LF 换行键
0000 1011 11 0B VT 垂直定位符号
0000 1100 12 0C FF 换页键
0000 1101 13 0D CR 归位键
0000 1110 14 0E SO 取消变换(Shift out)
0000 1111 15 0F SI 启用变换(Shift in)
0001 0000 16 10 DLE 跳出数据通讯
0001 0001 17 11 DC1 设备控制一(XON 启用软件速度控制)
0001 0010 18 12 DC2 设备控制二
0001 0011 19 13 DC3 设备控制三(XOFF 停用软件速度控制)
0001 0100 20 14 DC4 设备控制四
0001 0101 21 15 NAK 确认失败回应
0001 0110 22 16 SYN 同步用暂停
0001 0111 23 17 ETB 区块传输结束
0001 1000 24 18 CAN 取消
0001 1001 25 19 EM 连接介质中断
0001 1010 26 1A SUB 替换
0001 1011 27 1B ESC 跳出
0001 1100 28 1C FS 文件分割符
0001 1101 29 1D GS 组群分隔符
0001 1110 30 1E RS 记录分隔符
0001 1111 31 1F US 单元分隔符
0111 1111 127 7F DEL 删除

ASCII可显示字符

二进制 十进制 十六进制 图形
0010 0000 32 20 (空格)(␠)
0010 0001 33 21 !
0010 0010 34 22
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25  %
0010 0110 38 26 &
0010 0111 39 27
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
二进制 十进制 十六进制 图形
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
二进制 十进制 十六进制 图形
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~

Unicode是ASCII字符编码的一个扩展

UNICODE所有字符都是16位

其中所有的7位ASCII码都被扩充为16位(注意:高位扩充的是零)

例如:字符串“pediy”的ASCII码为

70h 65h 64h 69h 79h

其中UNICODE码的十六进制形式写作:

0070h 0065h 0064h 0069h 0079h

在Intel处理器中将一个字存入存储器占用相继的2字节,这个字在存放时按Little-endian方式存入,即低位字节存入低地址,高位字节存入高地址

p         e       d       i         y

7000 6500 6400 6900 7900

 

转载:Centos7 下Yum安装OpenLdap

转载:Centos7 下Yum安装OpenLdap

网上的教程一大堆,也没用具体说明版本,所以很多操作方法都不一样,把我踩过的坑记录下来

环境:

Centos7

OpenLdap 2.4.44

openldap新版本和老版本的配置方法差别特别大

安装步骤

1.yum安装OpenLdap
#yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

2.生成管理密码
#slappasswd -s Your_P@ssw0rd
{SSHA}J8D5Vzhe1HVmdj3jl83UeT4uO3LPYcUM

3.编辑配置

#cd /etc/openldap/slapd.d/cn\=config

修改olcDatabase={2}hdb.ldif文件如下
#vim olcDatabase\=\{2\}hdb.ldif
olcRootPW: {SSHA}J8D5Vzhe1HVmdj3jl83UeT4uO3LPYcUM,这个密码就是上面生成的管理密码,然后修改域名信息:
olcSuffix: dc=domain,dc=com
olcRootDN: cn=root,dc=domain,dc=com

 

修改olcDatabase={1}monitor.ldif文件,如下:
#vim olcDatabase\=\{1\}monitor.ldif
olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth” read by dn.base=”cn=cn=root,dc=domain,dc=com” read by * none

4.测试一下配置

#slaptest -u 如果提示success 说明配置文件没有问题

5.配置OpenLDAP数据库
#cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
#chown ldap:ldap -R /var/lib/ldap
#chmod 700 -R /var/lib/ldap
注意:/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。

 

导入基本Schema
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif

注意:这个根据个人需要,导入自己需要的schema

下面的步骤就是往OpenLdap里面插入用户,可做可不做,你也可以自己用ldap客户端插入数据,我先把他放在这

添加用户及用户组
默认情况下OpenLDAP是没有普通用户的,但是有一个管理员用户。管理用户就是前面我们刚刚配置的root。
现在我们把系统中的用户,添加到OpenLDAP中。为了进行区分,我们现在新加两个用户ldapuser1和ldapuser2,和两个用户组ldapgroup1和ldapgroup2,如下:
添加用户组,使用如下命令:
groupadd ldapgroup1
groupadd ldapgroup2
添加用户并设置密码,使用如下命令:
useradd -g ldapgroup1 ldapuser1
useradd -g ldapgroup2 ldapuser2
把刚刚添加的用户和用户组提取出来,这包括该用户的密码和其他相关属性,如下:
grep “:10[0-9][0-9]” /etc/passwd > /root/users
grep “:10[0-9][0-9]” /etc/group > /root/groups
根据上述生成的用户和用户组属性,使用migrate_passwd.pl文件生成要添加用户和用户组的ldif,如下:
生成ldif文件之前要先修改vim /usr/share/migrationtools/migrate_common.ph 文件,修改base_dn信息
vim /usr/share/migrationtools/migrate_common.ph
$DEFAULT_BASE = “dc=domain,dc=com”;
保存后,执行如下脚本
/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
/usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif

配置openldap基础的数据库,如下:
cat /root/base.ldif

dn: dc=domain,dc=com
o: domain com
dc: domain
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=root,dc=domain,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager

dn: ou=OP,dc=domain,dc=com
ou: OP
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=domain,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

执行如下命令导入基础数据、用户数据,组数据
ldapadd -x -W -D “cn=root,dc=domain,dc=com” -f /root/base.ldif
ldapadd -x -W -D “cn=root,dc=domain,dc=com” -f /root/usersldif
ldapadd -x -W -D “cn=root,dc=domain,dc=com” -f /root/groups.ldif

用户和用户组全部导入完毕后,我们就可以查询OpenLDAP的相关信息。
查询OpenLDAP全部信息,使用如下命令:
ldapsearch -x -b “dc=domain,dc=com” -H ldap://127.0.0.1
ldapsearch -h 127.0.0.1 -D “cn=root,dc=domain,dc=com” -w “your_password” -b “dc=domain,dc=com” “(uid=testuser)”

参考资料 https://www.ilanni.com/?p=13775

 

 

因为需要在OpenLdap中添加组的功能,所以需要添加memberOf功能,步骤如下

1、在/etc/openldap目录下新建文件memberof_load_configure.ldif。内容如下:

dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulepath: /usr/lib64/openldap
olcModuleload: {0}memberof.la

dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof

说明:上面的参数请根据实际情况修改(比如32的系统的话olcModulepath为/usr/lib/openldap)
dn: cn=module{0},cn=config 如果/etc/openldap/slapd.d/cn=config目录下已经存在cn=module{0}.ldif 文件的话,你就需要修改 module后面的数字了
dn: olcOverlay={0}memberof,olcDatabase={2}bdb,cn=config 这行中 如果上述目录中没有olcDatabase={2}bdb.ldif文件就把 olcDatabase={2}bdb改成olcDatabase={2}hdb
2、执行命令ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_load_configure.ldif。
至此memberof功能添加完成,你可以用客户端添加一个group试一下,我这边添加的group的ldif文件如下

dn: cn=gitlab,ou=Group,dc=domain,dc=com
objectClass: top
objectClass: groupOfNames
cn: gitlab
member: uid=testuser,ou=OP,dc=domain,dc=com

将上面代码保存为 addgroup.ldif,然后执行

ldapadd -x -W -D “cn=root,dc=domain,dc=com” -f addgroup.ldif 即可添加成功

可以使用ldap的客户端连接试试看下效果,客户端可以使用apache开源的这个,下载地址

http://directory.apache.org/

 

参考资料:

https://blog.csdn.net/tongdao/article/details/52538365
http://www.bubuko.com/infodetail-1795667.html

CentOS7使用firewalld打开关闭防火墙与端口

1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld
 
 
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
 
4.开启一个端口
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

5.使服务通过防火墙
添加
firewall-cmd --add-service=radius --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=ldap --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --list-service
删除
firewall-cmd --remove-service=ldap --permanent

 

CentOS7 yum启用epel源

CentOS有一个源叫做 EPEL (Extra Packages for Enterprise Linux),为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS等,里面有1万多个软件,强烈建议安装。

安装 epel-release

# wget https://mirrors.ustc.edu.cn/epel//7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
# rpm -ivh epel-release-7-11.noarch.rpm
更新Yum源
# yum clean all
# yum update
安装软件
# yum install phpldapadmin

 

CentOS7 添加Yum代理 Wget代理 全局代理

设置Yum代理

# vi /etc/yum.conf

添加

proxy=http://host:port/

proxy=http://代理服务器IP地址:端口号

proxy_username=代理服务器用户名

proxy_password=代理服务器密码

 

设置Wget代理

#vim etc/wgetrc

添加

use_proxy = on
http_proxy = http://host:port/
https_proxy = http://host:port/
ftp_proxy = http://host:port/