<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sonntit&#039;s Blog</title>
	<atom:link href="http://sonntit.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sonntit.wordpress.com</link>
	<description>Sống để đi tìm hạnh phúc và đó là một quá trình ...</description>
	<lastBuildDate>Wed, 26 Aug 2009 03:35:48 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='sonntit.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/3b5ff4897de6e632eb0c98bb32efd164?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Sonntit&#039;s Blog</title>
		<link>http://sonntit.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sonntit.wordpress.com/osd.xml" title="Sonntit&#039;s Blog" />
	<atom:link rel='hub' href='http://sonntit.wordpress.com/?pushpress=hub'/>
		<item>
		<title>… Tam su cua ai kia …</title>
		<link>http://sonntit.wordpress.com/2009/08/26/%e2%80%a6-tam-su-cua-ai-kia-%e2%80%a6/</link>
		<comments>http://sonntit.wordpress.com/2009/08/26/%e2%80%a6-tam-su-cua-ai-kia-%e2%80%a6/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 03:35:48 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/26/%e2%80%a6-tam-su-cua-ai-kia-%e2%80%a6/</guid>
		<description><![CDATA[Bây giờ tôi cũng chẳng biết ngày xưa tại sao tôi yêu nguyễn (cách gọi thân thiết của tôi dành cho anh) và cũng không còn nhớ tình yêu của tôi với nguyễn bắt đầu như thế nào.tôi nghe nguyễn hát hồi tôi chỉ là một thằng nhóc, một thằng nhóc vắt mũi chưa sạch [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=243&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Bây giờ tôi cũng chẳng biết ngày xưa tại sao tôi yêu nguyễn (cách gọi thân thiết của tôi dành cho anh) và cũng không còn nhớ tình yêu của tôi với nguyễn bắt đầu như thế nào.<br />tôi nghe nguyễn hát hồi tôi chỉ là một thằng nhóc, một thằng nhóc vắt mũi chưa sạch thì làm sao cảm nhận được ca từ và chất giọng của một ca sỹ. vì thế nên tôi không thể biết bằng cách nào tôi lại yêu được nguyễn từ thửa học trò. nếu nói đó là trào lưu như người ta yêu các ca sỹ trẻ đang nổi, chắc chắn không, vì hồi đó ở quê tôi làm gì có khái niệm trào lưu hay phong cách nghe nhạc, những thằng như tôi nhiều lắm cũng chỉ chuyền tay cho nhau những cuôịn băng đài rỷ sét ráp nối bằng nhựa lá khoai lang . chẳng dám mơ gì đến một CD gốc cáu kỉnh và một dàn âm thanh tiêu chuẩn để cảm nhận nguyễn hát<br />nhưng rồi tình yêu cứ lớn dần lên theo năm tháng, dạo đó cứ có tiền là tôi lại đi tìm mua băng của nguyễn. những bài hát cứ lặp đi lặp lại trong băng này rồi băng kia, để có được vài chục bài hát của nguyễn, có khi phải mua tới 7, 8 cuốn băng. nguyễn ngày xưa không được như những ca sỹ khác. anh không có điều kiện phát hành album riêng ở việt nam mà đa số các bài hát của anh đều sao chép từ các cuộn băng lậu, vì vậy nên số lượng bài hát của anh ở việt nam rất ít. còn hình ảnh của nguyễn, tôi dạo đó cũng có rất nhiều, tất cả đều cắt từ bìa của các cuốn băng, cất riêng vào tập như những thằng nhóc học đòi hâm mộ ca sỹ khác. cho đến khi tôi rời quê đi ra thành phố học đại học, tình yêu của tôi dành cho nguyễn vẫn không hề suy chuyển, dạo ấy tôi thường lang thang trên net tìm kiếm những hình ảnh và thông tin về nguyễn, in thành một tập tư liệu dày, tôi cất riêng thành một catalo của riêng mình. khi đó tôi cũng không còn là một thằng nhóc, chưa hẳn đã lớn nhưng tôi đã bắt đầu cảm nhận phần nào được nhạc của nguyễn, nhưng thú thực là tôi vẫn không định nghĩa được tại sao tôi yêu nguyễn.<br />sau những lần tìm kiếm trên mạng, tôi đã có được rất nhiều thông tin của nguyễn và gia đình anh, dần dần tôi hiểu ra nhiều mỗi lần nghe nhạc của anh, mỗi bài hát mà anh viết đều có một ý nghĩa riêng, một sự tính riêng. cũng giống như Nol, tôi biết đến 4rùm của những người yêu nguyễn một cách thật tình cờ. tôi đã vui mừng biết bao khi tìm được một cộng đồng chung hướng tới nguyễn, chia sẻ âm nhạc và cùng sát cánh bên nguyễn, lúc đó tôi đã cảm thấy thật hạnh phúc khi tìm ra được mái nhà của mình. <br />nhưng rồi jimmii fc cũng không nằm ngoài quy luật sinh diệt của giới ảo, những cuộc cãi vã, những bài viết thiếu tích cực và các nhóm nhỏ thành viên bắt đầu phân hóa, tổ chức lại thành nhóm đấu đá tạo thế lực riêng. cuối cùng sau hơn 2 năm hoạt động diễn đàn ấy bị sập, sập hẳn. rồi một số người cốt cán trong diễn đàn lại cùng nhau xây dựng một ngôi nhà mới, nhưng sự mặn mà của thửa xưa không còn nữa, các member thân thuộc bỏ gần hết. sinh viên &#8211; điều kiện lúc đó không cho phép tôi đi hàng trăm cây số để họp offline cùng anh em. tôi chỉ nghe những người bạn của tôi kể lại là nguyễn cũng rất buồn, anh muốn gắn kết mái nhà xưa lại nhưng không thành. diễn đàn mới cũng chỉ tồn tại được 4 tháng rồi die, tôi hoang mang, bơ vơ mỗi lần online không biết đi về đâu. rồi tôi ra hà nội, đi chơi cũng những người bạn cũ, những người &#8220;bất mãn với chế độ&#8221;, cùng hàn huyên tâm sự, họ cũng mở riêng cho mình một căn phòng nhỏ, đó là nhóm Jim FG (jimmii nguyễn Fan Group) , cách nói chuyện và những suy nghĩ của họ khiến tôi có cái nhìn hơi khó chịu về nguyễn, không, tôi cũng kông biết khó chịu về nguyễn hay khó chịu về cách họ nói nguyễn. nhưng tôi vẫn yêu nguyễn, không mảy may suy chuyển tình yêu của tôi dành cho anh. tôi bắt đầu ít nghe nguyễn hát hơn, chỉ khi thật buồn tôi mới tìm đến nguyễn, cố quên đi điều mà bạn tôi nói với tôi về nguyễn. tôi không tin và tôi không muốn tin, tôi không quan tâm và tôi không muốn quan tâm cuộc sống riêng của nguyễn, tôi tự động viên mình rằng tôi yêu nhạc của anh, thế là quá đủ. và tôi vẫn mơ một lần được nghe nguyễn hát, được nói chuyện với nguyễn gặp nguyễn ngoài đời.<br />rồi dòng cuộc sống đưa tôi vào sài gòn, thành phố mà nguyễn chọn để về nước xây dựng sự nghiệp. một Fan cuồng nhiệt của nguyễn, một con nhóc, bé tuổi hơn tôi nhiều nhưng tình yêu dành cho nguyễn chắc hẳn hoàn mỹ hơn tôi &#8211; mời tôi đi nghe nguyễn hát. ngồi cạnh nguyễn, nghe lại những bài cũ rích của nguyễn, vẫn con người ấy, chất giọng ấy nhưng sao tôi thấy tội nghiệp nguyễn quá. anh còn cố làm gì khi đưa nghệ thuật phục vụ cho những kẻ xa lạ trong cái phòng trà đó, họ chỉ nhìn anh với con mắt của một ca sỹ , một kẻ &#8220;xướng ca vô loài &#8221; trên sân khấu, những bộ ngực hở hang, những điếu xì gà đắt đỏ, ngồi đây đơn giản để nghe và nhìn con người nguyễn giống như người ta nhìn một loài động vật quý trong vườn bách thú. <br />tôi âm thầm ra về, luồn lách ra khỏi cái phòng trà ngồn ngộn hơi người của những kẻ ném tiền qua cửa sổ.1 giờ đêm trên phố sài gòn, lang thang trên những con đường chẳng đinh hướng mình đi về đâu.rồi nhủ thầm mình sẽ không bao giờ đi nghe nguyễn hát ngoài đời nữa, vì tôi đánh mất niềm tin và tình yêu? hoàn toàn không, thậm chí tôi còn thấy yêu anh nhiều hơn thế. nhưng tôi không muốn gán hình ảnh của nguyễn vào cái khung cảnh nhầy nhụa khó chịu ấy.tôi muốn trong tôi, nguyễn là nguyễn, một căn phòng yên tĩnh, một ngọn nến vàng le lói và chỉ mỗi riêng tôi, nguyễn ơi&#8230;&#8230;~o)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/243/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/243/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/243/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=243&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/26/%e2%80%a6-tam-su-cua-ai-kia-%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>Crontab_advanced</title>
		<link>http://sonntit.wordpress.com/2009/08/18/crontab_advanced/</link>
		<comments>http://sonntit.wordpress.com/2009/08/18/crontab_advanced/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 02:15:07 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[Backup - Cront tab - Rsync]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/18/crontab_advanced/</guid>
		<description><![CDATA[Hạn chế user thực thi Crontab____________You can execute crontab if your name appears in the file/usr/lib/cron/cron.allow. If that file does not exist, you can usecrontab if your name does not appear in the file/usr/lib/cron/cron.deny. If only cron.deny exists and is empty, all users can use crontab. If neither file exists, only the root user can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=238&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Hạn chế user thực thi Crontab<br /></strong>____________<br />You can execute crontab if your name appears in the file<br />/usr/lib/cron/cron.allow. If that file does not exist, you can use<br />crontab if your name does not appear in the file<br />/usr/lib/cron/cron.deny. <br />If only cron.deny exists and is empty, all users can use crontab. If neither file exists, only the root user can use crontab. The allow/deny files consist of one user name per line.
</p>
<p>
 </p>
<p><strong>Câu lệnh</strong><br />__________<br />export EDITOR=vi ;to specify a editor to open crontab file.</p>
<p>crontab -e     Edit your crontab file, or create one if it doesn&#8217;t already exist. <br />crontab -l      Display your crontab file. <br />crontab -r      Remove your crontab file. <br />crontab -v      Display the last time you edited your crontab file. (This option is only available on a few systems.) <br /> 
</p>
<p><strong>Cấu trúc File Crontab</strong><br />___________<br /><strong>syntax :-</strong><br />A crontab file has five fields for specifying day , date and time  followed by the command to be run at that interval.
</p>
<div>
<table style="border-collapse:collapse;background:#dbdbdb;" border="0">
<col>
<tbody valign="top">
<tr>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>*     *   *   *    *  command to be executed<br />-     -    -    -    -<br />|     |     |     |     |<br />|     |     |     |     +&#8212;&#8211; day of week (1 &#8211; 7) (monday = 1)<br />|     |     |     +&#8212;&#8212;- month (1 &#8211; 12)<br />|     |     +&#8212;&#8212;&#8212; day of month (1 &#8211; 31)<br />|     +&#8212;&#8212;&#8212;&#8211; hour (0 &#8211; 23)<br />+&#8212;&#8212;&#8212;&#8212;- min (0 &#8211; 59)<br /> </p>
</td>
</tr>
</tbody>
</table>
</div>
<p>* Indicates all possible values as in braces for that column.
</p>
<p><strong>Ví dụ</strong><br />_______</p>
<p>A line in crontab file like below  removes the tmp files from /home/someuser/tmp each day at 6:30 PM.
</p>
<p>30     18     *     *     *         rm /home/someuser/tmp/*
</p>
<p>Changing the parameter values as below will cause this command to run at different time schedule below :
</p>
<div>
<table style="border-collapse:collapse;background:silver;" border="0">
<col>
<col>
<col>
<col>
<col>
<col>
<tbody valign="top">
<tr style="height:37px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>30 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">0 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">1 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">1,6,12 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">* </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>&#8211; 00:30 Hrs  on 1st of Jan, June &amp; Dec.</p>
</td>
</tr>
<tr style="height:19px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
</tr>
<tr style="height:57px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>0 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">20 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">* </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">10 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">1-5 </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>&#8211;8.00 PM every weekday (Mon-Fri) only in Oct. </p>
</td>
</tr>
<tr style="height:19px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
</tr>
<tr style="height:38px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>0 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">0 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">1,10,15 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">* </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">* </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>&#8211; midnight on 1st ,10th &amp; 15th of month </p>
</td>
</tr>
<tr style="height:19px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">  </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
</tr>
<tr style="height:57px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>5,10 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">0 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">10 </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">* </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p style="text-align:center;">1 </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>&#8211; At 12.05,12.10 every Monday &amp; on 10th of every month </p>
</td>
</tr>
<tr style="height:19px;">
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td vAlign="middle" style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
<td style="border-top:none;border-left:none;border-bottom:none;border-right:none;">
<p>  </p>
</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Khai báo các biến môi trường trong file crontab</strong><br />___________<br />cron invokes the command from the user&#8217;s HOME directory with the shell, (/usr/bin/sh). <br />cron supplies a default environment for every shell, defining:<br />HOME=user&#8217;s-home-directory<br />LOGNAME=user&#8217;s-login-id<br />PATH=/usr/bin:/usr/sbin:.<br />SHELL=/usr/bin/sh</p>
<p>Users who desire to have their .profile executed must explicitly do so<br />in the crontab entry or in a script called by the entry.</p>
<p><strong>Tắt chức năng mail<br /></strong>____________
</p>
<p>By default cron jobs sends a email to the user account executing the cronjob. If this is not needed put the following command At the end of the cron job line .</p>
<p>&gt;/dev/null 2&gt;&amp;1
</p>
<h3><span style="font-size:12pt;"><br />Thu thập file log<br />________________</span><br />
	</h3>
<p>To collect the cron execution execution log in a file :
</p>
<p>18 * * * rm /home/someuser/tmp/* &gt; /home/someuser/cronlogs/clean_tmp_dir.log
</p>
<p><strong><span style="background-color:yellow;">Một số ví dụ về crontab nâng cao</span><br />
		</strong></p>
<p> <br />
 </p>
<p><span style="font-family:Arial;font-size:10pt;">0 0 * * * &#8211; chạy script mỗi  0:00 AM<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">0 * * * * &#8211; chạy script mỗi giờ (vào phút đầu tiên của giờ)<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">*/15 * * * * &#8211; chạy script mỗi 15 ph<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">5 8 * * * &#8211; chạy script mỗi ngày vào 8h5ph sáng<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">5 8 15 * * &#8211; chạy script mỗi 8h5ph sang ngày 15 hằng tháng<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">5 8 * * 1 &#8211; chạy script mỗi thứ hai hàng tuần, 8h5ph<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">30  0  1  1,6,12  *  chạy script vào 0h30ph sang ngày 1 của tháng 1, tháng 6 và tháng 12.<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">0  20  *  10  1-5  8h tối mỗi ngày trong tuần(thứ 2 tới thứ 6) của tháng 10<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">0  0  1,10,15  *  *  nửa đêm của ngày 1, 10 và 15 hằng tháng.<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;">5,10  0  10  *  1  vào 12h5, 12h10 mỗi thứ hai và vào ngày 10 hằng tháng<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;"> 1,21,41 *       *       *       *       echo &#8220;Meu crontab rodou mesmo!&#8221;</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/238/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/238/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/238/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=238&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/18/crontab_advanced/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>Crontab_basic</title>
		<link>http://sonntit.wordpress.com/2009/08/18/crontab_basic/</link>
		<comments>http://sonntit.wordpress.com/2009/08/18/crontab_basic/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 01:44:01 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[Backup - Cront tab - Rsync]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/18/crontab_basic/</guid>
		<description><![CDATA[Hướng dẫn sử dụng Crontab Là một lệnh shell được sử dụng trong linux với mục đích lập thời gian biểu tự động chạy một ứng dụng cụ thể nào đó hoặc để thực hiện tự động 1 nhiệm vụ nào đó mà người dùng định nghĩa. Khi thực hiện khai báo lệnh này cần [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=237&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-family:Times New Roman;font-size:12pt;">Hướng dẫn sử dụng Crontab<br />
</span></p>
<p><span style="color:#09416d;font-family:Arial;font-size:10pt;">Là một lệnh shell được sử dụng trong linux với mục đích lập thời gian biểu tự động chạy một ứng dụng cụ thể nào đó hoặc để thực hiện tự động 1 nhiệm vụ nào đó mà người dùng định nghĩa. Khi thực hiện khai báo lệnh này cần chú ý về thời gian thực hiện, tránh thực hiện những lệnh backup data hay restart service trong thời gian nhạy cảm của hệ thống: thời gian có nhiều tiến trình đang hoạt động, có nhiều kết nối từ bên ngoài vào &#8230;</span>
	</p>
<ul>
<li><strong>Nội dung</strong>
		</li>
</ul>
<p>Là một lệnh shell được sử dụng trong linux với mục đích sử dụng thời gian biểu tự động chạy một ứng dụng cụ thể nào đó hoặc để thực hiện tụ động 1 nhiệm vụ nào đó mà người dùng định nghĩa.<br />Thường được dùng để backup hoặc xóa các file tạm được sinh ra trong quá trình vận hành hệ thống&#8230; được định nghĩa trong file <strong><em>/etc/crotab</em></strong>.<br /><strong>Cú pháp câu lệnh Crontab</strong></p>
<p><strong>Ví dụ: </strong><br />Để xóa file home/someuser/tmp/ vào lúc 18h45 hàng ngày ta dùng lệnh sau:<br /><em>4518***User rm/home/someuser/tmp/*</em><br /><em>4518***</em>Là thời gian thực hiện<br /><em>User</em> là user thực hiện<br /><em>rm/home/someuser/tmp/*</em> Công việc thực hiện<br /><strong>Các bước tiến hành như sau:</strong><br />Bước 1: Khở động terminal của máy muốn thực hiện.<br />Bước 2: Dùng lệnh cd để truy cập vào thư mục /etc</p>
<p>Bước 3: Mở file crontab bằng lệnh vi or vim trong linux để cấu hình<br /><img src="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi3.jpg?w=600"><br />Bước 4: Tiến hành thiết đặt các thông số cần thiết<br /><img src="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi4.jpg?w=600"><br />Bước 5: Save file crontab và thực hiện restart lại dịch vụ crontab bằng lệnh sau:<br />service crond restart<br /><img src="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi5.jpg?w=600">
	</p>
<ul>
<li><strong>Thực hiện nhiều nhiệm vụ</strong>
		</li>
</ul>
<p>Nếu như ta thực hiện cùng lúc 1 gói các lệnh thì ta nên tạo ra một <em>file_crontab.sh </em>để thực hiện cùng nhiều lệnh (tương đương với file.bat trong windows)<br /><strong>Ví dụ:</strong><br />
		<br />Bước 1: Ta tiến hành tạo một file file_crontab.sh có nội dung như sau bằng lệnh vi (vim)<br /><em>mkdir -p/root/test<br />cp/tmb/* /root/test<br />cd/root/test<br />taz -cvf test.tar/root/test/*<br />cp/root/test/test.tar/home/someuser/tmp</em>Bước 2: Tiến hành thiết lập cấu hình cho file crontab the trình tự các bước ở phần trên rồi khởi động lại.<br />- Thêm dòng này vào file crontab.<br />0020***root sh/path/file_crontab.sh<br />- Restart lại dịch vụ crontab<br /><strong> Một số lưu ý</strong><br />- Khi thực hiện khai báo lệnh này ta lên chú ý về thời gian thực hiện, tránh thực hiện những lệnh backup  dữ liệu hay restart lại service trong thời gian nhạy cảm của hệ thống (thời gian có nhiều tiến trình đang hoạt động, có nhiều kết nối từ bên ngoài vào).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/237/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=237&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/18/crontab_basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi3.jpg" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi4.jpg" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081809_0142_crontabbasi5.jpg" medium="image" />
	</item>
		<item>
		<title>SVN_Installation</title>
		<link>http://sonntit.wordpress.com/2009/08/17/svn_installation/</link>
		<comments>http://sonntit.wordpress.com/2009/08/17/svn_installation/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 02:18:55 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[Basic - Tips - Other]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/17/svn_installation/</guid>
		<description><![CDATA[Những ai sắp làm quản trị mạng cho một công ty phần mềm ắt hẳn sẽ cần cái này. J SVN là gì thì search google nhé. Install svn step by step as following 1. Install packages using yum yum install subversion mod_dav_svn 2. Configure /etc/httpd/conf.d/subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so DAV svnSVNParentPath /var/www/svn AuthType [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=233&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Những ai sắp làm quản trị mạng cho một công ty phần mềm ắt hẳn sẽ cần cái này. <span style="font-family:Wingdings;">J</span>
	</p>
<p>SVN là gì thì search google nhé.
</p>
<p>Install svn step by step as following</p>
<p>1. Install packages using yum</p>
<p>yum install subversion mod_dav_svn</p>
<p>2. Configure /etc/httpd/conf.d/subversion.conf </p>
<p>LoadModule dav_svn_module modules/mod_dav_svn.so<br />LoadModule authz_svn_module modules/mod_authz_svn.so</p>
<p>DAV svn<br />SVNParentPath /var/www/svn</p>
<p>AuthType Basic<br />AuthName &#8220;Subversion repos&#8221;<br />AuthUserFile /var/www/svn/htpasswd<br />Require valid-user</p>
<p>3. Prepare the repository</p>
<p>mkdir /var/www/svn<br />cd /var/www/svn<br />svnadmin create your_src<br />chown -R apache.apache your_src</p>
<p>4. Restart httpd</p>
<p>And then we are able to import codes right now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=233&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/17/svn_installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>SSH_20 best security practises</title>
		<link>http://sonntit.wordpress.com/2009/08/15/ssh_20-best-security-practises/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/ssh_20-best-security-practises/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 07:18:51 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/ssh_20-best-security-practises/</guid>
		<description><![CDATA[Advanced Secure SSH   Top 20 OpenSSH Server Best Security Practices   OpenSSH được ứng dụng nhiều để đăng nhập từ xa, backup dữ liệu, truyền file từ xa bằng scp hay sftp, … Tuy nhiên sức mạnh của SSH nằm ở public key cryptography. Tuy nhiên, lỗi zero-day khiến các tin tặc có thể [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=163&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Advanced Secure SSH
</p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Top 20 OpenSSH Server Best Security Practices<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">OpenSSH được ứng dụng nhiều để đăng nhập từ xa, backup dữ liệu, truyền file từ xa bằng scp hay sftp, … Tuy nhiên sức mạnh của SSH nằm ở public key cryptography. Tuy nhiên, lỗi zero-day khiến các tin tặc có thể đoạt quyền sử dụng. Sau đây là 20 mẹo giúp gia tăng độ bảo mật của SSH<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;"><span style="background-color:yellow;">Default Config Files and SSH Port</span><br />
		</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">    * /etc/ssh/sshd_config &#8211; OpenSSH server configuration file.<br />
</span></p>
<p><span style="font-family:Arial;"><span style="color:black;"><br />
			</span><span style="color:red;"> * /etc/ssh/ssh_config &#8211; OpenSSH client configuration file.<br />
</span></span></p>
<p><span style="color:black;font-family:Arial;">    * ~/.ssh/ &#8211; Users ssh configuration directory.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * ~/.ssh/authorized_keys or ~/.ssh/authorized_keys &#8211; Lists the public keys (RSA or DSA) that can be used to log into the user&#8217;s account<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * /etc/nologin &#8211; If this file exists, sshd refuses to let anyone except root log in.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * /etc/hosts.allow and /etc/hosts.deny : Access controls lists that should be enforced by tcp-wrappers are defined here.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * SSH default port : TCP 22<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#1: Disable OpenSSH Server on un-needed Workstation and Laptop<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Workstations and laptop đâu cần ssh server!<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># chkconfig sshd off<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># yum erase openssh-server<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Kiểm tra các rule của IPtable, vì có thể quản trị mạng trước đã add thêm 1 số ngoại lệ cho phép ssh từ trong ra ngoài hoặc ngược lại<br />
</span></p>
<p><span style="color:black;font-family:Arial;">/etc/sysconfig/ip6tables.<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># service iptables restart<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># service ip6tables restart<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#2: Only Use SSH Protocol 2<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;">SSH 1 không bảo mật!<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Protocol 2<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#3: Limit Users&#8217; SSH Access<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;">&lt; Mất công dịch lại quá. Đây là 20 mẹo bảo mật ssh hay. Đọc dễ hiểu mà. Không hiểu cứ post bài hỏi nha. He he&gt;<br />
</span></p>
<p><span style="color:black;font-family:Arial;">By default all systems user can login via SSH using their password or public key. Sometime you create UNIX / Linux user account for ftp or email purpose. However, those user can login to system using ssh. They will have full access to system tools including compilers and scripting languages such as Perl, Python which can open network ports and do many other fancy things. One of my client has really outdated php script and an attacker was able to create a new account on the system via a php script. However, attacker failed to get into box via ssh because it wasn&#8217;t in AllowUsers.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Only allow root, vivek and jerry user to use the system via SSH, add the following to sshd_config:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">AllowUsers root vivek jerry<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Alternatively, you can allow all users to login via SSH but deny only a few users, with the following line:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">DenyUsers saroj anjali foo<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">You can also configure Linux PAM allows or deny login via the sshd server. You can allow list of group name to access or deny access to the ssh.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#4: Configure Idle Log Out Timeout Interval<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">User can login to server via ssh and you can set an idel timeout interval to avoid unattended ssh session. Open sshd_config and make sure following values are configured:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">ClientAliveInterval 300<br />
</span></p>
<p><span style="color:black;font-family:Arial;">ClientAliveCountMax 0<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">You are setting an idle timeout interval in seconds (300 secs = 5 minutes). After this interval has passed, the idle user will be automatically kicked out (read as logged out). See how to automatically log BASH / TCSH / SSH users out after a period of inactivity for more details.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#5: Disable .rhosts Files<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Don&#8217;t read the user&#8217;s ~/.rhosts and ~/.shosts files. Update sshd_config with the following settings:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">IgnoreRhosts yes<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">SSH can emulate the behavior of the obsolete rsh command, just disable insecure access via RSH.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#6: Disable Host-Based Authentication<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">To disable host-based authentication, update sshd_config with the following option:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">HostbasedAuthentication no<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#7: Disable root Login via SSH<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">There is no need to login as root via ssh over a network. Normal users can use su or sudo (recommended) to gain root level access. This also make sure you get full auditing information about who ran privileged commands on the system via sudo. To disable root login via SSH, update sshd_config with the following line:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">PermitRootLogin no<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">However, bob made excellent point:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">    Saying &#8220;don&#8217;t login as root&#8221; is horseshit. It stems from the days when people sniffed the first packets of sessions so logging in as yourself and su-ing decreased the chance an attacker would see the root pw, and decreast the chance you got spoofed as to your telnet host target, You&#8217;d get your password spoofed but not root&#8217;s pw. Gimme a break. this is 2005 &#8211; We have ssh, used properly it&#8217;s secure. used improperly none of this 1989 will make a damn bit of difference. -Bob<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#8: Enable a Warning Banner<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Set a warning banner by updating sshd_config with the following line:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Banner /etc/issue<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Sample /etc/issue file:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</span></p>
<p><span style="color:black;font-family:Arial;">You are accessing a XYZ Government (XYZG) Information System (IS) that is provided for authorized use only.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">By using this IS (which includes any device attached to this IS), you consent to the following conditions:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">+ The XYZG routinely intercepts and monitors communications on this IS for purposes including, but not limited to,<br />
</span></p>
<p><span style="color:black;font-family:Arial;">penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM),<br />
</span></p>
<p><span style="color:black;font-family:Arial;">law enforcement (LE), and counterintelligence (CI) investigations.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">+ At any time, the XYZG may inspect and seize data stored on this IS.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">+ Communications using, or data stored on, this IS are not private, are subject to routine monitoring,<br />
</span></p>
<p><span style="color:black;font-family:Arial;">interception, and search, and may be disclosed or used for any XYZG authorized purpose.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">+ This IS includes security measures (e.g., authentication and access controls) to protect XYZG interests&#8211;not<br />
</span></p>
<p><span style="color:black;font-family:Arial;">for your personal benefit or privacy.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">+ Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching<br />
</span></p>
<p><span style="color:black;font-family:Arial;">or monitoring of the content of privileged communications, or work product, related to personal representation<br />
</span></p>
<p><span style="color:black;font-family:Arial;">or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work<br />
</span></p>
<p><span style="color:black;font-family:Arial;">product are private and confidential. See User Agreement for details.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Above is standard sample, consult your legal team for exact user agreement and legal notice details.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">#8: Firewall SSH Port # 22<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">You need to firewall ssh port # 22 by updating iptables or pf firewall configurations. Usually, OpenSSH server must only accept connections from your LAN or other remote WAN sites only.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Netfilter (Iptables) Configuration<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Update /etc/sysconfig/iptables (Redhat and friends specific file) to accept connection only from 192.168.1.0/24 and 202.54.1.5/29, enter:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state &#8211;state NEW -p tcp &#8211;dport 22 -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;">-A RH-Firewall-1-INPUT -s 202.54.1.5/29 -m state &#8211;state NEW -p tcp &#8211;dport 22 -j ACCEPT<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">If you&#8217;ve dual stacked sshd with IPv6, edit /etc/sysconfig/ip6tables (Redhat and friends specific file), enter:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;"> -A RH-Firewall-1-INPUT -s ipv6network::/ipv6mask -m tcp -p tcp &#8211;dport 22 -j ACCEPT<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Replace ipv6network::/ipv6mask with actual IPv6 ranges.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">*BSD PF Firewall Configuration<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">If you are using PF firewall update /etc/pf.conf as follows:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">pass in on $ext_if inet proto tcp from {192.168.1.0/24, 202.54.1.5/29} to $ssh_server_ip port ssh flags S/SA synproxy state<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#9: Change SSH Port and Limit IP Binding<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">By default SSH listen to all available interfaces and IP address on the system. Limit ssh port binding and change ssh port (by default brute forcing scripts only try to connects to port # 22). To bind to 192.168.1.5 and 202.54.1.5 IPs and to port 300, add or correct the following line:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Port 300<br />
</span></p>
<p><span style="color:black;font-family:Arial;">ListenAddress 192.168.1.5<br />
</span></p>
<p><span style="color:black;font-family:Arial;">ListenAddress 202.54.1.5<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">A better approach to use proactive approaches scripts such as fail2ban or denyhosts (see below).<br />
</span></p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#10: Use Strong SSH Passwords and Passphrase<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">It cannot be stressed enough how important it is to use strong user passwords and passphrase for your keys. Brute force attack works because you use dictionary based passwords. You can force users to avoid passwords against a dictionary attack and use john the ripper tool to find out existing weak passwords. Here is a sample random password generator (put in your ~/.bashrc):<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">genpasswd() {<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    local l=$1<br />
</span></p>
<p><span style="color:black;font-family:Arial;">           [ "$l" == "" ] &amp;&amp; l=20<br />
</span></p>
<p><span style="color:black;font-family:Arial;">          tr -dc A-Za-z0-9_ &lt; /dev/urandom | head -c ${l} | xargs<br />
</span></p>
<p><span style="color:black;font-family:Arial;">}<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Run it:<br />
</span></p>
<p><span style="color:black;font-family:Arial;">genpasswd 16<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Output:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">uw8CnDVMwC6vOKgW<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#11: Use Public Key Based Authentication<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Use public/private key pair with password protection for the private key. See how to use RSA and DSA key based authentication. Never ever use passphrase free key (passphrase key less) login.<br />
</span></p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#12: Use Keychain Based Authentication<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">keychain is a special bash script designed to make key-based authentication incredibly convenient and flexible. It offers various security benefits over passphrase-free keys. See how to setup and use keychain software.<br />
</span></p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#13: Chroot SSHD (Lock Down Users To Their Home Directories)<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">By default users are allowed to browse the server directories such as /etc/, /bin and so on. You can protect ssh, using os based chroot or use special tools such as rssh. With the release of OpenSSH 4.8p1 or 4.9p1, you no longer have to rely on third-party hacks such as rssh or complicated chroot(1) setups to lock users to their home directories. See this blog post about new ChrootDirectory directive to lock down users to their home directories.<br />
</span></p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#14: Use TCP Wrappers<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">TCP Wrapper is a host-based Networking ACL system, used to filter network access to Internet. OpenSSH does supports TCP wrappers. Just update your /etc/hosts.allow file as follows to allow SSH only from 192.168.1.2 172.16.23.12 :<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">sshd : 192.168.1.2 172.16.23.12<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">See this FAQ about setting and using TCP wrappers under Linux / Mac OS X and UNIX like operating systems.<br />
</span></p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#15: Disable Empty Passwords<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">You need to explicitly disallow remote login from accounts with empty passwords, update sshd_config with the following line:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">PermitEmptyPasswords no<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">#16: Thwart SSH Crackers (Brute Force Attack)<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Brute force is a method of defeating a cryptographic scheme by trying a large number of possibilities using a single or distributed computer network. To prevents brute force attacks against SSH, use the following softwares:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">    * DenyHosts is a Python based security tool for SSH servers. It is intended to prevent brute force attacks on SSH servers by monitoring invalid login attempts in the authentication log and blocking the originating IP addresses.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * Fail2ban is a similar program that prevents brute force attacks against SSH.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * security/sshguard-pf protect hosts from brute force attacks against ssh and other services using pf.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * security/sshguard-ipfw protect hosts from brute force attacks against ssh and other services using ipfw.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * security/sshguard-ipfilter protect hosts from brute force attacks against ssh and other services using ipfilter.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * security/sshblock block abusive SSH login attempts.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * security/sshit checks for SSH/FTP bruteforce and blocks given IPs.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * BlockHosts Automatic blocking of abusive IP hosts.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * Blacklist Get rid of those bruteforce attempts.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * Brute Force Detection A modular shell script for parsing application logs and checking for authentication failures. It does this using a rules system where application specific options are stored including regular expressions for each unique auth format.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * IPQ BDB filter May be considered as a fail2ban lite.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#17: Rate-limit Incoming Port # 22 Connections<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Both netfilter and pf provides rate-limit option to perform simple throttling on incoming connections on port # 22.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Iptables Example<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">The following example will drop incoming connections which make more than 5 connection attempts upon port 22 within 60 seconds:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">#!/bin/bash<br />
</span></p>
<p><span style="color:black;font-family:Arial;">inet_if=eth1<br />
</span></p>
<p><span style="color:black;font-family:Arial;">ssh_port=22<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -I INPUT -p tcp &#8211;dport ${ssh_port} -i ${inet_if} -m state &#8211;state NEW -m recent  &#8211;set<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -I INPUT -p tcp &#8211;dport ${ssh_port} -i ${inet_if} -m state &#8211;state NEW -m recent  &#8211;update &#8211;seconds 60 &#8211;hitcount 5 -j DROP<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Call above script from your iptables scripts. Another config option:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">$IPT -A INPUT  -i ${inet_if} -p tcp &#8211;dport ${ssh_port} -m state &#8211;state NEW -m limit &#8211;limit 3/min &#8211;limit-burst 3 -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A INPUT  -i ${inet_if} -p tcp &#8211;dport ${ssh_port} -m state &#8211;state ESTABLISHED -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A OUTPUT -o ${inet_if} -p tcp &#8211;sport ${ssh_port} -m state &#8211;state ESTABLISHED -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># another one line example<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># $IPT -A INPUT -i ${inet_if} -m state &#8211;state NEW,ESTABLISHED,RELATED -p tcp &#8211;dport 22 -m limit &#8211;limit 5/minute &#8211;limit-burst 5-j ACCEPT<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">See iptables man page for more details.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">*BSD PF Example<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">The following will limits the maximum number of connections per source to 20 and rate limit the number of connections to 15 in a 5 second span. If anyone breaks our rules add them to our abusive_ips table and block them for making any further connections. Finally, flush keyword kills all states created by the matching rule which originate from the host which exceeds these limits.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">sshd_server_ip=&#8221;202.54.1.5&#8243;<br />
</span></p>
<p><span style="color:black;font-family:Arial;">table &lt;abusive_ips&gt; persist<br />
</span></p>
<p><span style="color:black;font-family:Arial;">block in quick from &lt;abusive_ips&gt;<br />
</span></p>
<p><span style="color:black;font-family:Arial;">pass in on $ext_if proto tcp to $sshd_server_ip port ssh flags S/SA keep state (max-src-conn 20, max-src-conn-rate 15/5, overload &lt;abusive_ips&gt; flush)<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#18: Use Port Knocking<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Port knocking is a method of externally opening ports on a firewall by generating a connection attempt on a set of prespecified closed ports. Once a correct sequence of connection attempts is received, the firewall rules are dynamically modified to allow the host which sent the connection attempts to connect over specific port(s). A sample port Knocking example for ssh using iptables:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">$IPT -N stage1<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A stage1 -m recent &#8211;remove &#8211;name knock<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A stage1 -p tcp &#8211;dport 3456 -m recent &#8211;set &#8211;name knock2<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">$IPT -N stage2<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A stage2 -m recent &#8211;remove &#8211;name knock2<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A stage2 -p tcp &#8211;dport 2345 -m recent &#8211;set &#8211;name heaven<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">$IPT -N door<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A door -m recent &#8211;rcheck &#8211;seconds 5 &#8211;name knock2 -j stage2<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A door -m recent &#8211;rcheck &#8211;seconds 5 &#8211;name knock -j stage1<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A door -p tcp &#8211;dport 1234 -m recent &#8211;set &#8211;name knock<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">$IPT -A INPUT -m &#8211;state ESTABLISHED,RELATED -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A INPUT -p tcp &#8211;dport 22 -m recent &#8211;rcheck &#8211;seconds 5 &#8211;name heaven -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;">$IPT -A INPUT -p tcp &#8211;syn -j doo<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">    * fwknop is an implementation that combines port knocking and passive OS fingerprinting.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">    * Multiple-port knocking Netfilter/IPtables only implementation.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#19: Use Log Analyzer<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Read your logs using logwatch or logcheck. These tools make your log reading life easier. It will go through your logs for a given period of time and make a report in the areas that you wish with the detail that you wish. Make sure LogLevel is set to INFO or DEBUG in sshd_config:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">LogLevel INFO<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;background-color:yellow;"><strong>#20: Patch OpenSSH and Operating Systems<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">It is recommended that you use tools such as yum, apt-get, freebsd-update and others to keep systems up to date with the latest security patches.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">Other Options<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">To hide openssh version, you need to update source code and compile openssh again. Make sure following options are enabled in sshd_config:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">#  Turn on privilege separation<br />
</span></p>
<p><span style="color:black;font-family:Arial;">UsePrivilegeSeparation yes<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># Prevent the use of insecure home directory and key file permissions<br />
</span></p>
<p><span style="color:black;font-family:Arial;">StrictModes yes<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># Turn on  reverse name checking<br />
</span></p>
<p><span style="color:black;font-family:Arial;">VerifyReverseMapping yes<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># Do you need port forwarding?<br />
</span></p>
<p><span style="color:black;font-family:Arial;">AllowTcpForwarding no<br />
</span></p>
<p><span style="color:black;font-family:Arial;">X11Forwarding no<br />
</span></p>
<p><span style="color:black;font-family:Arial;">#  Specifies whether password authentication is allowed.  The default is yes.<br />
</span></p>
<p><span style="color:black;font-family:Arial;">PasswordAuthentication no<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;">Verify your sshd_config file before restarting / reloading changes:<br />
</span></p>
<p><span style="color:black;font-family:Arial;"># /usr/sbin/sshd -t<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=163&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/ssh_20-best-security-practises/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>Secure SSH 1</title>
		<link>http://sonntit.wordpress.com/2009/08/15/secure-ssh-1/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/secure-ssh-1/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 06:56:10 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/secure-ssh-1/</guid>
		<description><![CDATA[Advanced Secure SSH Cài đặt SSH khá đơn giản bằng lệnh # yum –y install sshd Quản trị Linux với SSH Với một đoạn script đơn giản và SSH, bạn có thể quản trị đồng thời nhiều máy tính Linux mà không cần phải đăng nhập trực tiếp vào từng máy. SSH là công cụ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=162&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Advanced Secure SSH
</p>
<p>Cài đặt SSH khá đơn giản bằng lệnh
</p>
<p># yum –y install sshd
</p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;"><strong>Quản trị Linux với SSH<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Với một đoạn script đơn giản và SSH, bạn có thể quản trị đồng thời nhiều máy tính Linux mà không cần phải đăng nhập trực tiếp vào từng máy. SSH là công cụ cung cấp cách thức bảo mật cho việc đăng nhập và truyền nhận thông tin giữa các máy tính với nhau.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Một số công cụ được cung cấp qua SSH: SSH, SCP, SFTP.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Mỗi khi đăng nhập từ xa ta phải nhập password của máy, nhưng thông qua SSH ta không phải nhập password. Để làm được điều này ta phải tạo ra một khóa public key cho máy quản trị và chuyển khóa đó cho các máy cần quản trị từ xa.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tạo public key cho máy quản trị:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">$ ssh-keygen -t rsa<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Sau lệnh này hệ thống sẽ tạo một public key (.ssh/id_rsa.pub) và private key.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tiếp theo bạn đưa public key cho các máy cần quản trị từ xa, đổi tên file thành .ssh/authorized_keys và được đặt trong thư mục home của user mà bạn sẽ đăng nhập từ xa.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Bây giờ ta có thể chạy lệnh từ xa mà không cần phải đăng nhập trực tiếp vào máy.<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">Cú pháp để thực thi lệnh tới máy domain.com với: $ ssh <a></span><span style="color:blue;text-decoration:underline;">test@domain.com</span><span style="color:black;"> &lt;command&gt;<br />
</span></span></p>
<p>
 </p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">Ví dụ: xem thông tin về đĩa: $ ssh <a></span><span style="color:blue;text-decoration:underline;">test@domain.com</span><span style="color:black;"> df<br />
</span></span></p>
<p>
 </p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">Bạn có thể thực hiện nhiều lệnh như $ssh <a></span><span style="color:blue;text-decoration:underline;">test@domain.com</span><span style="color:black;"> &#8220;df;uptime&#8221;<br />
</span></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Ngoài ra bạn có thể viết shell script để có thể thực hiện nhiều lệnh trên nhiều máy khác nhau thông qua SSH.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;"><strong>Mẹo và thủ thuật bảo mật SSH nâng cao<br />
</strong></span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>1. Thay đổi cổng SSH<br />
</strong></span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>2. Chỉ cho phép sử dụng giao thức SSH 2<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;"><strong>3. Không cho phép người dùng root đăng nhập từ xa bằng ssh</strong>. Hãy ssh vào server bằng user thường(hoặc user không có quyền gì trên hệ thống &#8211; nhưng user này phải nằm trong nhóm wheel để có thể sử dụng su), sau đó su sang root nếu muốn!<br />
</span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>4. Chỉ cho phép danh sách người dùng ssh<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    AllowUsers user1 user2 user3<br />
</span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>5. Tạo banner SSH tuỳ biến<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">- tạo một file text (trong ví dụ là file etc/ssh-banner.txt) và đặt bất kỳ kiểu thư text nào bạn có vào trong đó. Ví dụ:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    *****************************************************************<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    *This is a private SSH service. You are not supposed to be here.*<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    *Please leave immediately. *<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    *****************************************************************<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">và bỏ comment của dòng trong file config<br />
</span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>6. Sử dụng cơ chế thẩm định khoá công cộng DSA<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;"><span style="background-color:yellow;">~$ ssh-keygen -t dsa</span>.  Một cặp khoá được tạo: khoá private (máy mình) nằm trong ~/.ssh/id_dsa và khoá public (đưa lên server) được đặt tại .ssh/id_dsa.pub.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tiếp theo, copy nội dung ~/.ssh/id_dsa.pub vào file ~/.ssh/authorized_keys.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~$ cat .ssh/id_dsa.pub<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ssh-dss AAAAB3NzaC1kc3MAAACBAM7K7vkK5C90RsvOhiHDUROvYbNgr7YEqtrdfFCUVwMWcJYDusNG<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    AIC0oZkBWLnmDu+y6ZOjNPOTtPnpEX0kRoH79maX8NZbBD4aUV91lbG7z604ZTdrLZVSFhCI/Fm4yROH<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Ge0FO7FV4lGCUIlqa55+QP9Vvco7qyBdIpDuNV0LAAAAFQC/9ILjqII7nM7aKxIBPDrQwKNyPQAAAIEA<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    q+OJC8+OYIOeXcW8qcB6LDIBXJV0UT0rrUtFVo1BN39cAWz5puFe7eplmr6t7Ljl7JdkfEA5De0k3WDs<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    9/rD1tJ6UfqSRc2qPzbn0p0j89LPIjdMMSISQqaKO4m2fO2VJcgCWvsghIoD0AMRC7ngIe6btaNIhBbq<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ri10RGL5gh4AAACAJj1/rV7iktOYuVyqV3BAz3JHoaf+H/dUDtX+wuTuJpl+tfDf61rbWOqrARuHFRF0<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Tu/Rx4oOZzadLQovafqrDnU/No0Zge+WVXdd4ol1YmUlRkqp8vc20ws5mLVP34fST1amc0YNeBp28EQi<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">    0xPEFUD0IXzZtXtHVLziA1/NuzY= <a></span><span style="color:blue;text-decoration:underline;">anze@station1.example.com</span><span style="color:black;"><br />
			</span></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Nếu file ~/.ssh/authorized_keys đã tồn tại, gắn thêm nội dung trong ~/.ssh/id_dsa.pub vào file ~/.ssh/authorized_keys<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tiếp theo:<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~$ chmod 600 ~/.ssh/authorized_keys<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Copy id_dsa về client, và cũng nhớ chuyển quyền: chomod 600 &lt;đường dẫn đặt file id_dsa&gt;/id_dsa để chỉ mỗi user đó mới có quyền.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Bây giờ cấu hình file sshd_conf<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    RSAAuthentication yes<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    PubkeyAuthentication yes<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    AuthorizedKeysFile .ssh/authorized_keys<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Nếu muốn chỉ sử dụng duy nhất một cơ chế thẩm định DSA<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    PasswordAuthentication no<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Để tạo thêm 1 user khác có thể ssh bằng private/public key. Dùng puttygen tạo key private/public. Đưa public key lên<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">/home/sonnt/.ssh/authorized_keys.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Đổi owner và quyền của thư mục .ssh là của user.<br />
</span></p>
<p>
 </p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>7. Chỉ một số host được kết nối<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Đầu tiên sẽ xem trong file /etc/hosts.deny danh sách các host bị từ chối kết nối tới dịch vụ.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tiếp theo là file /etc/hosts để xem liệu có quy tắc nào cho phép một số host kết nối tới một dịch vụ đặc biệt nào đó không.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Ví dụ, tôi sẽ tạo một quy tắc như vậy trong tư mục /etc/hosts.deny:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    sshd: ALL<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tiếp theo, tạo một quy tắc trong /etc/hosts để cho phép chỉ một số host cụ thể (như được định nghĩa ở trên) sử dụng dịch vụ SSH:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    sshd: 192.168.1 193.180.177.13<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;"> Tất cả host khác đều bị ngắt kết nối trước khi được đăng nhập và nhận một thông báo lỗi như sau:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ssh_exchange_identification: Connection closed by remote host<br />
</span></p>
<p>
 </p>
<p><span style="color:red;font-family:Arial;font-size:10pt;">***Sử dụng iptables để giới hạn số lượng host được kết nối<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Một lựa chọn khác ngoài các hàm bao TCP là giới hạn truy cập SSH với iptables (các bảng địa chỉ IP). Song, bạn có thể sử dụng kết hợp cả hai phương thức này cùng một lúc. Dưới đây là một ví dụ đơn giản về cách cho phép một số host nhất định kết nối tới SSH:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp -m state –state NEW –source 193.180.177.13 –dport 22 -j ACCEPT<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Và để chắc chắn rằng không có host nào khác được truy cập dịch vụ SSH:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp –dport 22 -j DROP<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="font-family:Arial;font-size:10pt;background-color:yellow;">Một số mẹo về thời gian với SSH<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Bạn có thể dùng các tham số iptables khác để giới hạn kết nối tới dịch vụ SSH trong một khoảng thời gian nhất định. Kiểu thời gian có thể là giây, phút, giờ, hoặc ngày (/second, /minute, /hour, /day ), như ví dụ dưới đây.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Ở ví dụ đầu, nếu người dùng nhập mật khẩu sai, truy cập vào dịch vụ SSH sẽ bị khoá trong một phút. Và sau đó người dùng chỉ được phép gõ thông tin đăng nhập vào sau từng phút:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 1/minute –limit-burst 1 -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -j DROP<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Trong ví dụ thứ hai, iptables được thiết lập chỉ cho phép host 193.180.177.13 kết nối tới dịch vụ SSH. Sau ba lần đăng nhập thất bại, iptables chỉ cho phép host đăng nhập lại sau từng phút:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state –syn –state NEW –dport 22 -m limit –limit 1/minute –limit-burst 1 -j ACCEPT<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    ~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state –syn –state NEW –dport 22 -j DROP<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Kết luận<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Các thành phần này không khó cầu hình, nhưng chúng là những kỹ thuật rất mạnh trong chế độ bảo mật dịch vụ SSH. Bỏ ra chút thời gian đầu tư, bạn sẽ có được giấc ngủ ngon<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;">Nên giữ 1 session trắng trước khi active ssh lên ở server nha.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;">ssh-genkey -t rsa -b 1024<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;">SSH trên linux phải set (public key) 0600 mới chạy (ssh viết secure shell, cho nên nó secure, chỉ cho user có quyền, group không có quyền ssh, nên vậy đó &#8211;&gt; hem biết đúng hem<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:lime;">ứng dụng ssh để vnc, giấu kết  nối, tăng bảo mật, xóa dấu  vết (dùng putty trên window), trên Linux thì search thêm tài liệu<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/162/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/162/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/162/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=162&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/secure-ssh-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>VSFTP_Virtual User</title>
		<link>http://sonntit.wordpress.com/2009/08/15/vsftp_virtual-user/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/vsftp_virtual-user/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 06:16:39 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[FTP]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/vsftp_virtual-user/</guid>
		<description><![CDATA[VSFTP_Virtual User Làm thế nào khi muốn chạy ftp server mà không muốn FTP user có login shell, system account và dạo chơi trên cái HDD của server ? 1. Installation of VSFTPD # yum install vsftpd 2. Virtual users and authentication Dùng pam_userdb để xác thực user, cần cài thêm component: # yum install [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=157&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>VSFTP_Virtual User
</p>
<p>Làm thế nào khi muốn chạy ftp server mà không muốn FTP user có login shell, system account và dạo chơi trên cái HDD của server ?
</p>
<p><strong>1. Installation of VSFTPD</strong>
	</p>
<p><span style="font-family:Courier New;font-size:10pt;"># yum install vsftpd</span>
	</p>
<p><strong>2. Virtual users and authentication</strong>
	</p>
<p>Dùng  pam_userdb để xác thực user, cần cài thêm component:
</p>
<p><span style="font-family:Courier New;font-size:10pt;"># yum install db4-utils</span>
	</p>
<p>Tạo file `virtual-users.txt&#8217; với username password
</p>
<p><span style="font-family:Courier New;font-size:10pt;">mary<br />123456<br />jack<br />654321</span>
	</p>
<p>Tạo database
</p>
<p><span style="font-family:Courier New;font-size:10pt;"># db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db</span>
	</p>
<p>Sửa file
</p>
<p># vi/etc/pam.d/vsftpd-virtual
</p>
<p><span style="font-family:Courier New;font-size:10pt;">auth required pam_userdb.so db=/etc/vsftpd/virtual-users<br />account required pam_userdb.so db=/etc/vsftpd/virtual-users</span>
	</p>
<p><strong>3. Configuration of VSFTPD</strong>
	</p>
<p>Sửa file
</p>
<p>## vi /etc/vsftpd/vsftpd-virtual.conf,
</p>
<p><span style="font-family:Courier New;font-size:10pt;"># disables anonymous FTP<br />anonymous_enable=NO<br /># enables non-anonymous FTP<br />local_enable=YES<br /># activates virtual users<br />guest_enable=YES<br /># virtual users to use local privs, not anon privs<br />virtual_use_local_privs=YES<br /># enables uploads and new directories<br />write_enable=YES<br /># the PAM file used by authentication of virtual uses<br />pam_service_name=vsftpd-virtual<br /># in conjunction with &#8216;local_root&#8217;,<br /># specifies a home directory for each virtual user<br />user_sub_token=$USER<br />local_root=/var/www/virtual/$USER<br /># the virtual user is restricted to the virtual FTP area<br />chroot_local_user=YES<br /># hides the FTP server user IDs and just display &#8220;ftp&#8221; in directory listings<br />hide_ids=YES<br /># runs vsftpd in standalone mode<br />listen=YES<br /># listens on this port for incoming FTP connections<br />listen_port=60021<br /># the minimum port to allocate for PASV style data connections<br />pasv_min_port=62222<br /># the maximum port to allocate for PASV style data connections<br />pasv_max_port=63333<br /># controls whether PORT style data connections use port 20 (ftp-data)<br />connect_from_port_20=YES<br /># the umask for file creation<br />local_umask=022</span>
	</p>
<p><strong>4. Creation of home directories</strong>
	</p>
<p><span style="font-family:Courier New;font-size:10pt;"># mkdir /var/www/virtual/mary<br /># chown ftp:ftp /var/www/virtual/mary</span>
	</p>
<p><strong>5. Startup of VSFTPD and test</strong><br /><span style="font-family:Courier New;font-size:10pt;"># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</span>
	</p>
<p><span style="font-family:Courier New;font-size:10pt;"># lftp -u mary -p <img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua1.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua2.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua3.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua4.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua5.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua6.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua7.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua8.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua9.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua10.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua11.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua12.png?w=600">60021 192<img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua13.png?w=600">.168.1.101</span>
	</p>
<p><span style="background-color:yellow;">Hoặc một cách khác (nhưng đại khái tương tự <span style="font-family:Wingdings;">J</span> )</span>
	</p>
<p><strong>1. Installation of VSFTPD</strong>
	</p>
<p><span style="font-family:Courier New;font-size:10pt;"># yum install vsftpd</span>
	</p>
<p><strong>2. Virtual users and authentication</strong>
	</p>
<p>We may <span style="color:red;">create a real user account</span> for each webmaster. We will <span style="color:red;">only give them FTP access</span> to our server.
</p>
<p>First, use `useradd&#8217; command to create user accounts. Something to be specified are:
</p>
<ul>
<li><strong>group</strong>: we may specify the group of users to the group HTTP server runs as. In most cases, it is `apache&#8217; for Apache HTTP Server, it is `lighttpd&#8217; for lighttpd.
</li>
<li><strong>home directory</strong>: we should also specify users&#8217; home directories to their virtual hosts&#8217; DocumentRoot. We should also make these directories writable by HTTP server.
</li>
<li><strong>login shell</strong>: in order to disallow normal login for these FTP users, we should specify their login shell to <span style="color:red;">`/sbin/nologin&#8217;.</span>
		</li>
</ul>
<p>For example:
</p>
<p><span style="font-family:Courier New;font-size:10pt;"># useradd -g apache -d /var/www/vhosts/mike -s /sbin/nologin mike<br /># chmod g+w /var/www/vhosts/mike<br /># passwd mike<br />Changing password for user mike.<br />New UNIX password:<br />Retype new UNIX password:<br />passwd: all authentication tokens updated successfully.</span>
	</p>
<p><strong>3. Configuration of VSFTPD</strong>
	</p>
<p>Create a configuration file /etc/vsftpd/vsftpd-virtual.conf,
</p>
<p><span style="font-family:Courier New;font-size:10pt;"># disables anonymous FTP<br />anonymous_enable=NO<br /># enables non-anonymous FTP<br />local_enable=YES<br /># enables uploads and new directories<br />write_enable=YES<br /># authentication of virtual uses<br />pam_service_name=login<br /># the virtual user is restricted to the virtual FTP area<br />chroot_local_user=YES<br /># runs vsftpd in standalone mode<br />listen=YES<br /># listens on this port for incoming FTP connections<br />listen_port=60021<br /># the minimum port to allocate for PASV style data connections<br />pasv_min_port=62222<br /># the maximum port to allocate for PASV style data connections<br />pasv_max_port=63333<br /># controls whether PORT style data connections use port 20 (ftp-data)<br />connect_from_port_20=YES<br /># the umask for file creation<br />local_umask=022</span>
	</p>
<p><strong>4. Start VSFTPD and test</strong><br /><span style="font-family:Courier New;font-size:10pt;"># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</span>
	</p>
<p><span style="font-family:Courier New;font-size:10pt;"># lftp -u mike -p <img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua14.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua15.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua16.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua17.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua18.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua19.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua20.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua21.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua22.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua23.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua24.png?w=600"><img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua25.png?w=600">60021 192<img src="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua26.png?w=600">.168.1.101</span>
	</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=157&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/vsftp_virtual-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua1.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua2.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua3.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua4.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua5.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua6.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua7.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua8.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua9.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua10.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua11.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua12.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua13.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua14.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua15.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua16.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua17.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua18.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua19.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua20.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua21.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua22.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua23.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua24.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua25.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0610_vsftpvirtua26.png" medium="image" />
	</item>
		<item>
		<title>VSFTP_Sample Config File</title>
		<link>http://sonntit.wordpress.com/2009/08/15/vsftp_sample-config-file-2/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/vsftp_sample-config-file-2/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 05:29:51 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[FTP]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/vsftp_sample-config-file-2/</guid>
		<description><![CDATA[  VSFTP – File cấu hình, rảnh ngồi nghiền ngẫm chơi. allow_anon_ssl Only applies if ssl_enable is active. If set to YES, anonymous users will be allowed to use secured SSL connections. Default: NO anon_mkdir_write_enable If set to YES, anonymous users will be permitted to create new directories under certain conditions. For this to work, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=130&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;"><span style="background-color:yellow;">VSFTP – File cấu hình, rảnh ngồi nghiền ngẫm chơi.</span><br />
		</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">allow_anon_ssl<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is active. If set to YES, anonymous users will be allowed to use secured SSL connections.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_mkdir_write_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to YES, anonymous users will be permitted to create new directories under certain conditions. For this to work, the option write_enable must be activated, and the anonymous ftp user must have write permission on the parent directory.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_other_write_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to YES, anonymous users will be permitted to perform write operations other than upload and create directory, such as deletion and renaming. This is generally not recommended but included for completeness.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_upload_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to YES, anonymous users will be permitted to upload files under certain conditions. For this to work, the option write_enable must be activated, and the anonymous ftp user must have write permission on desired upload locations.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_world_readable_only<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, anonymous users will only be allowed to download files which are world readable. This is recognising that the ftp user may own files, especially in the presence of uploads.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anonymous_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Controls whether anonymous logins are permitted or not. If enabled, both the usernames ftp and anonymous are recognised as anonymous logins.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ascii_download_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, ASCII mode data transfers will be honoured on downloads.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ascii_upload_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, ASCII mode data transfers will be honoured on uploads.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">async_abor_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, a special FTP command known as &#8220;async ABOR&#8221; will be enabled. Only ill advised FTP clients will use this feature. Additionally, this feature is awkward to handle, so it is disabled by default. Unfortunately, some FTP clients will hang when cancelling a transfer unless this feature is available, so you may wish to enable it.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">background<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, and vsftpd is started in &#8220;listen&#8221; mode, vsftpd will background the listener process. i.e. control will immediately be returned to the shell which launched vsftpd.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">check_shell<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Note! This option only has an effect for non-PAM builds of vsftpd. If disabled, vsftpd will not check /etc/shells for a valid user shell for local logins.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chmod_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enables, allows use of the SITE CHMOD command. NOTE! This only applies to local users. Anonymous users never get to use SITE CHMOD.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chown_uploads<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, all anonymously uploaded files will have the ownership changed to the user specified in the setting chown_username. This is useful from an administrative, and perhaps security, standpoint.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chroot_list_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If activated, you may provide a list of local users who are placed in a chroot() jail in their home directory upon login. The meaning is slightly different if chroot_local_user is set to YES. In this case, the list becomes a list of users which are NOT to be placed in a chroot() jail. By default, the file containing this list is /etc/vsftpd.chroot_list, but you may override this with the chroot_list_file setting.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chroot_local_user<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to YES, local users will be (by default) placed in a chroot() jail in their home directory after login. Warning: This option has security implications, especially if the users have upload permission, or shell access. Only enable if you know what you are doing. Note that these security implications are not vsftpd specific. They apply to all FTP daemons which offer to put local users in chroot() jails.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">connect_from_port_20<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This controls whether PORT style data connections use port 20 (ftp-data) on the server machine. For security reasons, some clients may insist that this is the case. Conversely, disabling this option enables vsftpd to run with slightly less privilege.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO (but the sample config file enables it)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">deny_email_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If activated, you may provide a list of anonymous password e-mail responses which cause login to be denied. By default, the file containing this list is /etc/vsftpd.banned_emails, but you may override this with the banned_email_file setting.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">dirlist_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to NO, all directory list commands will give permission denied.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">dirmessage_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, users of the FTP server can be shown messages when they first enter a new directory. By default, a directory is scanned for the file .message, but that may be overridden with the configuration setting message_file.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO (but the sample config file enables it)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">download_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If set to NO, all download requests will give permission denied.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">dual_log_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, two log files are generated in parallel, going by default to /var/log/xferlog and /var/log/vsftpd.log. The former is a wu-ftpd style transfer log, parseable by standard tools. The latter is vsftpd&#8217;s own style log.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">force_dot_files<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If activated, files and directories starting with . will be shown in directory listings even if the &#8220;a&#8221; flag was not used by the client. This override excludes the &#8220;.&#8221; and &#8220;..&#8221; entries.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">force_local_data_ssl<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is activated. If activated, all non-anonymous logins are forced to use a secure SSL connection in order to send and receive data on data connections.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">force_local_logins_ssl<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is activated. If activated, all non-anonymous logins are forced to use a secure SSL connection in order to send the password.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">guest_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, all non-anonymous logins are classed as &#8220;guest&#8221; logins. A guest login is remapped to the user specified in the guest_username setting.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">hide_ids<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, all user and group information in directory listings will be displayed as &#8220;ftp&#8221;.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">listen<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, vsftpd will run in standalone mode. This means that vsftpd must not be run from an inetd of some kind. Instead, the vsftpd executable is run once directly. vsftpd itself will then take care of listening for and handling incoming connections.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">listen_ipv6<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Like the listen parameter, except vsftpd will listen on an IPv6 socket instead of an IPv4 one. This parameter and the listen parameter are mutually exclusive.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">local_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Controls whether local logins are permitted or not. If enabled, normal user accounts in /etc/passwd may be used to log in.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">log_ftp_protocol<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, all FTP requests and responses are logged, providing the option xferlog_std_format is not enabled. Useful for debugging.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ls_recurse_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, this setting will allow the use of &#8220;ls -R&#8221;. This is a minor security risk, because a ls -R at the top level of a large site may consume a lot of resources.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">no_anon_password<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, this prevents vsftpd from asking for an anonymous password &#8211; the anonymous user will log straight in.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">no_log_lock<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    When enabled, this prevents vsftpd from taking a file lock when writing to log files. This option should generally not be enabled. It exists to workaround operating system bugs such as the Solaris / Veritas filesystem combination which has been observed to sometimes exhibit hangs trying to lock log files.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">one_process_model<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If you have a Linux 2.4 kernel, it is possible to use a different security model which only uses one process per connection. It is a less pure security model, but gains you performance. You really don&#8217;t want to enable this unless you know what you are doing, and your site supports huge numbers of simultaneously connected users.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">passwd_chroot_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, along with chroot_local_user , then a chroot() jail location may be specified on a per-user basis. Each user&#8217;s jail is derived from their home directory string in /etc/passwd. The occurrence of /./ in the home directory string denotes that the jail is at that particular location in the path.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pasv_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to NO if you want to disallow the PASV method of obtaining a data connection.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pasv_promiscuous<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to YES if you want to disable the PASV security check that ensures the data connection originates from the same IP address as the control connection. Only enable if you know what you are doing! The only legitimate use for this is in some form of secure tunnelling scheme, or perhaps to facilitate FXP support.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">port_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to NO if you want to disallow the PORT method of obtaining a data connection.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">port_promiscuous<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to YES if you want to disable the PORT security check that ensures that outgoing data connections can only connect to the client. Only enable if you know what you are doing!<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">run_as_launching_user<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to YES if you want vsftpd to run as the user which launched vsftpd. This is useful where root access is not available. MASSIVE WARNING! Do NOT enable this option unless you totally know what you are doing, as naive use of this option can create massive security problems. Specifically, vsftpd does not / cannot use chroot technology to restrict file access when this option is set (even if launched by root). A poor substitute could be to use a deny_file setting such as {/*,*..*}, but the reliability of this cannot compare to chroot, and should not be relied on. If using this option, many restrictions on other options apply. For example, options requiring privilege such as non-anonymous logins, upload ownership changing, connecting from port 20 and listen ports less than 1024 are not expected to work. Other options may be impacted.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">secure_email_list_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Set to YES if you want only a specified list of e-mail passwords for anonymous logins to be accepted. This is useful as a low-hassle way of restricting access to low-security content without needing virtual users. When enabled, anonymous logins are prevented unless the password provided is listed in the file specified by the email_password_file setting. The file format is one password per line, no extra whitespace. The default filename is /etc/vsftpd.email_passwords.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">session_support<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This controls whether vsftpd attempts to maintain sessions for logins. If vsftpd is maintaining sessions, it will try and update utmp and wtmp. It will also open a pam_session if using PAM to authenticate, and only close this upon logout. You may wish to disable this if you do not need session logging, and you wish to give vsftpd more opportunity to run with less processes and / or less privilege. NOTE &#8211; utmp and wtmp support is only provided with PAM enabled builds.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">setproctitle_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, vsftpd will try and show session status information in the system process listing. In other words, the reported name of the process will change to reflect what a vsftpd session is doing (idle, downloading etc). You probably want to leave this off for security purposes.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ssl_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, and vsftpd was compiled against OpenSSL, vsftpd will support secure connections via SSL. This applies to the control connection (including login) and also data connections. You&#8217;ll need a client with SSL support too. NOTE!! Beware enabling this option. Only enable it if you need it. vsftpd can make no guarantees about the security of the OpenSSL libraries. By enabling this option, you are declaring that you trust the security of your installed OpenSSL library.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ssl_sslv2<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is activated. If enabled, this option will permit SSL v2 protocol connections. TLS v1 connections are preferred.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ssl_sslv3<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is activated. If enabled, this option will permit SSL v3 protocol connections. TLS v1 connections are preferred.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ssl_tlsv1<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Only applies if ssl_enable is activated. If enabled, this option will permit TLS v1 protocol connections. TLS v1 connections are preferred.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">syslog_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, then any log output which would have gone to /var/log/vsftpd.log goes to the system log instead. Logging is done under the FTPD facility.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">tcp_wrappers<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, and vsftpd was compiled with tcp_wrappers support, incoming connections will be fed through tcp_wrappers access control. Furthermore, there is a mechanism for per-IP based configuration. If tcp_wrappers sets the VSFTPD_LOAD_CONF environment variable, then the vsftpd session will try and load the vsftpd configuration file specified in this variable.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">text_userdb_names<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    By default, numeric IDs are shown in the user and group fields of directory listings. You can get textual names by enabling this parameter. It is off by default for performance reasons.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">tilde_user_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, vsftpd will try and resolve pathnames such as ~chris/pics, i.e. a tilde followed by a username. Note that vsftpd will always resolve the pathnames ~ and ~/something (in this case the ~ resolves to the initial login directory). Note that ~user paths will only resolve if the file /etc/passwd may be found within the _current_ chroot() jail.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">use_localtime<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, vsftpd will display directory listings with the time in your local time zone. The default is to display GMT. The times returned by the MDTM FTP command are also affected by this option.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">use_sendfile<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    An internal setting used for testing the relative benefit of using the sendfile() system call on your platform.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">userlist_deny<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is examined if userlist_enable is activated. If you set this setting to NO, then users will be denied login unless they are explicitly listed in the file specified by userlist_file. When login is denied, the denial is issued before the user is asked for a password.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: YES<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">userlist_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, vsftpd will load a list of usernames, from the filename given by userlist_file. If a user tries to log in using a name in this file, they will be denied before they are asked for a password. This may be useful in preventing cleartext passwords being transmitted. See also userlist_deny.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">virtual_use_local_privs<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, virtual users will use the same privileges as local users. By default, virtual users will use the same privileges as anonymous users, which tends to be more restrictive (especially in terms of write access).<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">write_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This controls whether any FTP commands which change the filesystem are allowed or not. These commands are: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">xferlog_enable<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, a log file will be maintained detailling uploads and downloads. By default, this file will be placed at /var/log/vsftpd.log, but this location may be overridden using the configuration setting vsftpd_log_file.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO (but the sample config file enables it)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">xferlog_std_format<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If enabled, the transfer log file will be written in standard xferlog format, as used by wu-ftpd. This is useful because you can reuse existing transfer statistics generators. The default format is more readable, however. The default location for this style of log file is /var/log/xferlog, but you may change it with the setting xferlog_file.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: NO<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:red;font-family:Arial;font-size:10pt;"><strong>NUMERIC OPTIONS<br />
</strong></span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Below is a list of numeric options. A numeric option must be set to a non negative integer. Octal numbers are supported, for convenience of the umask options. To specify an octal number, use 0 as the first digit of the number.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">accept_timeout<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The timeout, in seconds, for a remote client to establish connection with a PASV style data connection.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 60<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_max_rate<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The maximum data transfer rate permitted, in bytes per second, for anonymous clients.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (unlimited)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_umask<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The value that the umask for file creation is set to for anonymous users. NOTE! If you want to specify octal values, remember the &#8220;0&#8243; prefix otherwise the value will be treated as a base 10 integer!<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 077<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">connect_timeout<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The timeout, in seconds, for a remote client to respond to our PORT style data connection.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 60<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">data_connection_timeout<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The timeout, in seconds, which is roughly the maximum time we permit data transfers to stall for with no progress. If the timeout triggers, the remote client is kicked off.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 300<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">file_open_mode<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The permissions with which uploaded files are created. Umasks are applied on top of this value. You may wish to change to 0777 if you want uploaded files to be executable.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0666<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftp_data_port<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The port from which PORT style connections originate (as long as the poorly named connect_from_port_20 is enabled).<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 20<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">idle_session_timeout<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The timeout, in seconds, which is the maximum time a remote client may spend between FTP commands. If the timeout triggers, the remote client is kicked off.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 300<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">listen_port<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If vsftpd is in standalone mode, this is the port it will listen on for incoming FTP connections.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 21<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">local_max_rate<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The maximum data transfer rate permitted, in bytes per second, for local authenticated users.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (unlimited)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">local_umask<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The value that the umask for file creation is set to for local users. NOTE! If you want to specify octal values, remember the &#8220;0&#8243; prefix otherwise the value will be treated as a base 10 integer!<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 077<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">max_clients<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If vsftpd is in standalone mode, this is the maximum number of clients which may be connected. Any additional clients connecting will get an error message.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (unlimited)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">max_per_ip<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If vsftpd is in standalone mode, this is the maximum number of clients which may be connected from the same source internet address. A client will get an error message if they go over this limit.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (unlimited)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pasv_max_port<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The maximum port to allocate for PASV style data connections. Can be used to specify a narrow port range to assist firewalling.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (use any port)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pasv_min_port<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The minimum port to allocate for PASV style data connections. Can be used to specify a narrow port range to assist firewalling.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (use any port)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">trans_chunk_size<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    You probably don&#8217;t want to change this, but try setting it to something like 8192 for a much smoother bandwidth limiter.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: 0 (let vsftpd pick a sensible setting)<br />
</span></p>
<p>
 </p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">STRING OPTIONS<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Below is a list of string options.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">anon_root<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option represents a directory which vsftpd will try to change into after an anonymous login. Failure is silently ignored.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">banned_email_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of a file containing a list of anonymous e-mail passwords which are not permitted. This file is consulted if the option deny_email_enable is enabled.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /etc/vsftpd.banned_emails<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">banner_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of a file containing text to display when someone connects to the server. If set, it overrides the banner string provided by the ftpd_banner option.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chown_username<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This is the name of the user who is given ownership of anonymously uploaded files. This option is only relevant if another option, chown_uploads, is set.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: root<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">chroot_list_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    The option is the name of a file containing a list of local users which will be placed in a chroot() jail in their home directory. This option is only relevant if the option chroot_list_enable is enabled. If the option chroot_local_user is enabled, then the list file becomes a list of users to NOT place in a chroot() jail.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /etc/vsftpd.chroot_list<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">cmds_allowed<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This options specifies a comma separated list of allowed FTP commands (post login. USER, PASS and QUIT are always allowed pre-login). Other commands are rejected. This is a powerful method of really locking down an FTP server. Example: cmds_allowed=PASV,RETR,QUIT<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">deny_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option can be used to set a pattern for filenames (and directory names etc.) which should not be accessible in any way. The affected items are not hidden, but any attempt to do anything to them (download, change into directory, affect something within directory etc.) will be denied. This option is very simple, and should not be used for serious access control &#8211; the filesystem&#8217;s permissions should be used in preference. However, this option may be useful in certain virtual user setups. In particular aware that if a filename is accessible by a variety of names (perhaps due to symbolic links or hard links), then care must be taken to deny access to all the names. Access will be denied to items if their name contains the string given by hide_file, or if they match the regular expression specified by hide_file. Note that vsftpd&#8217;s regular expression matching code is a simple implementation which is a subset of full regular expression functionality. Because of this, you will need to carefully and exhaustively test any application of this option. And you are recommended to use filesystem permissions for any important security policies due to their greater reliability. Example: deny_file={*.mp3,*.mov,.private}<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">dsa_cert_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option specifies the location of the DSA certificate to use for SSL encrypted connections.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none &#8211; an RSA certificate suffices)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">email_password_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option can be used to provide an alternate file for usage by the secure_email_list_enable setting.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /etc/vsftpd.email_passwords<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftp_username<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">    This is the name of the user we use for handling anonymous <a></span><span style="color:blue;text-decoration:underline;">FTP.</span><span style="color:black;"> The home directory of this user is the root of the anonymous FTP area.<br />
</span></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: ftp<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftpd_banner<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This string option allows you to override the greeting banner displayed by vsftpd when a connection first comes in.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none &#8211; default vsftpd banner is displayed)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">guest_username<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    See the boolean setting guest_enable for a description of what constitutes a guest login. This setting is the real username which guest users are mapped to.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: ftp<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">hide_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option can be used to set a pattern for filenames (and directory names etc.) which should be hidden from directory listings. Despite being hidden, the files / directories etc. are fully accessible to clients who know what names to actually use. Items will be hidden if their names contain the string given by hide_file, or if they match the regular expression specified by hide_file. Note that vsftpd&#8217;s regular expression matching code is a simple implementation which is a subset of full regular expression functionality. Example: hide_file={*.mp3,.hidden,hide*,h?}<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">listen_address<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    If vsftpd is in standalone mode, the default listen address (of all local interfaces) may be overridden by this setting. Provide a numeric IP address.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">listen_address6<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Like listen_address, but specifies a default listen address for the IPv6 listener (which is used if listen_ipv6 is set). Format is standard IPv6 address format.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">local_root<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option represents a directory which vsftpd will try to change into after a local (i.e. non-anonymous) login. Failure is silently ignored.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">message_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of the file we look for when a new directory is entered. The contents are displayed to the remote user. This option is only relevant if the option dirmessage_enable is enabled.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: .message<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">nopriv_user<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This is the name of the user that is used by vsftpd when it wants to be totally unprivileged. Note that this should be a dedicated user, rather than nobody. The user nobody tends to be used for rather a lot of important things on most machines.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: nobody<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pam_service_name<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This string is the name of the PAM service vsftpd will use.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: ftp<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">pasv_address<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Use this option to override the IP address that vsftpd will advertise in response to the PASV command. Provide a numeric IP address.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none &#8211; the address is taken from the incoming connected socket)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">rsa_cert_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option specifies the location of the RSA certificate to use for SSL encrypted connections.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /usr/share/ssl/certs/vsftpd.pem<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">secure_chroot_dir<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option should be the name of a directory which is empty. Also, the directory should not be writable by the ftp user. This directory is used as a secure chroot() jail at times vsftpd does not require filesystem access.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /usr/share/empty<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ssl_ciphers<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option can be used to select which SSL ciphers vsftpd will allow for encrpyted SSL connections. See the ciphers man page for further details. Note that restricting ciphers can be a useful security precaution as it prevents malicious remote parties forcing a cipher which they have found problems with.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: DES-CBC3-SHA<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">user_config_dir<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This powerful option allows the override of any config option specified in the manual page, on a per-user basis. Usage is simple, and is best illustrated with an example. If you set user_config_dir to be /etc/vsftpd_user_conf and then log on as the user &#8220;chris&#8221;, then vsftpd will apply the settings in the file /etc/vsftpd_user_conf/chris for the duration of the session. The format of this file is as detailed in this manual page! PLEASE NOTE that not all settings are effective on a per-user basis. For example, many settings only prior to the user&#8217;s session being started. Examples of settings which will not affect any behviour on a per-user basis include listen_address, banner_file, max_per_ip, max_clients, xferlog_file, etc.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">user_sub_token<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is useful is conjunction with virtual users. It is used to automatically generate a home directory for each virtual user, based on a template. For example, if the home directory of the real user specified via guest_username is /home/virtual/$USER, and user_sub_token is set to $USER, then when virtual user fred logs in, he will end up (usually chroot()&#8217;ed) in the directory /home/virtual/fred. This option also takes affect if local_root contains user_sub_token.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: (none)<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">userlist_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of the file loaded when the userlist_enable option is active.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /etc/vsftpd.user_list<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">vsftpd_log_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of the file to which we write the vsftpd style log file. This log is only written if the option xferlog_enable is set, and xferlog_std_format is NOT set. Alternatively, it is written if you have set the option dual_log_enable. One further complication &#8211; if you have set syslog_enable, then this file is not written and output is sent to the system log instead.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /var/log/vsftpd.log<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">xferlog_file<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    This option is the name of the file to which we write the wu-ftpd style transfer log. The transfer log is only written if the option xferlog_enable is set, along with xferlog_std_format. Alternatively, it is written if you have set the option dual_log_enable.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">    Default: /var/log/xferlog<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;"><br />
		</span> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/130/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/130/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/130/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=130&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/vsftp_sample-config-file-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>Các bước tạo một FPT Server:</title>
		<link>http://sonntit.wordpress.com/2009/08/15/cac-b%c6%b0%e1%bb%9bc-t%e1%ba%a1o-m%e1%bb%99t-fpt-server/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/cac-b%c6%b0%e1%bb%9bc-t%e1%ba%a1o-m%e1%bb%99t-fpt-server/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 05:23:38 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[FTP]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/cac-b%c6%b0%e1%bb%9bc-t%e1%ba%a1o-m%e1%bb%99t-fpt-server/</guid>
		<description><![CDATA[Các bước tạo một FPT Server:   yum -y install vsftpd &#38;&#38; vi /etc/vsftpd/vsftpd.conf     local_enable=YES # cho phép user trong mạng local     write_enable=YES # cho phép users upload file lên     chroot_local_user=YES # giới hạn users trong thư mục riêng của chính user đó #/etc/init.d/vsftpd restart Tạo user, home directory và phân quyền #useradd ftpuser &#38;&#38; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=128&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:black;font-family:Arial;font-size:10pt;background-color:yellow;"><strong>Các bước tạo một FPT Server:<br />
</strong></span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">yum -y install vsftpd &amp;&amp; vi /etc/vsftpd/vsftpd.conf<br />
</span></p>
<p><span style="font-family:Arial;font-size:10pt;"><span style="color:black;">    </span><span style="color:red;">local_enable=YES # cho phép user trong mạng local<br />
</span></span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;">    write_enable=YES # cho phép users upload file lên<br />
</span></p>
<p><span style="color:red;font-family:Arial;font-size:10pt;">    chroot_local_user=YES # giới hạn users trong thư mục riêng của chính user đó<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">#/etc/init.d/vsftpd restart<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Tạo user, home directory và phân quyền<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">#useradd ftpuser &amp;&amp; passwd ftpuser<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">#mkdir /home/ftpuser &amp;&amp; chown ftpuser /home/ftpuser<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">Default firewall của linux sẽ block fpt, phải add rule cho nó chấp nhận connection vào từ local và internet với port 21<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">iptables -A INPUT -p tcp -m tcp &#8211;dport 21 -j ACCEPT<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">Nếu dùng shorewall thì vi /etc/shorewall/rules, hoặc sửa bằng command echo<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">echo ACCEPT net $FW tcp 21 &gt;&gt; /etc/shorewall/rules<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">echo ACCEPT loc $FW tcp 21 &gt;&gt; /etc/shorewall/rules<br />
</span></p>
<p><span style="color:lime;font-family:Arial;font-size:10pt;">shorewall restart<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Test lại, từ windows xp command promt:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">C:\Documents and Settings\Administrator&gt;ftp 192.168.0.12<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Connected to 192.168.0.12.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">220 Welcome Unix VSFTP<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">User (192.168.0.12(none)): ftpuser<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">331 Please specify the password.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Password:<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">230 Login successful.<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftp&gt;<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">tạo thư mục abc và kiểm tra quyền ghi<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftp&gt;mkdir abc<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">257 &#8220;/abc&#8221; created<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Kiểm tra xem nó có thiệt hay không nhá,<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">ftp&gt;dir<br />
</span></p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwx&#8212;&#8212; 2 1008 1008 4096 Sep 07 06:47 abc 226 Directory send OK. ftp: 61 bytes received in 0.00Seconds 61000.00Kbytes/sec.<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Để giới hạn một ip download 3 connection để điều tiết băng thông:<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">add thêm dòng này trong /etc/vsftpd.conf<br />
</span></p>
<p>
 </p>
<p><span style="color:red;font-family:Arial;font-size:10pt;">max_per_ip=3<br />
</span></p>
<p>
 </p>
<p><span style="color:red;font-family:Arial;font-size:10pt;">#/etc/init.d/vsftpd restart<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Vậy thì khi  dùng flashget download nhiều hơn 3 connection server sẽ báo lỗi error 421<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">421 There are too many connections from 210.77.77.77<br />
</span></p>
<p>
 </p>
<p><span style="color:black;font-family:Arial;font-size:10pt;">Nếu bạn để ftp trong DMZ hoặc phía sau firewall linux thì cần phải config cho NAT cho firewall<br />
</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=128&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/cac-b%c6%b0%e1%bb%9bc-t%e1%ba%a1o-m%e1%bb%99t-fpt-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>
	</item>
		<item>
		<title>Single Sign-on System</title>
		<link>http://sonntit.wordpress.com/2009/08/15/single-sign-on-system/</link>
		<comments>http://sonntit.wordpress.com/2009/08/15/single-sign-on-system/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 04:33:49 +0000</pubDate>
		<dc:creator>sonntit</dc:creator>
				<category><![CDATA[W2L]]></category>

		<guid isPermaLink="false">http://sonntit.wordpress.com/2009/08/15/single-sign-on-system/</guid>
		<description><![CDATA[DC: yum -y install samba* pam pam-devel named gcc*rpm -ivh webmin*&#8230;rpmInstall DNS (Tự cài) Mail: yum -y install httpd postfix dovecot squirrelmailrpm -e &#8211;nodeps sendmailrpm -ivh webmin*&#8230;rpm Cluster webmin:https://192.168.1.247:10000https://192.168.1.248:10000 Disable SSL mode on both DC and MailWebmin  Webmin Configuration  SSL Encryption Cluster 2 webmin servers (Thực hiện trên cả 2 servers)Webmin  Webmin [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=127&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<ol>
<li><span style="font-size:14pt;"><span style="color:red;"><strong>DC: <br /></strong></span>yum -y install samba* pam pam-devel named gcc*<br />rpm -ivh webmin*&#8230;rpm<br />Install DNS (Tự cài)<br />
</span></li>
<li><span style="font-size:14pt;"><span style="color:red;"><strong>Mail: <br /></strong></span>yum -y install httpd postfix dovecot squirrelmail<br />rpm -e &#8211;nodeps sendmail<br />rpm -ivh webmin*&#8230;rpm<br />
</span></li>
<li>
<div><span style="font-size:14pt;"><span style="color:red;"><strong>Cluster webmin:<br /><a></strong></span><span style="color:blue;text-decoration:underline;">https://192.168.1.247:10000</span><span style="color:red;"><strong><br /><a></strong></span><span style="color:blue;text-decoration:underline;">https://192.168.1.248:10000</span><span style="color:red;"><strong><br />
						</strong></span></span></div>
<ol>
<li><span style="font-size:14pt;"><strong>Disable SSL mode on both DC and Mail<br /></strong>Webmin <span style="font-family:Wingdings;"></span> Webmin Configuration <span style="font-family:Wingdings;"></span> SSL Encryption<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno1.png?w=600"><br />
					</span></li>
<li><span style="font-size:14pt;"><span style="color:red;">Cluster 2 webmin servers (Thực hiện trên cả 2 servers)<br /></span>Webmin <span style="font-family:Wingdings;"></span> Webmin Server Index <span style="font-family:Wingdings;"></span> Register a new server<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno2.png?w=600"><br />Register a new server again<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno3.png?w=600"><br />We will have list of 2 servers on each webmin (247 and 248)<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno4.png?w=600"><br />
					</span></li>
<li><span style="font-size:14pt;"><span style="color:red;">Kiểm tra chức năng RPC call bằng cách click vào từng server, nếu có thể log in mà</span><br />
						<span style="color:red;">không hỏi password là thành công.<br />
</span></span></li>
<li><span style="font-size:14pt;"><span style="color:red;">Vào Server <span style="font-family:Wingdings;"></span> Samba Window File Sharing <span style="font-family:Wingdings;"></span> Configure automatic Unix and Samba</span><br />
						<span style="color:red;">user synchronization và tick chọn tất cả option. Sau đó Apply<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno5.png?w=600"><br />
						</span></span></li>
<li><span style="font-size:14pt;"><span style="color:red;">Vào Server <span style="font-family:Wingdings;"></span> Samba Window File Sharing <span style="font-family:Wingdings;"></span> Configure automatic Unix and Samba</span> group synchronization và tick chọn tất cả option. Sau đó Apply<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno6.png?w=600"><br />
					</span></li>
<li><span style="font-size:14pt;"><span style="color:red;">Add cả 2 server vào cluster module:<br /></span>Vào Cluster <span style="font-family:Wingdings;"></span> Cluster users and groups và Add lần lượt từng server<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno7.png?w=600"><br />Kết quả tại 2 server, vào menu Cluster <span style="font-family:Wingdings;"></span> Cluster users and groups, ta có:<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno8.png?w=600"><br />
					</span></li>
</ol>
</li>
<li>
<div><span style="color:red;font-size:14pt;"><strong>Sử dụng cluster webmin để tạo group và user đồng bộ trên cả 2 servers:<br />
</strong></span></div>
<ol>
<li><span style="font-size:14pt;"><strong>Đầu tiên lên cả 2 server tạo thư mục home cho các user và thư mục dùng chung<br /></strong>mkdir -p /home/accountance/ac1<br />mkdir -p /home/accountance/ac2<br />mkdir -p /home/accountance/acshare</p>
<p>mkdir -p /home/business/bu1<br />mkdir -p /home/business/bu2<br />mkdir -p /home/business/bushare</p>
<p>mkdir -p /home/allshare<br />
					</span></li>
<li><span style="font-size:14pt;"><strong>Vào webmin cluster tạo group. Chú ý tạo group trước và 451&lt; group id &lt; 499 <br /></strong>Trên DC <img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno9.png?w=600">, vào Cluster <span style="font-family:Wingdings;"></span> Cluster users and groups <span style="font-family:Wingdings;"></span> Click Add Group<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno10.png?w=600"><br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno11.png?w=600"><br />
						<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno12.png?w=600"><br />Sau đó Return to server list và <img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno13.png?w=600">(trên 2 server)<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno14.png?w=600"><br />và<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno15.png?w=600"><br />Đảm bảo cluster đã tạo group &#8216;accountance&#8217; id 450 trên cả 2 servers. Check lại bằng tay trên cả 2 server<br />vi /etc/group<br />Thực hiện chuỗi thao tác tương tự để tạo group &#8216;business&#8217; với group id = 451. Chú ý thao tác Refresh <strong>trên cả 2 server.<br />
</strong></span></li>
<li><span style="font-size:14pt;"><strong>Trên DC, click vào Add User để tạo user ac1 thuộc phòng accountance<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno16.png?w=600"><br /></strong><br />
					</span></li>
<li><span style="font-size:14pt;"><strong>Phân quyền đúng cho user và group trên thư mục home của họ trên cả 2 servers<br /></strong>chmod -R 777 /home/
<p>chgrp -R accountance /home/accountance/<br />chmod -R 770 /home/accountance/<br />chgrp -R business /home/business/<br />chmod -R 770 /home/business/<br />chmod -R 3777 /home/allshare/</p>
<p>chown -R ac1 /home/accountance/ac1/<br />chmod -R 700 /home/accountance/ac1/<br />chown -R ac2 /home/accountance/ac2/<br />chmod -R 700 /home/accountance/ac2/<br />chmod -R 3770 /home/accountance/acshare/</p>
<p>chown -R bu1 /home/business/bu1/<br />chmod -R 700 /home/business/bu1/<br />chown -R bu2 /home/business/bu2/<br />chmod -R 700 /home/business/bu2/<br />chmod -R 3770 /home/business/bushare/<br />
</span></li>
</ol>
</li>
<li>
<div><span style="font-size:14pt;"><span style="color:red;"><strong>Cấu hình Samba; Samba-swat trên DC<br /></strong></span>mkdir -p /var/lib/samba/netlogon/scripts<br />mkdir -p /var/lib/samba/netlogon/profiles<br />
</span></div>
<ol>
<li><span style="font-size:14pt;"><strong>Copy file smb.conf vào /etc/samba/<br /></strong>vi /etc/xinetd.d/swat<br /></span><span style="font-size:8pt;">service swat<br />
</span></li>
</ol>
<p><span style="font-size:8pt;">{<br />
</span></p>
<p><span style="font-size:8pt;">    port        = 901<br />
</span></p>
<p><span style="font-size:8pt;">    socket_type    = stream<br />
</span></p>
<p><span style="font-size:8pt;">    wait         = no<br />
</span></p>
<p><span style="font-size:8pt;">    only_from     = 127.0.0.1; 192.168.1.0 // chu y 1.0 la dia chi mang cua DC, ko phai IP cua client moc vo. phai la dau ;<br />
</span></p>
<p><span style="font-size:8pt;">    user        = root<br />
</span></p>
<p><span style="font-size:8pt;">    server        = /usr/sbin/swat<br />
</span></p>
<p><span style="font-size:8pt;">    log_on_failure    += USERID<br />
</span></p>
<p><span style="font-size:8pt;">    disable        = no<br />
</span></p>
<p><span style="font-size:8pt;">}<br /></span><span style="font-size:14pt;">/etc/init.d/xinetd restart<br />netstat -nltu để check lại port samba swat (port 901) đã mở.<br /></span><span style="font-size:8pt;"><br />
				</span></p>
<ol>
<li><span style="font-size:14pt;"><strong>Cấu hình samba <a href="http://192.168.1.247:901"><span style="color:blue;text-decoration:underline;">http://192.168.1.247:901</span></a><br />
							<br /></strong>Vào GLOBALS <span style="font-family:Wingdings;"></span> Advanced <span style="font-family:Wingdings;"></span> Advanced. (Nhớ commit change khi hoàn tất)<br /><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno17.png?w=600"><br />và chỉnh một số option cần thiết là: <br /></span>Chinh workgroup thanh ten domain
</li>
</ol>
<p>Realm dat giong ten domain
</p>
<p><span style="color:red;">Netbios names thanh ten may nhu trong hosts va network<br />
</span></p>
<p>Server string ten dien giai, dat ngan thoi
</p>
<p>Interface             la card mang lang nghe smb
</p>
<p>Security             user
</p>
<p>Os level             dat tren 32 (33)
</p>
<p>Domain master         yes (neu la BDC la &#8220;no&#8221;)
</p>
<p>DNS Proxy        yes
</p>
<p>Wins Support        yes ( vi cap do uu tien: host -&gt; Wins -&gt; DNS )
</p>
<p>Logon script        scripts\%U.vbs
</p>
<p>Nt acl support        no (giấu tab security ở người dùng cuối)
</p>
<ol>
<li><span style="font-size:14pt;"><strong>vi /etc/samba/smb.conf<br /></strong><span style="font-family:Arial;">File smb.conf<br /></span>[public]<br />Browseable = No ( Không cho hiển thị trong My Network Place)<br />write list = &#8220;username&#8221; (admin của share public)<br />create mask = 0755 (Ép quyền của File khi được tạo mới)<br />directory mask = 0755 (tương tự cho thư mục)<br />;force user = root (ép file được tạo mới bằng bất kỳ ai cũng có quyền owner là root)<br />;force group = &#8220;groupname&#8221; (tương tự cho group: chú ý khi một số chương trình chỉ chạy với quyền  của owner và group xác định)    <br />read only = No (Không cho user tạo file và cố tình đặt quyền read only)!!!!!<br />
</span></li>
<li>
<div><span style="font-size:14pt;"><strong>Restart smb service <br /></strong>smbpasswd -a root<br />Sau đó join client vào Samba. Chú ý trỏ dns về cho đúng.<br />User nào cần login domain thì smbpasswd -a user đó.<br />
</span></div>
<p><span style="font-size:14pt;">và test lại <a href="\\192.168.1.247"><span style="color:blue;text-decoration:underline;">\\192.168.1.247</span></a> bằng ac1, ac2, bu1, bu2 … để xem samba và file permission  làm việc tốt chưa.<br />
</span></p>
</li>
</ol>
</li>
<li>
<div><span style="color:red;font-size:14pt;"><strong>Cài module VNL.A.M.P-SamBa.tar.gz để đồng bộ password từ Samba xuống Linux <br /></strong></span><span style="font-family:Arial;"><br /></span><span style="font-size:14pt;">password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass<br />
				</span></div>
<p><span style="font-size:14pt;"><br />
					<img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno18.png?w=600"><br />
				</span></p>
</li>
<li><span style="color:red;font-size:14pt;"><strong>Cài đặt gói VNL.A.M.P-Sync để đồng bộ password từ Linux sang Linux
<p><img src="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno19.png?w=600"><br />
				</strong></span></li>
<li><span style="color:red;font-size:14pt;"><strong>Map ổ đĩa tự động<br />
</strong></span></li>
</ol>
<p><span style="font-size:10pt;"><em>Option Explicit<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>Dim objNetwork, strDrive, objShell, objUNC<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>Dim strRemotePath, strRemotePath1, strRemotePath2, strDriveLetter, strDriveLetter1, strDriveLetter2, strNewName, strNewName1, strNewName2<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>&#8216;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>&#8216; Thay ServerName voi ten server<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strDriveLetter = &#8220;H:&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strRemotePath = &#8220;\\splendid&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strNewName = &#8220;home&#8221;<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>strDriveLetter1 = &#8220;K:&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strRemotePath1 = &#8220;\\splendid\allshare&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strNewName1 = &#8220;allshare&#8221;<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>strDriveLetter2 = &#8220;T:&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strRemotePath2 = &#8220;\\splendid\acshare&#8221;<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strNewName2 = &#8220;acshare&#8221;<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>&#8216; Section to map the network drive<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>&#8216; Map drive cho user<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>On Error Resume Next<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>Set objNetwork = CreateObject(&#8220;WScript.Network&#8221;)<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>If (LCase(objNetwork.UserName) = &#8220;root&#8221; or LCase(objNetwork.UserName) = &#8220;sonnt&#8221;) Then<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objNetwork.MapNetworkDrive strDriveLetter, strRemotePath<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strNewName = objNetwork.UserName<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>Else<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objNetwork.MapNetworkDrive strDriveLetter, strRemotePath + &#8220;\&#8221; + objNetwork.UserName<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>strNewName = objNetwork.UserName<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>End If<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>&#8216; Map drive cho PublicData<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objNetwork.MapNetworkDrive strDriveLetter, strRemotePath<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>&#8216; Section which actually (re)names the Mapped Drive<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>Set objShell = CreateObject(&#8220;Shell.Application&#8221;)<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objShell.NameSpace(strDriveLetter).Self.Name = strNewName<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objShell.NameSpace(strDriveLetter1).Self.Name = strNewName1<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>objShell.NameSpace(strDriveLetter1).Self.Name = strNewName2<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>&#8216;Wscript.Echo &#8220;Check : &#8220;&amp; strDriveLetter &amp; &#8221; for &#8221; &amp; strNewName<br />
</em></span></p>
<p><span style="font-size:10pt;"><em>WScript.Quit<br />
</em></span></p>
<p>
 </p>
<p><span style="font-size:10pt;"><em>&#8216; End of script<br />
</em></span></p>
<ol>
<li><span style="color:red;font-size:14pt;"><strong>Join XP và test lại<br />
</strong></span></li>
</ol>
<p><span style="font-size:14pt;">Change Computer Name và WorkGroup giống tên domain. Chạy fixsamba.reg. Restart lại XP.<br />Set IP address, WINS, DNS<br />Kiểm tra lại: <br />ping pdc nếu ra IP là Wins thành công.<br />ping pdc.ketoan.com nếu ra IP à DNS thành công.<br />Tiến hành Join XP vô Domain.<br />
</span></p>
<ul style="margin-left:90pt;">
<li><span style="font-size:14pt;">Trong Local Security Settings. Security Options. Disable các option: <br />Domain member: Digitally encrpt secure channel data <br />Domain member: Digitally sign secure …<br />Domain member: disable machine account password…<br />Domain member: require strong (…)<br />
</span></li>
</ul>
<p><span style="font-size:14pt;"><br />
		</span> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sonntit.wordpress.com/127/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sonntit.wordpress.com/127/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sonntit.wordpress.com/127/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sonntit.wordpress.com&amp;blog=8987433&amp;post=127&amp;subd=sonntit&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://sonntit.wordpress.com/2009/08/15/single-sign-on-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b2a85b48d3d0419a5d0c2f21badb4e1?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sonntit</media:title>
		</media:content>

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno1.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno2.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno3.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno4.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno5.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno6.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno7.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno8.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno9.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno10.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno11.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno12.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno13.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno14.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno15.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno16.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno17.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno18.png" medium="image" />

		<media:content url="http://sonntit.files.wordpress.com/2009/08/081509_0427_singlesigno19.png" medium="image" />
	</item>
	</channel>
</rss>
