lnmp下mysql 5.6内存占用过高解决方法

最新的lnmp一键包1.2里,可以选择mysql5.6版本安装,但是最近发现mysql有时候会出现挂掉的情况,看一下mysql错误日志,应该是内存占满导致的,1G内存的vps是伤不起的。。

重启mysql服务后,top一下发现这一个mysql服务就占用了500多MB内存。。

Google一番,贴一下记录:

mysql5.6的默认配置是不适合小型站点的,win的话在my.ini里修改、linux则在/etc/my.cnf里修改performance_schema_max_table_instances参数,有就修改,没有就追加

修改完毕后,重启mysql服务,service mysql restart,然后top后发现内存占用少了一半,应该还有很大优化空间,鉴于内存基本够用了,就不继续折腾了。

如何让你的 Linux 系统干净整洁

1111

 

 

 

Linux 的最大优点之一就是,使用一段时间后,它照样很稳定。Linux面临的最大挑战就是,将它安装起来,并找到并配置你完成工作所需要的软件。一旦你完成了这 项任务,它几乎就会顺利运行起来。至于系统维护方面,倒没有太多的东西需要担心。另一方面,Windows是我所说的一款“肮脏”的系统,原因在于它在运 行过程中,会生成大量的额外数据,留在硬盘上。众所周知,一段时间后,随着这类数据不断积累,Windows的运行速度自然会慢下来,这时Windows 用户要么安装软件,清理掉所有这些垃圾数据;要么定期重装系统,好让启动速度让人觉得焕然一新。实际上,有整个产业致力于销售面向Windows的“清理 工具”。其中一些软件其实就是“披着羊皮”的恶意软件,不过有许多还是相当有用。当然,关键在于弄清楚哪个才是真正优秀的工具。

如 果你使用Linux,那么可能会很庆幸自己没必要处理这类烦心事,不过也别高兴得太早了。虽然Linux不像Windows那么肮脏,但它确实多少得益于 偶尔进行的清理工作。Linux在运行过程中也会生成数据,具体有日志、缓存数据和临时文件。这些额外数据通常并不影响系统的性能。想要清理掉这些数据的 主要原因是,收回占用的硬盘空间。如果你在运行固态硬盘(SSD),这可能是你在乎的方面,因为固态硬盘的容量往往不如我们习惯使用的传统硬盘,所以我们 要密切关注占用的空间,直到大容量固态硬盘的价格降下来一点。下面不妨介绍为清理Linux系统可以采取的几个要点。

清除旧内核

警告!在清除与Linux内核有关的任何东西时,要极其小心!清除错软件包很有可能会导致你的计算机瘫痪,或者完全沦为垃圾!我们可是警告过你了!

每个Linux发行版处理内核管理的方式不一样。有些拥有出色的GUI工具,让你可以选择运行什么内核,比如OpenSUSELinux MintManjaro。而另一些发行版很少或从不更新内核,将手动更新这项任务完全交给了用户。内核相当重要,拥有经过更新的内核是你确保系统安全、远离病毒和黑客的主要手段之一。我在这里会着重介绍Ubuntu,不过鼓励你深入研究一番内核,了解你使用的那个发行版如何处理内核的更新。

Ubuntu将 内核连同系统上的其他一切一块更新,并留下旧内核。内核更新偶尔会导致问题,所以最好保留旧内核。那样万一需要的话,可以恢复到旧内核。问题在 于,Ubuntu完全将旧内核留在那里;一段时间后,最后你的系统上安装了一大堆旧内核。内核及相关文件占用大量空间,多达数百MB。因而,清除旧内核可 以释放好多空间。

在Ubuntu下管理内核的最佳工具是新立得软件包管理器(Synaptic Package Manager)。要是它还没有安装到你的系统上,现在就安装。在你打开该管理器之前,先打开终端,执行这个命令:

  1. uname -r

你应该会看到类似这样的输出结果:

  1. 3.16.0-38-generic

这是目前运行的内核的版本号,需要把它记下来,因为我们想要确保没有对这个内核或随带的任何文件做任何操作。

由 于我们知道了运行什么样的版本,接下来可以打开该管理器,看看有没有任何旧内核在占用空间。想找到内核,只要往搜索框中输入“linux-image”, 然后按已安装版本对列表进行排序。为此,你可以点击软件包列表的标题。即使你只安装了一个版本的内核,也会看到与它一块安装的一大堆文件列了出来。你没必 要将它们逐个清理掉,高亮选中主内核映像软件包,并将它标记为从右击菜单中完全清除,就可以让系统清除与之相关的一切文件。务必要反复核查版本号,确保没 有清除当前版本。要是你按已安装的软件包对列表进行排序,最新的运行中内核应该会出现在列表的最上面。现在可以标记所有的旧内核,不过在你点击“应用”按 钮之前,还需要寻找另一个软件包。

清 空搜索栏,现在搜索一下“linux-headers”。要是它们已安装,你应该会获得一份列表,上面列出了与安装在系统上的内核有关的所有已安装的 Linux标题文件。版本号伴随内核,所以务必要确保你没有清除当前版本的标题文件。实际上,标题文件对于计算机的日常操作而言并非必要,但是如果你想从 源代码编译程序或驱动程序,有标题文件在是好事。它们并不占用太多的空间,所以我总是将运行中内核的标题文件留在系统上。

使用BleachBit

有 一些确实很出色的Linux版程序可以自动检查系统,清除额外文件。我总是使用的一个程序就是BleachBit。它的历史并不短,几乎每一个Linux 发行版上都有它。我用它来清除系统上的任何异常文件还没有遇到过任何问题。BleachBit很轻巧,却提供了一些相当强大的功能特性。我们在此只介绍很 基本的功能,不过需要花点时间才能深入了解它的本领,你完全会觉得一些高级功能很有用。

一 旦你安装好了BleachBit,就会在仪表板或应用程序菜单中看到与它对应的两个条目。一个让你可以以根用户来运行它,另一个以你本人来运行它。以你本 人来运行会清除与你帐户有关的文件,而以根用户来运行会清除缓存软件包和系统日志之类的数据。BleachBit还让你可以清空可能安装在系统上的Web 浏览器、电子邮件客户程序以及插件的缓存内容。这里选择时要小心,因为它会清除掉你的所有已保存密码和设置;如果你想清空一切,这也许没什么,但如果你使 用别人的帐户来运行它,可能会让用户不高兴。我发现,保持其他设置不变,仅仅清空Web浏览器里面的缓存就能收回大量的空间。

以 根用户运行BleachBit让你可以使用APT清理命令,清空你系统上的缓存软件包和更新版。你可以在终端中使用clean、auto clean和auto remove命令,不过在这里全为你做好了。说到终端,BleachBit在这里也可以使用。你可以执行“bleachbit”命令,它就会以你用GUI 配置的预设值来运行。这很好,因为它意味着你可以制作一个Bash脚本,自动清理系统。

对硬盘进行碎片整理

已 经说过好多次:运行Linux的优点之一就是,从来没必要对硬盘进行碎片整理。其实,并非完全如此。大多数普通用户从来没必要为文件碎片整理而操心,因为 碎片现象不会严重到影响旋转硬盘性能的地步。ext4文件系统非常擅长以一种并不进行碎片整理的方式来存储文件。不像Windows上使用的NTFS文件 系统,ext4将数据分散在整个硬盘上,将类似的文件归为一类,以便不用碎片整理,就为文件的增长留出了大量空间。这意味着,你在硬盘上只要有大量的闲置 空间,可能根本不需要进行碎片整理。我的系统运行了两三年,检查硬盘后,发现碎片整理分数为“0”,这表明根本不需要碎片整理。

既然如此,我为何还要费心告诉各位进行碎片整理呢?在一些情况下,你可能需要考虑碎片整理,比如如果你的硬盘开始塞满。已占用空间超过80%的任何ext4旋转硬盘往往会开始对文件进行碎片整理,因为系统将文件分开来,确保空间增加会开始变得更难。引起文件碎片整理的另一种情形是,如果你有一大批非常庞大的文件。如果用户处理大量视频制作、处理大型数据库或虚拟机,最后就会面临一大堆非常庞大的文件。一段时间后,这些文件的碎片现象会变得非常严重,运行碎片整理完全会显著改善硬盘性能。

打开终端,执行这个命令,看看你的系统是否需要碎片整理:

  1. sudo e4defrag / -c

输入密码,程序会迅速分析你的文件系统。如果你有好多文件,这个过程可能需要1分钟,所以耐心点。你应该会看到类似这样的输出结果:

  1. now/best size/ext
  2. 1. /var/log/syslog 3/1 4 KB
  3. 2. /var/log/samba/log.nmbd 2/1 4 KB
  4. 3. /var/log/boot.log 2/1 4 KB
  5. 4. /var/log/auth.log 3/1 5 KB
  6. 5. /var/log/ConsoleKit/history 3/1 10 KB
  7. Total/best extents 128413/128382
  8. Average size per extent 41 KB
  9. Fragmentation score 0
  10. [0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
  11. This directory (/) does not need defragmentation.
  12. Done.

我们关注的主要参数是碎片整理分数。它在这里是0,所以我们没必要为硬盘碎片整理而操心。如果你的主文件夹不在其自己的分区,那么你确实应该将/换成/home,还要检查那里的碎片整理状态。如果你想运行碎片整理程序,只要执行不带-c参数的命令:

  1. sudo e4defrag /

然后,它会检查文件系统,对需要碎片整理的文件进行碎片整理。在这个过程中,会有大量的输出结果滚动显示。要是你系统上有好多文件,这个过程很漫长,所以你可以在晚上上床前让碎片整理程序开始运行,完毕后关闭系统。为此,你可以执行类似这样的命令:

  1. sudo e4defrag / && sudo e4defrag /home && sudo shutdown -h now

如今我通常采取的做法是,在完成安装新系统、将所有文件倒过来之后,运行碎片整理工具。之后,我会偶尔检查一下状态,我发现此后碎片整理分数基本上保持在0。

值得一提的是,你根本没必要对固态硬盘进行碎片整理。事实上,在固态硬盘上执行上述命令通常会弹出一个消息,显示不允许这种操作。只使用固态硬盘的那些人完全可以不用看这一节。

最后说一句:在Linux中对硬盘进行碎片整理后,别指望性能会有大幅提升,因为即使硬盘上有一些碎片文件,ext4也其实擅长于快速运行。切记:ext4在设计当初就考虑到了高输入/输出文件服务器,它非常高效。即使要处理笔记本电脑或台式机,它也不会“气喘吁吁”。

别过分追求干净!

一些计算机用户在确保系统干净、在最高性能下运行到了无以复加的地步。牢记一点:许 多Linux系统在根本没有采取上述措施的情况下运行了好多年。Linux根本不会像Windows或Mac那样慢下来,哪怕长时间使用后也是如此。你想 要清空文件的主要原因是,收回硬盘空间,或者控制完全系统备份的大小。如果你与别人一样喜欢一直试用不同的发行版,很可能最后根本不需要采取任何上述措 施,就因为你在频繁地重装。不过,知道有这样一些工具总归是件好事。

Linux添加/删除用户和用户组

本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数。
1、建用户:
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码

2、建工作组
groupadd test //新建test工作组

3、新建用户同时增加工作组
useradd -g test phpq //新建phpq用户并增加到test工作组

注::-g 所属组 -d 家目录 -s 所用的SHELL

4、给已有的用户增加工作组
usermod -G groupname username

或者:gpasswd -a user group

5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

或者使用如下命令关闭用户账号:
passwd peter –l

重新释放:
passwd peter –u

6、永久性删除用户账号
userdel peter

groupdel peter

usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)

7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP

8、显示用户信息
id user
cat /etc/passwd

更详细的用户和用户组的解说请参考
Linux 用户和用户组详细解说
本文主要讲述在Linux 系统中用户(user)和用户组(group)管理相应的概念;用户(user)和用户组(group)相关命令的列举;其中也对单用户多任务,多用户多任务也做以解说。

本篇文章来源于 PHP资讯 原文链接:http://www.phpq.net/linux/linux-add-delete-user-group.html

Linux 用户(user)和用户组(group)管理概述

、理解Linux的单用户多任务,多用户多任务概念;

Linux 是一个多用户、多任务的操作系统;我们应该了解单用户多任务和多用户多任务的概念;
1、Linux 的单用户多任务;

单用户多任务;比如我们以beinan 登录系统,进入系统后,我要打开gedit 来写文档,但在写文档的过程中,我感觉少点音乐,所以又打开xmms 来点音乐;当然听点音乐还不行,MSN 还得打开,想知道几个弟兄现在正在做什么,这样一样,我在用beinan 用户登录时,执行了gedit 、xmms以及msn等,当然还有输入法fcitx ;这样说来就有点简单了,一个beinan用户,为了完成工作,执行了几个任务;当然beinan这个用户,其它的人还能以远程登录过来,也能做其它的工作。
2、Linux 的多用户、多任务;

有时可能是很多用户同时用同一个系统,但并不所有的用户都一定都要做同一件事,所以这就有多用户多任务之说;

举个例子,比如LinuxSir.Org 服务器,上面有FTP 用户、系统管理员、web 用户、常规普通用户等,在同一时刻,可能有的弟兄正在访问论坛;有的可能在上传软件包管理子站,比如luma 或Yuking 兄在管理他们的主页系统和FTP ;在与此同时,可能还会有系统管理员在维护系统;浏览主页的用的是nobody 用户,大家都用同一个,而上传软件包用的是FTP用户;管理员的对系统的维护或查看,可能用的是普通帐号或超级权限root帐号;不同用户所具有的权限也不同,要完成不同的任务得需要不同的用户,也可以说不同的用户,可能完成的工作也不一样;

值得注意的是:多用户多任务并不是大家同时挤到一接在一台机器的的键盘和显示器前来操作机器,多用户可能通过远程登录来进行,比如对服务器的远程控制,只要有用户权限任何人都是可以上去操作或访问的;
3、用户的角色区分;

用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性;

root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;
4、多用户操作系统的安全;

多用户系统从事实来说对系统管理更为方便。从安全角度来说,多用户管理的系统更为安全,比如beinan用户下的某个文件不想让其它用户看到,只是设置一下文件的权限,只有beinan一个用户可读可写可编辑就行了,这样一来只有beinan一个用户可以对其私有文件进行操作,Linux 在多用户下表现最佳,Linux能很好的保护每个用户的安全,但我们也得学会Linux 才是,再安全的系统,如果没有安全意识的管理员或管理技术,这样的系统也不是安全的。

从服务器角度来说,多用户的下的系统安全性也是最为重要的,我们常用的Windows 操作系统,它在系纺权限管理的能力只能说是一般般,根本没有没有办法和Linux或Unix 类系统相比;
二、用户(user)和用户组(group)概念;
1、用户(user)的概念;

通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折腾,这从计算机安全角度来说是符合操作规则的;

当然用户(user)的概念理解还不仅仅于此,在Linux系统中还有一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;
2、用户组(group)的概念;

用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

举例:我们为了让一些用户有权限查看某一文档,比如是一个时间表,而编写时间表的人要具有读写执行的权限,我们想让一些用户知道这个时间表的内容,而不让他们修改,所以我们可以把这些用户都划到一个组,然后来修改这个文件的权限,让用户组可读,这样用户组下面的每个用户都是可读的;

用户和用户组的对应关系是:一对一、多对一、一对多或多对多;

一对一:某个用户可以是某个组的唯一成员;
多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组;
一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员;
多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解;
三、用户(user)和用户组(group)相关的配置文件、命令或目录;
1、与用户(user)和用户组(group)相关的配置文件;
1)与用户(user)相关的配置文件;

/etc/passwd 注:用户(user)的配置文件;
/etc/shadow 注:用户(user)影子口令文件;
2)与用户组(group)相关的配置文件;

/etc/group 注:用户组(group)配置文件;
/etc/gshadow 注:用户组(group)的影子文件;
2、管理用户(user)和用户组(group)的相关工具或命令;
1)管理用户(user)的工具或命令;

useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令;

groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

3、/etc/skel 目录;

/etc/skel目录一般是存放用户启动文件的目录,这个目录是由root权限控制,当我们添加用户时,这个目录下的文件自动复制到新添加的用户的家目录下;/etc/skel 目录下的文件都是隐藏文件,也就是类似.file格式的;我们可通过修改、添加、删除/etc/skel目录下的文件,来为用户提供一个统一、标准的、默认的用户环境;

[root@localhost beinan]# ls -la /etc/skel/
总用量 92
drwxr-xr-x 3 root root 4096 8月 11 23:32 .
drwxr-xr-x 115 root root 12288 10月 14 13:44 ..
-rw-r–r– 1 root root 24 5月 11 00:15 .bash_logout
-rw-r–r– 1 root root 191 5月 11 00:15 .bash_profile
-rw-r–r– 1 root root 124 5月 11 00:15 .bashrc
-rw-r–r– 1 root root 5619 2005-03-08 .canna
-rw-r–r– 1 root root 438 5月 18 15:23 .emacs
-rw-r–r– 1 root root 120 5月 23 05:18 .gtkrc
drwxr-xr-x 3 root root 4096 8月 11 23:16 .kde
-rw-r–r– 1 root root 658 2005-01-17 .zshrc
/etc/skel 目录下的文件,一般是我们用useradd 和adduser 命令添加用户(user)时,系统自动复制到新添加用户(user)的家目录下;如果我们通过修改 /etc/passwd 来添加用户时,我们可以自己创建用户的家目录,然后把/etc/skel 下的文件复制到用户的家目录下,然后要用chown 来改变新用户家目录的属主;

4、/etc/login.defs 配置文件;

/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;

比如Fedora 的 /etc/logins.defs 文件内容;

# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail 注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 注:用户的密码不过期最多的天数;
PASS_MIN_DAYS 0 注:密码修改之间最小的天数;
PASS_MIN_LEN 5 注:密码最小长度;
PASS_WARN_AGE 7 注:

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 500 注:最小UID为500 ,也就是说添加用户时,UID 是从500开始的;
UID_MAX 60000 注:最大UID为60000;

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 500 注:GID 是从500开始;
GID_MAX 60000

#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local

#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
#
CREATE_HOME yes 注:是否创用户家目录,要求创建;
5、/etc/default/useradd 文件;

通过useradd 添加用户时的规则文件;

# useradd defaults file
GROUP=100
HOME=/home 注:把用户的家目录建在/home中;
INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用;
EXPIRE= 注:帐号终止日期,不设置表示不启用;
SHELL=/bin/bash 注:所用SHELL的类型;
SKEL=/etc/skel 注: 默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;

后记:

关于用户(user)和用户组(group)管理内容大约就是这么多;只要把上面所说的内容了解和掌握,用户(user)和用户组(group)管理就差不多了;由于用户(user)和用户组(group)是和文件及目录权限联系在一起的,所以文件及目录权限的操作也会独立成文来给大家介绍;

kali下PostgreSQL修改密码与配置详解

说明:

      我是用root用户在终端登陆的,如果是非root用户,那在命令前需要加上”sudo”,你懂的…

第一步:在Ubuntu下安装Postgresql

         1.使用 apt-get install 安装
        root@server2-virtual-machine:~# apt-get install -y postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 postgresql-server-dev-9.1 

       [代码说明] 

       安装服务端和命令行客户端psql。等待一段时间,系统会自动从网上下载下安装文件并完成安装第二步:修改PostgreSQL数据库的默认用户postgres的密码(注意不是linux系统帐号)

        2.PostgreSQL登录(使用psql客户端登录)
        root@server2-virtual-machine:~# sudo -u postgres psql        
        //其中,sudo -u postgres 是使用postgres 用户登录的意思
        //PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,所以这里
        //设定为’postgres’
        3.修改PostgreSQL登录密码:
         postgres=# ALTER USER postgres WITH PASSWORD ‘postgres’;
        //postgres=#为PostgreSQL下的命令提示符
       4.退出PostgreSQL psql客户端
        postgres=# \q
       [代码说明]

       ‘#’和’#’之前的字符是系统提示符,’postgres=#’是psql客户端的提示符,红色字符为输入命令(本文其它部分亦如此);
       [功能说明]

        PostgreSQL数据默认会创建一个postgres的数据库用户作为数据库的管理员,密码是随机的,我人需要修改为指定的密码,这里设定为’postgres’

第三步:修改linux系统的postgres用户的密码(密码与数据库用户postgres的密码相同)
       1.删除PostgreSQL用户密码
        root@server2-virtual-machine:~# sudo passwd -d postgres
        passwd: password expiry information changed.
        //passwd -d 是清空指定用户密码的意思
       2.设置PostgreSQL用户密码
       PostgreSQL数据默认会创建一个linux用户postgres,通过上面的代码修改密码为’postgres’(这取决于  
        第二步中的密码,只要与其相同即可)。

         现在,我们就可以在数据库服务器上用 postgres帐号通过psql或者pgAdmin等等客户端操作数据库了。
       root@server2-virtual-machine:~#sudo -u postgres passwd
       输入新的 UNIX 密码:
       重新输入新的 UNIX 密码:
       passwd:已成功更新密码第四步:修改PostgresSQL数据库配置实现远程访问
       root@server2-virtual-machine:~# vi /etc/postgresql/9.1/main/postgresql.conf
         1.监听任何地址访问,修改连接权限
         #listen_addresses = ‘localhost’改为 listen_addresses = ‘*’        
         2.启用密码验证
         #password_encryption = on改为password_encryption = on
         3.可访问的用户ip段
          root@server2-virtual-machine:~# vi /etc/postgresql/9.1/main/pg_hba.conf,并在文档末尾加上以下内容
      
 # to allow your client visiting postgresql server
         host all all 0.0.0.0 0.0.0.0 md5
         4.重启PostgreSQL数据库
         root@server2-virtual-machine:~# /etc/init.d/postgresql restart
       
        
第五步:管理PostgreSQL用户和数据库
           1.登录postgre SQL数据库
          root@server2-virtual-machine:~# psql -U postgres -h 127.0.0.1
           2.创建新用户zhaofeng,但不给建数据库的权限
           postgres=# create user “zhaofeng” with password ‘123456’ nocreatedb;
         //注意用户名要用双引号,以区分大小写,密码不用
           3.建立数据库,并指定所有者
           postgres=# create database “testdb” with owner=”zhaofeng”;
           4.在外部命令行的管理命令
           root@server2-virtual-machine:~# -u postgres createuser -D -P test1
           //-D该用户没有创建数据库的权利,-P提示输入密码,选择管理类型y/n
           root@server2-virtual-machine:~# -u postgres createdb -O test1 db1
           //-O设定所有者为test1

第六步:安装postgresql数据库pgAdmin3客户端管理程序
          root@server2-virtual-machine:~# apt-get install -y pgadmin3
        
       postgresql

postgresql2

PS:如果要在Ubuntu的图形界面启动pgadmin,只需要按下键盘的windows键,在搜索中输入pgadmin,就可以查找到它,点击就可以启动。如果要方便以后使用,可以把它拖到启动器上锁定就行了。

Sublime Text 3 build 3059破解版

Sublime Text 3 build 3059新增的一个比较炫的功能就是可以直接浏览图片,上图:
a

build 3059 的破解与之前的版本有一些不同。就是以前版本的注册机不可以用了,另外,lz0 的keygen也对此版本失效了。
老规矩,拖入immdbg , 看到很多熟悉的code.整个过程也没花多少时间。win32版一搞定,
顺便把win64, linux32, linux64 版全部也给处理了。

好吧,凑齐了,把MAC OSX 版也给加上了。

下载链接:
链接:http://pan.baidu.com/s/1i3oi04H

注册码也附带在里面的,此注册码对各版本(包括win32/64, linux32/64)是通用的。

b

Python 3.X和Python 2.X对比

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Googlesearch了一下3.x2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习Pythonfriends.

1.性能
Py3.0运行 pystone benchmark的速度比Py2.530%Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 
以取得很好的优化结果。
Py3.1性能比Py2.515%,还有很大的提升空间。 
2.编码 Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的: 
>>> 中国 = ‘china’ 
>>>print(中国
china
3. 语法
1)去除了<>,全部改用!= 
2)去除,全部改用repr() 
3)关键词加入as with,还有True,False,None 
4)整型除法返回浮点数,要得到整型结果,请使用// 
5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量 
6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数 
例如:
2.X: print “The answer is”, 2*2
3.X: print(“The answer is”, 2*2)
2.X: print x,                              # 使用逗号结尾禁止换行 
3.X: print(x, end=” “)                     # 使用空格代替换行 
2.X: print                                 # 输出新行 
3.X: print()                               # 输出新行 
2.X: print >>sys.stderr, “fatal error”
3.X: print(“fatal error”, file=sys.stderr)
2.X: print (x, y)                          # 输出repr((x, y)) 
3.X: print((x, y))                         # 不同于print(x, y)! 
7)改变了顺序操作符的行为,例如x<y,当xy类型不匹配时抛出TypeError而不是返回随即的 bool值  
8)输入函数改变了,删除了raw_input,用input代替: 
2.X:guess = int(raw_input(‘Enter an integer : ‘)) # 读取键盘输入的方法 
3.X:guess = int(input(‘Enter an integer : ‘))

9)去除元组参数解包。不能def(a, (b, c)):pass这样定义函数了 
10)新式的8进制字变量,相应地修改了oct()函数。 
2.X的方式如下: 
>>> 0666
438
>>> oct(438)
‘0666’
3.X这样: 
>>> 0666
SyntaxError: invalid token (<pyshell#63>, line 1)
>>> 0o666
438
>>> oct(438)
‘0o666’
11)增加了 2进制字面量和bin()函数 
>>> bin(438)
‘0b110110110’
>>> _438 = ‘0b110110110’
>>> _438
‘0b110110110’
12)扩展的可迭代解包。在Py3.X 里,a, b, *rest = seq和 *rest, a = seq都是合法的,只要求两点:restlist 
对象和seq是可迭代的。 
13)新的super(),可以不再给super()传参数, 
>>> class C(object):
def __init__(self, a):
print(‘C’, a)
>>> class D(C):
def __init(self, a):
super().__init__(a) # 无参数调用super() 
>>> D(8)
C 8
<__main__.D object at 0x00D7ED90>
14)新的metaclass语法: 
class Foo(*bases, **kwds):
pass
15)支持class decorator。用法与函数decorator一样: 
>>> def foo(cls_a):
def print_func(self):
print(‘Hello, world!’)
cls_a.print = print_func
return cls_a
>>> @foo
class C(object):
pass
>>> C().print()
Hello, world!
class decorator可以用来玩玩狸猫换太子的大把戏。更多请参阅PEP 3129 
4. 字符串和字节串
1)现在字符串只有str一种类型,但它跟2.x版本的unicode几乎一样。

2)关于字节串,请参阅“数据类型”的第2条目 
5.数据类型
1Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long 
2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下: 
>>> b = b’china’
>>> type(b)
<type ‘bytes’>
str对象和bytes对象可以使用.encode() (str -> bytes) or .decode() (bytes -> str)方法相互转化。 
>>> s = b.decode()
>>> s
‘china’
>>> b1 = s.encode()
>>> b1
b’china’
3dict.keys().items .values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 
dict.has_key(),用 in替代它吧 
6.面向对象 1)引入抽象基类(Abstraact Base ClassesABCs)。 
2)容器类和迭代器类被ABCs化,所以cellections模块里的类型比Py2.5多了很多。 
>>> import collections
>>> print(‘\n’.join(dir(collections)))
Callable
Container
Hashable
ItemsView
Iterable
Iterator
KeysView
Mapping
MappingView
MutableMapping
MutableSequence
MutableSet
NamedTuple
Sequence
Set
Sized
ValuesView
__all__
__builtins__
__doc__
__file__
__name__
_abcoll
_itemgetter
_sys
defaultdict
deque
另外,数值类型也被ABCs化。关于这两点,请参阅 PEP 3119PEP 3141。 
3)迭代器的next()方法改名为__next__(),并增加内置函数next(),用以调用迭代器的__next__()方法 
4)增加了@abstractmethod和 @abstractproperty两个 decorator,编写抽象方法(属性)更加方便。 
7.异常
1)所以异常都从 BaseException继承,并删除了StardardError 
2)去除了异常类的序列行为和.message属性 
3)用 raise Exception(args)代替 raise Exception, args语法 
4)捕获异常的语法改变,引入了as关键字来标识异常实例,在Py2.5中: 
>>> try:
…    raise NotImplementedError(‘Error’)
… except NotImplementedError, error:

…    print error.message

Error
Py3.0中: 
>>> try:
raise NotImplementedError(‘Error’)
except NotImplementedError as error: #注意这个 as 
print(str(error))
Error
5)异常链,因为__context__3.0a1版本中没有实现 
8.模块变动
1)移除了cPickle模块,可以使用pickle模块代替。最终我们将会有一个透明高效的模块。 
2)移除了imageop模块 
3)移除了 audiodev, Bastion, bsddb185, exceptions, linuxaudiodev, md5, MimeWriter, mimify, popen2,  
rexec, sets, sha, stringold, strop, sunaudiodev, timingxmllib模块 
4)移除了bsddb模块(单独发布,可以从http://www.jcea.es/programacion/pybsddb.htm获取
5)移除了new模块 
6os.tmpnam()os.tmpfile()函数被移动到tmpfile模块下 
7tokenize模块现在使用bytes工作。主要的入口点不再是generate_tokens,而是 tokenize.tokenize() 
9.其它 1xrange() 改名为range(),要想使用range()获得一个list,必须显式调用: 
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2bytes对象不能hash,也不支持 b.lower()b.strip()b.split()方法,但对于后两者可以使用 b.strip(b’  
\n\t\r \f)b.split(b’ ‘)来达到相同目的 
3zip()map()filter()都返回迭代器。而apply()、 callable()coerce()、 execfile()reduce()reload 
()函数都被去除了

现在可以使用hasattr()来替换 callable(). hasattr()的语法如:hasattr(string, ‘__name__’)

4string.letters和相关的.lowercase.uppercase被去除,请改用string.ascii_letters 等 
5)如果x < y的不能比较,抛出TypeError异常。2.x版本是返回伪随机布尔值的 
6__getslice__系列成员被废弃。a[i:j]根据上下文转换为a.__getitem__(slice(I, j))或 __setitem__和 
__delitem__调用 
7file类被废弃,在Py2.5中: 
>>> file
<type ‘file’>
Py3.X中: 
>>> file
Traceback (most recent call last):
File “<pyshell#120>”, line 1, in <module>
file
NameError: name ‘file’ is not defined

linux(centos5)中配置vsftpd教程 –修改版

对着做绝对不会出错,出错的话肯定是你哪个步骤的问题!下面的代码我已经测试过10多次

主要步骤为:

1  生成虚拟用户口令库文件

2  配置生成vsftpd的认证文件

3  建立虚拟用户所要访问的目录并设置相应权限

4  建立配置文件

========= 开始前:

关闭匿名用户登陆和匿名用户上传、创建目录权限 然后在文件尾部添加 #设置被动模式的端口变化范围

1  生成虚拟用户口令库文件

此文本文件的格式为:奇数行为用户名,偶数行为口令 使用db_load命令生成口令库文件 vi dbuser.sh,添加以下代码

然后

然后保存退出,并执行以下命令 ./dbuser.sh chmod 755 dbuser.sh 2  编译生成虚拟用户所需的PAM配置文件 vi /etc/pam.d/vsftpd 注释掉原来的所有内容,然后再底部添加

3  建立虚拟用户所要访问的目录并设置 mkdir userconf vim userconf/test  添加以下代码

=================================常见错误解决方案============================

0、500 OOPS: missing value in config file

这个一定以及肯定是配置文件问题!!!!检查你新更改或者添加的配置文件是否存在空格或者空行!!!!这个不容易看出来,自己检查吧!!找到后一定要去掉,然后重启vsftpd即可!
1、 550 Create directory operation failed
这个往往是SELinux搞的鬼,SELinux(Security-Enhanced Linux—-是美国国家安全局对于
强制访问控制的实现, 是Linux 上最杰出的新安全子系统.) 只要disable SELinux就可以了
.(简单吧! 一个小问题搞得我废寝忘食)

问题即可解决!
2、
localhost可以连接FTP ,其他机器不可以连接(例如宿主机)
这一般就是iptables的问题,暂时关闭iptables试试,如果关闭后可以连接,那就是防火墙
问题了
关闭防火墙命令:

PHP5.3、PHP5.4安装ZendOptimizer

现在很多PHP程序都需要ZendOptimizer环境,但是ZendOptimizer在PHP5.2之后已经被支持,那怎么办,Zend也不会这么做,原来PHP5.3开始ZendOptimizer正式改为Zend Guard Loader。

Zend Guard Loader的发布,而且Zend Optimizer不会再更新,并且由于差异很大使用Zend Guard加密代码时将提示你是否使用php5.3,如果使用5.3那么代码就无法在php5.2上运行。

Zend Guard Loader安装说明
1。下载Zend Guard Loader包。(官方地址:http://www.zend.com/en/products/guard/downloads)

Linux:
x86:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
x64:http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

Windows:

http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-Windows.zip
2. 并提取ZendGuardLoader.so(Linux)或ZendLoader.dll(Windows)上传到服务器。

3. 加载ZendGuardLoader,配置PHP.INI
例子:
zend_extension=C:\web\PHP\ext\ZendLoader.dll
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
下面逐一说明:

注意windows版的只支持NTS(非线程安全)版的PHP5.3,即phpinfo中Thread Safety为disabled的!

在你的php.ini文件中添加以下行:

Linux和Mac OS X:zend_extension=
Windows的非线程安全的:zend_extension=
4. 添加下面这行加载ZendGuardLoader:

;启用加载编码脚本。默认开启
zend_loader.enable=1
5. 可选:配置ZendGuardLoader

;禁用检查授权(出于性能原因)
zend_loader.disable_licensing=0
;配置混淆水平 0 – 不支持混淆
zend_loader.obfuscation_level_support=3
;配置寻找授权文件的路径
zend_loader.license_path=
6. 如果你同时使用Zend debugger,请保证加载Zend guard Loader后再加载Zend debugger

7. 如果你同时使用Ioncube loader,请保证加载Ioncube loader后再加载Zend guard Loader

8. 重启Web服务。

如果在phpinfo中看到如下内容(不同的版本可能会有所不同):

This program makes use of the Zend Scripting Language Engine:Zend Engine v2.4.0, Copyright (c) 1998-2011 Zend Technologies
说明安装已经成功!

Fckeditor上传漏洞汇总

伴随着这次Fckeditor新爆出来的一个漏洞,我来写个小总结,如有不全欢迎大家进行补充。仅关注上传漏洞,列目录、XSS什么的不在讨论之列。

1.ASP版

asp一般是搭在windows主机上,webserver一般为IIS6/IIS7/IIS7.5。具我现在所知,asp版的fckeditor已经可以全秒了

<2.4.x版本(也就是2.4.x及以下)的File参数时为黑名单验证,可以通过上传.asa,.cer,.asp;jpg(针对IIS6),如果asa、cer不被解析,还可以传.asp[空格],传的方法就是抓包,在数据包里的文件名后填个空格。

2.5.x和2.6.x:如果是IIS6.0 ,可以通过新建shell.asp文件夹方式的绕过。代码类似

复制代码然后往这个文件夹里传jpg,这个不多说了

如果是IIS7及以上,这种方法就傻逼了。这个时候可以借助刚爆出来的那种方法,先传shell.asp%00txt,然后再传一次。

至此、asp版本已经全秒了

2.aspx版

低版本同ASP版,2.6.x用刚爆出来的二次上传已经不好使了,不过新建test.asp的文件夹还可以使,一般IIS6.0会支持asp,可以先传个asp上去。然后再XX

3.php版

1.低版本(2.4.x及以下),仍然为黑名单验证,windows主机可以使用php[空格]传,2.4.3的有个media未设置导致任意文件上传可以秒linux。

2.2.5.x以后是白名单验证,仅能寄希望于wooyun里爆的那个<2.6.4的任意文件上传,成功率有限

3.2.6.4以上的php版,据我所知没戏。。求高人指点。我粗略的看了一下它的验证逻辑,表示没戏。windows里的敏感字符全给过滤了。。

大致这几种,欢迎补充交流。附一个python版的利用代码(写的比较早,新出的那个上传我还没实现),大家可以随便修改,但是修改后的无bug版请共享个、~

DownLoad: fck1.rar

利用方法很简单,参数为:http://xxx.com/xxx/fckeditor/,大家应该可以看懂的吧,我就不改了。

摘自:https://forum.90sec.org/viewthread.php?tid=4560&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

BackTrack5 升级Metasploit至Git更新的方法

由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新,但是新版本的MSF已经停止通过SVN更新,改用Git,必须重新安装。网上找了很多办法,看见帖子里明明升级成功,但是自己总是不成功,卡在pg (0.15.0)无法成功安装,个人认为的原因是MSF并没有用BT5内置的RUBY,而是利用自带的RUBY,其自带的版本为1.9.1,已经很古老了……所以升级系统的Ruby版本也会无济于事,但是按照下面的步骤更新,即可将MSF更新至最新,且在运行msfupdate时,利用的是Git更新系统了。

实测,完美通过,不会再卡在pg (0.15.0)无法成功安装那里。

关于backbox,升级以后发现不能正常使用

我们只需要更新源为BT5的就可以了,在file system中找到 /etc/apt/source.list 更改这个。
在这个文件上按右键 用编辑器打开,清空所有内容后,将以下内容复制进去。

如果你用的是64位系统,请将上面代码中的32改为64在复制进去。复制好后别忘了点save,然后就可以关闭了。然后输入

更新完毕后MSF就可以启动了

kali linux安装之后

因为kali linux基于debian 7,理所当然的把这台笔记本里的debian 7删掉装kali,哈哈,这下不必为了BT5装虚拟机了。要把kali当做(临时)桌面使用,就必须给kali添加一些软件才好用,下面记录一下备忘,随时更新。
安装方法,官方文档,硬盘安装Kali Linux

用apt-get upgrade更新系统时出现“The following packages have been kept back”时用下面这个命令:
apt-get dist-upgrade
安装中文字体和五笔拼音输入法:
apt-get install fcitx-table-wbpy ttf-wqy-microhei ttf-wqy-zenhei
安装Flash插件:
apt-get install flashplugin-nonfree
update-flashplugin-nonfree –install
安装原版Firefox方法:
Firefox已经更新到20,我很喜欢它的新下载管理器,可惜iceweasel版本还是停留在18.01,so。。。
apt-get remove iceweasel
echo -e “\ndeb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main” | sudo tee -a /etc/apt/sources.list > /dev/null
apt-key adv –recv-keys –keyserver keyserver.ubuntu.com C1289A29
apt-get update
apt-get firefox-mozilla-build
安装几个我常用的小工具,秒杀top的htop,完美解压分段压缩包的原版rar,很好用的下载工具aria2:
apt-get install htop rar aria2 
Deb包图形安装工具:
apt-get install gdebi
压缩文件管理工具:
apt-get install file-roller
Gnome3优化设置工具:
apt-get install gnome-tweak-tool
新立得,用过老版ubuntu的都知道:
apt-get install synaptic

安装Ubuntu软件中心Software Center:

apt-get install software-center
Netspeed,可以显示当前网络上传下载速度的GNOME applet:
apt-get install netspeed
Alt+鼠标右键选择Add to Panel
Python类工具需要:
apt-get install python-dev python-vte python-appindicator
Armitage是metasploit的图形界面,适合新手搞研究:
apt-get install armitage
Postgresql和metasploit开机时自动启动:
update-rc.d postgresql enable && update-rc.d metasploit enable
fern-wifi-cracker更新后无法启动,解决方法是:
chmod +x /usr/share/fern-wifi-cracker/execute.py
在使用minidwep-gtk类软件搞研究前,要先停用network-manager,不停用的话扫不到几个信号,虚拟机用户应该没有这个烦恼:
#/etc/init.d/network-manager stop
如果自行添加menu后,Kali Linux菜单项消失,解决方法是:
rm ~/.config/menus/gnome-applications.menu
解决chrome在root帐号中无法使用:
#vi /opt/google/chrome/google-chrome
在最后一行尾加入 –user-data-dir
===============================================================
We don’t want bug-buddy intercepting our crashes. http://crbug.com/24120
export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME
exec -a “$0” “$HERE/chrome”  “$@” –user-data-dir
===============================================================
大家都知道chrome dev版更新很频繁,每次upgrade后都要修改一次很麻烦,用下面之个脚本就省事点了。
=====================================================================================
#!/bin/bash
sed -i ‘$c\exec -a “$0” “$HERE/chrome”  “$@” –user-data-dir’ /opt/google/chrome/google-chrome
=====================================================================================
安装nVidia显卡驱动:
wget http://mirrors.sohu.com/debian/pool/non-free/n/nvidia-graphics-drivers/nvidia-glx_304.64-4_amd64.deb
wget http://mirrors.sohu.com/debian/pool/non-free/n/nvidia-graphics-drivers-legacy-173xx/nvidia-glx-legacy-173xx_173.14.35-4_amd64.deb
wget http://mirrors.sohu.com/debian/pool/non-free/n/nvidia-graphics-drivers-legacy-71xx/nvidia-glx-legacy_71.86.15-3_amd64.deb
sudo dpkg -i *.deb
sudo apt-get install -f

自动登录SSH服务器脚本:
=====================================================================================
#!/usr/bin/expect -f
set timeout 30
set dname .DOMAINNAME
set hname [lindex $argv 0]
spawn ssh -lUSERNAME -N -D 7070 $hname$dname
expect “password:”
send “PASSWORD\r”
interact
=====================================================================================
蓝色部分修改成个人的ssh服务器域名,用户名,密码。执行时脚本名加主机名参数,方便更新主机,这下不用怕复杂的密码了。
例如:
root@debian:~# ./ssh.sh s39
spawn ssh -lss1 -N -D 7070 s39.flyssh.net
ss1@s39.flyssh.net’s password:

解决xbmc卡死:
有时用xbmc看视频会莫名其妙的卡死,按“”键无法退出全屏界面,这时就按Ctrl+Alt+F1切换一个终端,执行下面这个脚本杀掉xbmc和xbmc.bin两个进程,再按Ctrl+Alt+F7切回X。

=====================================================================================

#!/bin/bash
ps1=ps aux | grep xbmc | sed -n 1p | awk '{print $2}'
ps2=ps aux | grep xbmc | sed -n 2p | awk '{print $2}'
kill -9 $ps1 $ps2
=====================================================================================
或者直接用pkill:
root@debian#pkill xbmc.bin
安装Python3 OpenSSL:
解压后执行python3 setup.py install
默认主题看着不爽:
那就换一个,顺便把字体和图标一起换换。

中文显示效果。

Kali虚拟机安装VMware Tools

我们建议你自己创建一台Kali Linux的VMware虚拟机,而不是使用我们预先提供的VMware镜象,进行如下的操作以便在Kali虚拟机成功安装VMware Tools.你可以选择安装open-vm-tools,或自带的VMWare tools.

安装open-vm-Tools

这可能是在Kali虚拟机里实现”VMware Tools”功能最容易的方法.

在Kali里安装VMware Tools

如果open-vm-tools不能用,或者你更偏向于使用VMware Tools,开始安装一些VMware Tools安装器需要的包:

下一步,通过点击菜单里的”Install VMware Tools”挂载VMware Tools的ISO.虚拟机的光驱连接到VMware Tools ISO后,我们挂载驱动器然后复制VMware Tools安装器到/tmp/目录下

最后,进到/tmp/目录,解压缩然后开始安装:

照着上面的命令,VMware Tools就安装好了.

VMware里鼠标移动很慢

如果在Kali Linux的VMware虚拟机里,你的鼠标移动很慢或者反应很迟钝.尝试在Kali虚拟机里安装xserver-xorg-input-vmmouse这个包.

VMWare Tools不能编译!

这是个经常折磨我们不幸的事实,例如Kali Linux用了VMware还没有支持的太新的内核.有时,可能需要在VMware社区寻找”兼容的VMware Tools补丁”.

已知问题

截自2013年3月2日为止.VMware Tools已经在3.7内核编译通过,除了共享文件夹模块不能正常工作外.已经有补丁可以解决这个问题.

BackTrack5 升级Metasploit至Git更新的方法

由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新,但是新版本的MSF已经停止通过SVN更新,改用Git,必须重新安装。网上找了很多办法,看见帖子里明明升级成功,但是自己总是不成功,卡在pg (0.15.0)无法成功安装,个人认为的原因是MSF并没有用BT5内置的RUBY,而是利用自带的RUBY,其自带的版本为1.9.1,已经很古老了……所以升级系统的Ruby版本也会无济于事,但是按照下面的步骤更新,即可将MSF更新至最新,且在运行msfupdate时,利用的是Git更新系统了。
1、apt-get update
2、apt-get install metasploit
3、修改文件:/opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/rbconfig.rb
changed the line => CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static” by => CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) “(其实就是去掉-l$(RUBY_SO_NAME)-static)
4、切换至/opt/metasploit/msf3然后运行/opt/metasploit/ruby/bin/bundle install
5、msfupdate
实测,完美通过,不会再卡在pg (0.15.0)无法成功安装那里。

    

BackTrack 5 R3 GNome全面汉化、装中文输入法、升级到Ubuntu 10.10完美教程

昨天折腾了一天,终于把BackTrack 5 R3全面汉化、装中文输入法、升级到Ubuntu 10.10了,其中有很多细节的东西需要注意,教程开始,KDE版本类似。

为了防止升级后进不了BackTrack5,请先解决”piix4_smbus host smbus controller not enabled” 错误
虚拟机没有SMBus,但BackTrack 5在启动时试图加载这个模块会产生”piix4_smbus host smbus controller not enabled” 错误。

root@bt:~# nano /etc/modprobe.d/blacklist.conf

增加一行:
blacklist i2c_piix4

BackTrack 5 R1 GNome全面汉化、装中文输入法、升级到Ubuntu 10.10完美教程 - 学海溺客 - 宿舍just for rest

一、汉化篇
1、BT5R1-GNOME-VM-32.7z默认是英文(en_US)环境,我们需要改变一下本地设置

BackTrack 5 R1 GNome全面汉化、装中文输入法、升级到Ubuntu 10.10完美教程 - 学海溺客 - 宿舍just for rest

修正语言设置
root@bt:~# nano /etc/default/locale

BackTrack 5 R1 GNome全面汉化、装中文输入法、升级到Ubuntu 10.10完美教程 - 学海溺客 - 宿舍just for rest

2、更换BackTrack 5和Ubuntu更新源

root@bt:~# cp /etc/apt/sources.list /etc/apt/sources.list.bak

root@bt:~# nano /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/backtrack/sourcerevolution main microverse non-free testing
deb http://mirrors.ustc.edu.cn/backtrack/allrevolution main microverse non-free testing
deb http://mirrors.ustc.edu.cn/backtrack/32revolution main microverse non-free testing
deb http://all.repository.backtrack-linux.orgrevolution main microverse non-free testing
deb http://32.repository.backtrack-linux.orgrevolution main microverse non-free testing
deb http://source.repository.backtrack-linux.orgrevolution main microverse non-free testing

#163网易 Ubuntu 10.10 源
deb http://mirrors.163.com/ubuntu/maverick main restricted universe multiverse
deb maverick-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/maverick-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/maverick-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/maverick-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/maverick main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/maverick-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/maverick-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/maverick-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/maverick-backports main restricted universe multiverse

3、更新源列表

root@bt:~# apt-get update

4、升级BackTrack 5到Ubuntu 10.10

root@bt:~# apt-get upgrade

5、升级完后开始装Ubuntu一些常用软件和汉化、输入法组件

root@bt:~#apt-get install  synaptic language-pack-gnome-zh  language-support-zh  language-pack-gnome-zh-base gnome-system-tools language-pack-zh language-pack-zh-base language-selector  gnome-utils tsclient vinagre update-manager software-center

10多分钟基本上就装好了,但是要注意看下有没有错误,要是有错误组件的话,请用autoremove卸载,之前安装的时候一直有rubygems组件升级有错,所以:

root@bt:~#apt-get autoremove rubygems1.8 rubygems

就行了。

最后重启!基本上就能看见汉化的效果了

BackTrack 5 R1 GNome全面汉化、装中文输入法、升级到Ubuntu 10.10完美教程 - 学海溺客 - 宿舍just for rest

最后,你可以在软件中心里面添加自己喜欢的软件,Enjoy It~~

http://hi.baidu.com/adomore/item/87015a659fe9fc1c7ddecc9d

linux下使用lftp的小结

今天在解决一个远程服务器备份的问题时,用到了lftp的相关知识。整理如下:

lftp的功能比较强大,相比原来用ftp,方便了很多。

1、登陆:

lftp

pwd:*****

或 open

2、基本操作(转)

lftp使用介绍lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。
命令行语法
要看lftp的命令行语法,只要在shell中输入lftp –help
lftp [OPTS]
‘lftp’是在 rc 文件执行后 lftp 执行的第一个命令
-f 执行文件中的命令后退出
-c 执行命令后退出
–help 显示帮助信息后退出
–version 显示 lftp 版本后退出
其他的选项同 ‘open’ 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口
主机名, URL 或书签的名字
如果在命令行中输入的站点名称,lftp将直接登录站点,比如
$lftp ftp://………….
如果在命令行不输入站点名称,则必须在进入到lftp界面后用open命令打开
[yhj@ccse-yhj yhj]$ lftp
lftp :~> open ftp://……………….
常用命令
* 下载单个文件和一组文件,断点续传用-c参数
lftp …………….:/> get -c ls-lR.txt
lftp ……………:/> mget *.txt
* 镜像(反镜像即上传)一个目录,可以用多个线程并行镜像一个目录(–parallel=N)
lftp …………….:/> mirror incoming local_name
lftp …………….:/> mirror -R local_name
lftp …………….:/> mirror –parallel=3 incoming local_name
* 多线程下载,类似网络蚂蚁的功能;缺省是5个线程
lftp …………….:/> pget -n 4 ls-lR.txt
* 后台任务管理
缺省情况下,按 Ctrl+z,正在执行的任务将转为后台执行,也可以在命令行末尾加&符号使任务在后台执行。用jobs命令可以查看所有的后台进程。用queue命令可以排队新的任务。如果退出lftp是还有任务在后台执行,lftp将转为后台执行。
* 其它用法
lftp支持类似bash的管道操作,例如用下面的命令可以将ftp服务器上的特定目录下(也可以是整个站点)所有文件的大小存到本地的文件ls.txt中
lftp …………….:/> du incoming > ls.txt
相关文件
/etc/lftp.conf
全局配置文件,实际位置依赖系统配置文件目录,可能在/etc,也可能在/usr/local/etc
~/.lftp/rc, ~/.lftprc
用户配置文件,将在/etc/lftp.conf之后执行,所以这里面的设置会覆盖/etc/lftp.conf中的设置。
lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在 ~/.lftprc 里写入一行
debug 3
就可以看到出错信息了。
更多的配置选项请查man手册或在lftp界面内用命令 set -a 获得。
~/.lftp/log
当lftp转为后台非挂起模式执行时,输出将重定向到这里
~/.lftp/bookmarks
这是lftp存储书签的地方,可以lftp查看bookmark命令
~/.lftp/cwd_history
这个文件用来存储访问过的站点的工作目录

~/.lftprc
在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码
^_^不用慌,这是由于服务器和本地编码不一致造成的。我们只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc
并在其中加入以下内容:
debug 3set ftp:charset GBKset file:charset UTF-8#set ftp:passtive-mode no#alias utf8 ” set ftp:charset UTF-8″#alias gbk ” set ftp:charset GBK”
登录ftp服务器
言归正传,我们先来看看怎么登录ftp服务器
lftp ftp://user:password@site:port
lftp user:password@site:port
lftp site -p port -u user,password
lftp site:port -u user,password
上面的几种方式都能正常工作,不过密码都是明文,这样好像不太安全哦。没关系
lftp user@site:port
系统会提示输入password,密码就回显为******了
不过每次都输入这么多,好麻烦哦。 如果有类似leapftp的站点管理器就好了,其实lftp早就给我们想好了: 这就是bookmark。后面我们将会看到。
常用命令
在终端运行
man lftp
或登录ftp后输入
help
就可以看到命令列表
下面我们看一下lftp常用的命令:
ls
显示远端文件列表(!ls 显示本地文件列表)。
cd
切换远端目录(lcd 切换本地目录)。
get
下载远端文件。
mget
下载远端文件(可以用通配符也就是 *)。
pget
使用多个线程来下载远端文件, 预设为五个。
mirror
下载/上传(mirror -R)/同步 整个目录。
put
上传文件。
mput
上传多个文件(支持通配符)。
mv
移动远端文件(远端文件改名)。
rm
删除远端文件。
mrm
删除多个远端文件(支持通配符)。
mkdir
建立远端目录。
rmdir
删除远端目录。
pwd
显示目前远端所在目录(lpwd 显示本地目录)。
du
计算远端目录的大小
!
执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)
lcd
切换本地目录
lpwd
显示本地目录
alias
定义别名
bookmark
设定书签。
exit
退出ftp
快捷书签
补充作者:aBiNg
ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。

3、mirror 同步镜像,备份服务器文件

今天主要的问题是解决如何备份服务器端文件的问题。了解了mirror指令的用法后,发现比较适合而且好用。

基本使用方法:

1)、下载服务器端文件:

# mirror –vn RCD LCD   //RCD为远程路径,LCD为本地路径

2)、上传文件:

# mirror –R LCD RCD

下附一个自动同步的脚本:

#!bin/bash
echo “script start at  date ”+%Y-%m-%d %H:%M:%S”
HOST=”hostname”
USER=”yourname”
PASS=”password”
LCD=”LocalePath”
RCD=”RemotePath”
/usr/sbin/lftp << EOF
open $PASS@$HOST
mirror $RCD $LCD
EOF
echo “script end at “ 
date ”+%Y-%m-%d %H:%M:%S”

P.S:

昨天刚到,今天立马开工干活,还是有点压力的,但有压力是好事,督促自己努力加油!

认真思考总结,才能更好更快的成长!

多思考,多总结,快乐成长!