Linux 使用yum下载rpm包
一、安装yum-utils
1 |
yum isntall yum-utils |
二、使用yumdownloader下载包
1 |
yumdownloader bash |
一、安装yum-utils
1 |
yum isntall yum-utils |
二、使用yumdownloader下载包
1 |
yumdownloader bash |
TTL值全称是“生存时间(Time To Live)”
不同的 OS 在 TTL 的设置上是不同的,他们的基数不同
比如,Solaris 和早起的 RedHat TTL = 255
FreeBSD 和现在的 Linux TTL = 64
Windows TTL = 128
ping 一个网站,看 TTL 是多少,大概可以分辨出他的 OS (这里说“大概”,因为有很多例外)
通过 TTL 可以知道他原先的 TTL 基数是多少
比如 119,大概知道基数是 128,大概是 WINDOWS 操作系统
比如 232,大概知道基数是 255,大概知道是 Solaris 或其他 UNIX 系统
比如 46,大概知道基数是 64,大概知道是 Linux 或其他 UNIX 系统比如 FreeBSD
TTL 在系统里是可调的.
每过一次路由,TTL 要 -1,因此也可以知道大概中间过了多少跳
比如一个 TTL = 43 和 TTL= 123 的网站,大概知道后者访问起来比前者要快,因为经过的跳数相对少些
2014年9月28日 Linux 0 Read more >
基本上就是安装Lamp
一、准备Linux
这里用的centos 6.5
二、安装Apache
1 |
yum install httpd |
三、安装mysql+建库
1 2 3 4 5 |
yum install mysql-server mysql_secure_installation mysqladmin -uroot password root mysql -uroot -proot mysql>create database wordpress; |
四、安装php
1 2 |
yum install php5 yum install phpmyadmin |
五、解压WordPress包
1 |
unzip WordPress.zip /var/www/html/ |
参考:http://www.cnblogs.com/xiaofengkang/archive/2011/11/16/2251608.html
2014年9月23日 Linux 0 Read more >
一、下载文件夹
1 2 |
wget ftp://hehe[:port]/upload/wordpress-3.9.2/* --ftp-user=test --ftp-password=test -r # tip:url一定要打开到需下载的目录,并在该目录上层用*表示全部 |
二、下载多个文件
1 2 3 4 5 6 |
ftp客户端登陆 ftp 127.0.0.1 #关掉提示(不再每个文件提示是否y) prompt off #拿到test下的各个文件 mget ../test/* |
参考:http://yahoon.blog.51cto.com/13184/200991/
一、which
which命令返回可执行命令的执行文件路径.(但是仅仅搜索PATH下的目录)
1 2 |
[root@hdp_test1 yum.repos.d]# which vim /usr/bin/vim |
二、whereis
whereis命令也返回可执行命令的文件路径。比which多的是:会同时返回其man page的路径。
1 2 |
[root@hdp_test1 yum.repos.d]# whereis vim vim: /usr/bin/vim /usr/share/vim /usr/share/man/man1/vim.1.gz |
三、locate
locate命令返回所有文件的目录。
该命令访问Linux内置数据库,返回包含查询关键字的文件路径。
1 2 3 4 |
locate sss.rpm #更新目录数据库的命令: updatedb |
四、find
find会实际扫描文件系统。(需要指定查询目录)(还可以加-ls以高大上 – -)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#普通青年:根据名字查找 [root@cdh_manager_test Desktop]# find /root/ -name temp /root/Desktop/temp #话唠青年:查找并列出文件信息 [root@cdh_manager_test Desktop]# find /root/ -name temp -ls 800598 4 -rwxr--r-- 1 root root 528 May 30 10:04 /root/Desktop/temp #人肉少年:根据文件用户查找 [root@cdh_manager_test Desktop]# find /root/Desktop/ -user root -ls 800606 2033704 -rw-r--r-- 1 root root 2082507589 Aug 28 11:08 /root/Desktop/cdh5.zip 800598 4 -rwxr--r-- 1 root root 528 May 30 10:04 /root/Desktop/temp 802726 68 -rw-r--r-- 1 root root 63043 Aug 29 14:08 /root/Desktop/log4j.log 798924 586196 -rw-r--r-- 1 root root 600259606 Aug 28 11:07 /root/Desktop/cm.zip #组合条件:多种口味,总有一款适合你 #【1】 -o “或” [root@cdh_manager_test Desktop]# find /root/Desktop/ -user cdh -o -group root -ls 800606 2033704 -rw-r--r-- 1 root root 2082507589 Aug 28 11:08 /root/Desktop/cdh5.zip 802726 68 -rw-r--r-- 1 root root 63043 Aug 29 14:08 /root/Desktop/log4j.log 798924 586196 -rw-r--r-- 1 root root 600259606 Aug 28 11:07 /root/Desktop/cm.zip #【2】 -a “与” [root@cdh_manager_test Desktop]# find /root/Desktop/ -user cdh -a -group root -ls 800598 4 -rwxr--r-- 1 cdh root 528 May 30 10:04 /root/Desktop/temp #【3】 -type 文件类型 [root@cdh_manager_test Desktop]# find /root/Desktop/ -user root -a -type d -ls 916267 4 drwxr-xr-x 2 root root 4096 Sep 19 17:26 /root/Desktop/en #【4】 -perm 文件权限 [root@cdh_manager_test Desktop]# find /root/Desktop/ -perm 644 -ls 800606 2033704 -rw-r--r-- 1 root root 2082507589 Aug 28 11:08 /root/Desktop/cdh5.zip 802726 68 -rw-r--r-- 1 root root 63043 Aug 29 14:08 /root/Desktop/log4j.log 798924 586196 -rw-r--r-- 1 root root 600259606 Aug 28 11:07 /root/Desktop/cm.zip |
每日执行。
留坑以后填。
2014年9月19日 Linux 0 Read more >
以下重点关注内容:用户标识号(UID)、组标识号(GID)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下:
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
(1)注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windows是不一样的。
(2)口令(passwd):系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。
现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc /shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。
此外,需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。
(3)用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。在系统内部管理进程和文件保护时使用 UID字段。在Linux系统中,注册名和UID都可以用于标识用户,只不过对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。
(4)组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标 识号相区分。像UID一样,用户的组标识号也存放在passwd文件中。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在 passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。
(5)用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。
(6)用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。 在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每 个用户配置了自己的主目录。个人用户的文件都放置在各自的
主目录下。
(7)命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,
如/bin/bash。
需要注意的是,系统管理员通常没有必要直接修改passwd文件,Linux提供一些账号管理工具帮助系统管理员来创建和维护用户账号。
Linux口令管理之/etc/passwd文件
/etc/passwd文件是Linux/UNIX安全的关键文件之一.该文件用于用户登录时校验 用户的口令,当然应当仅对root可写.文件中每行的一般格式为:
LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
每行的头两项是登录名和加密后的口令,后面的两个数是UID和GID,接着的 一项是系统管理员想写入的有关该用户的任何信息,最后两项是两个路径名: 一个是分配给用户的HOME目录,第二个是用户登录后将执行的shell(若为空格则 缺省为/bin/sh).
(1)口令时效
/etc/passwd文件的格式使系统管理员能要求用户定期地改变他们的口令. 在口令文件中可以看到,有些加密后的口令有逗号,逗号后有几个字符和一个 冒号.如:
steve:xyDfccTrt180x,M.y8:0:0:admin:/:/bin/sh
restrict:pomJk109Jky41,.1:0:0:admin:/:/bin/sh
pat:xmotTVoyumjls:0:0:admin:/:/bin/sh
可以看到,steve的口令逗号后有4个字符,restrict有2个,pat没有逗号.
逗号后第一个字符是口令有效期的最大周数,第二个字符决定了用户再次 修改口信之前,原口令应使用的最小周数(这就防止了用户改了新口令后立刻 又改回成老口令).其余字符表明口令最新修改时间.
要能读懂口令中逗号后的信息,必须首先知道如何用passwd_esc计数,计 数的方法是:
.=0 /=1 0-9=2-11 A-Z=12-37 a-z=38-63
系统管理员必须将前两个字符放进/etc/passwd文件,以要求用户定期的 修改口令,另外两个字符当用户修改口令时,由passwd命令填入.
注意:若想让用户修改口令,可在最后一次口令被修改时,放两个”.”,则下 一次用户登录时将被要求修改自己的口令.
有两种特殊情况:
. 最大周数(第一个字符)小于最小周数(第二个字符),则不允许用户修改 口令,仅超级用户可以修改用户的口令.
. 第一个字符和第二个字符都是”.”,这时用户下次登录时被要求修改口 令,修改口令后,passwd命令将”.”删除,此后再不会要求用户修改口令.
(2)UID和GID
/etc/passwd中UID信息很重要,系统使用UID而不是登录名区别用户.一般 来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值.根据惯 例,从0到99的UID保留用作系统用户的UID(root,bin,uucp等).
如果在/etc/passwd文件中有两个不同的入口项有相同的UID,则这两个用 户对相互的文件具有相同的存取权限.
/etc /group文件含有关于小组的信息,/etc/passwd中的每个GID在本文件中 应当有相应的入口项,入口项中列出了小组名和小组中的用户.这样可方便地了 解每个小组的用户,否则必须根据GID在/etc/passwd文件中从头至尾地寻找同组 用户.
/etc/group文件对小组的许可权限的控制并不是必要的,因为系统用UID,GID (取自/etc/passwd)决定文件存取权限,即使/etc/group文件不存在于系统中,具 有相同的GID用户也可以小组的存取许可权限共享文件.
小组就像登录用户一样可以有口令.如果/etc/group文件入口项的第二个域 为非空,则将被认为是加密口令,newgrp命令将要求用户给出口令,然后将口令加 密,再与该域的加密口令比较.
给 小组建立口令一般不是个好作法.第一,如果小组内共享文件,若有某人猜 着小组口令,则该组的所有用户的文件就可能泄漏;其次,管理小组口令很费事, 因为对于小组没有类似的passwd命令.可用/usr/lib/makekey生成一个口令写入 /etc/group.
以下情况必须建立新组:
(1)可能要增加新用户,该用户不属于任何一个现有的小组.
(2)有的用户可能时常需要独自为一个小组.
(3)有的用户可能有一个SGID程序,需要独自为一个小组.
(4)有时可能要安装运行SGID的软件系统,该软件系统需要建立一个新组.
要 增加一个新组,必须编辑该文件,为新组加一个入口项. 由于用户登录时,系统从/etc/passwd文件中取GID,而不是从/etc/group中 取GID,所以group文件和口令文件应当具有一致性.对于一个用户的小组,UID和 GID应当是相同的.多用户小组的GID应当不同于任何用户的UID,一般为5位数,这 样在查看/etc/passwd文件时,就可根据5位数据的GID识别多用户小组,这将减少 增加新组,新用户时可能产生的混淆.
原文:http://luzl.iteye.com/blog/564404
2014年9月12日 Linux 0 Read more >
一、su权限管理
非root账户能否su到root,通过/etc/pam.d/su管理
1 2 |
# Uncomment the following line to require a user to be in the "wheel" group. # auth required pam_wheel.so use_uid |
取消注释之后,所有其他用户只有在wheel组的才能su到root
二、更改组的命令
1 |
usermod -g wheel username |
-g 更改用户登陆时所在的组
-G 添加其他不是登陆首选的组
/etc/login.defs
三、(补充)su时是否需要密码
1 2 |
# Uncomment the following line to implicitly trust users in the "wheel" group. #auth sufficient pam_wheel.so trust use_uid |
注释后需要root密码
不注释则wheel组可以无密码直接su到root
原文:http://blog.csdn.net/wang7dao/article/details/7684998
【主要关注端口扫描部分即可】
NetCat,在网络工具中有“瑞士***”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。
一、版本
通常的Linux发行版中都带有NetCat(简称nc),甚至在拯救模式光盘中也由busybox提供了简版的nc工具。但不同的版本,其参数的使用略有差异。
NetCat 官方地址:http://netcat.sourceforge.net/
引用[root@hatest1 ~]# cat /etc/asianux-release
Asianux release 2.0 (Trinity SP2)
[root@hatest1 ~]# cat /etc/redflag-release
Red Flag DC Server release 5.0 (Trinity SP2)
[root@hatest1 ~]# type -a nc
nc is /usr/bin/nc
[root@hatest1 ~]# rpm -q nc
nc-1.10-22
建议在使用前,先用man nc看看帮助。这里以红旗DC Server 5.0上的1.10版本进行简单说明。
假设两服务器信息:
引用server1: 192.168.228.221
server2: 192.168.228.222
二、常见使用
1、远程拷贝文件
从server1拷贝文件到server2上。需要先在server2上,用nc激活监听,server2上运行:
引用[root@hatest2 tmp]# nc -lp 1234 > install.log
server1上运行:
引用[root@hatest1 ~]# ll install.log
-rw-r–r– 1 root root 39693 12月 20 2007 install.log
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log
2、克隆硬盘或分区
操作与上面的拷贝是雷同的,只需要由dd获得硬盘或分区的数据,然后传输即可。
克隆硬盘或分区的操作,不应在已经mount的的系统上进行。所以,需要使用安装光盘引导后,进入拯救模式(或使用Knoppix工具光盘)启动系统后,在server2上进行类似的监听动作:
# nc -l -p 1234 | dd of=/dev/sda
server1上执行传输,即可完成从server1克隆sda硬盘到server2的任务:
# dd if=/dev/sda | nc 192.168.228.222 1234
※ 完成上述工作的前提,是需要落实光盘的拯救模式支持服务器上的网卡,并正确配置IP。
3、端口扫描
可以执行:
引用# nc -v -w 1 192.168.228.222 -z 1-1000
hatest2 [192.168.228.222] 22 (ssh) open
4、保存Web页面
# while true; do nc -l -p 80 -q 1 < somepage.html; done
5、模拟HTTP Headers
引用[root@hatest1 ~]# nc www.linuxfly.org 80
GET / HTTP/1.1
Host: ispconfig.org
Referrer: mypage.com
User-Agent: my-browser
HTTP/1.1 200 OK
Date: Tue, 16 Dec 2008 07:23:24 GMT
Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8
Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/
Expires: 0
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Cache-Control: private, post-check=0, pre-check=0, max-age=0
Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/html
[……]
在nc命令后,输入红色部分的内容,然后按两次回车,即可从对方获得HTTP Headers内容。
6、聊天
nc还可以作为简单的字符下聊天工具使用,同样的,server2上需要启动监听:
[root@hatest2 tmp]# nc -lp 1234
server1上传输:
[root@hatest1 ~]# nc 192.168.228.222 1234
这样,双方就可以相互交流了。使用Ctrl+D正常退出。
7、传输目录
从server1拷贝nginx-0.6.34目录内容到server2上。需要先在server2上,用nc激活监听,server2上运行:
引用[root@hatest2 tmp]# nc -l 1234 |tar xzvf –
server1上运行:
引用[root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf – nginx-0.6.34|nc 192.168.228.222 1234
8、参数简介
这仅是一个1.10版本的简单说明,详细的参数使用还是需要看man:
引用想要连接到某处: nc [-options] hostname port[s] [ports] …
绑定端口等待连接: nc -l -p port [-options] [hostname] [port]
参数:
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, …
-h 帮助信息
-i secs 延时的间隔
-l 监听模式,用于入站连接
-n 指定数字的IP地址,不能用hostname
-o file 记录16进制的传输
-p port 本地端口号
-r 任意指定本地及远程端口
-s addr 本地源地址
-u UDP模式
-v 详细输出——用两个-v可得到更详细的内容
-w secs timeout的时间
-z 将输入输出关掉——用于扫描时,其中端口号可以指定一个或者用lo-hi式的指定范围。
9、1.84版本参数简介1. nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
2. [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x
3. proxy_address[:port]] [hostname] [port[s]]
1. -4 强制使用ipv4
2. -6 强制使用ipv6
3. -D 允许socket通信返回debug信息
4. -d 不允许从标准输入中读取
5. -h 显示nc帮助文档
6. -i interval
7. 指定每行之间内容延时发送和接受,也可以使多个端口之间的连接延时
8. -k 当一个连接结束时,强制nc监听另一个连接。必须和-l一起使用
9. -l 用于监听传入的数据链接,不能与-p -z -s一起使用。-w 参数的超时也会被忽略
10. -n 不执行任何地址,主机名,端口或DNS查询
11. -p 指定nc使用的源端口,受权限限制且不能余-l一起使用
12. -r 指定nc使用的源端口和目的端口,不能使用系统原来就指定的那些端口
13. -S 允许在RFC 2385的TCP MD5签名选项
14. -s source_ip_address
15. 指定用于发包的接口的IP地址,不能和-l一起使用
16. -T ToS
17. 指定链接的IP服务类型(TOS)
18. -C 自动换行
19. -t 使nc能够与telnet交互
20. -U 使用UNIX域socket
21. -u 使用udp代替默认的tcp选项
22. -v 输出详细报告
23. -w timeout
24. 一个链接一段时间无操作,则自动断开,默认无超时
25. -X proxy_version
26. 指定nc使用代理时所采用的协议,可选的有socksv4,socks5以及https。默认socks5
27. -x proxy_address[:port]
28. 指定nc使用的代理地址和端口。默认设置:1080(SOCKS),3128(HTTPS)
29. -z 只监听不发送任何包
三、版本差异
不用系统上提供的nc版本会有说不同,其提供的参数使用方法也略有差异。
例如,红旗Asianux 3.0 SP1拯救光盘上的版本是供使用的参数仅有一部分:
引用# nc -h
BusyBox v1.2.0 (2008.04.14-01:35+0000) multi-call binary
Usage: nc [OPTIONS] [IP] [port]
Netcat opens a pipe to IP:port
Options:
-l listen mode, for inbound connects
-p PORT local port number
-i SECS delay interval for lines sent
-e PROG program to exec after connect (dangerous!)
-w SECS timeout for connects and final net reads
而在Asianux 3.0 SP1系统中提供的nc版本则是1.84的,按上面的参数用法写会执行不了:
引用[root@ftpserver ~]# rpm -q nc
nc-1.84-10
[root@ftpserver ~]# nc -lp 1234
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
讲查看man文档,可见在这个版本中,-l是不能与-s、-p、-z一起使用的,-w参数也会被忽略,所以,正确的用法是:
[root@ftpserver tmp]# nc -l 1234
四、用在脚本中
nc每次启动监听后,都会在客户端连接完成并退出的同时,服务端一同退出。所以,如果需要不断的使用nc进行数据传输,需要在脚本中使用循环。利用nc实现更多的功能,可参考其rpm提供的参考脚本:
引用# rpm -qd nc
/usr/share/doc/nc-1.10/Changelog
/usr/share/doc/nc-1.10/README
/usr/share/doc/nc-1.10/scripts/README
/usr/share/doc/nc-1.10/scripts/alta
/usr/share/doc/nc-1.10/scripts/bsh
/usr/share/doc/nc-1.10/scripts/dist.sh
/usr/share/doc/nc-1.10/scripts/irc
/usr/share/doc/nc-1.10/scripts/iscan
/usr/share/doc/nc-1.10/scripts/ncp
/usr/share/doc/nc-1.10/scripts/probe
/usr/share/doc/nc-1.10/scripts/web
/usr/share/doc/nc-1.10/scripts/webrelay
/usr/share/doc/nc-1.10/scripts/websearch
/usr/share/man/man1/nc.1.gz
2014年8月14日 Linux 0 Read more >