Ubuntuファイアウォール機能をまとめます。Redhat系のLinuxシステム(CentOSなど)はiptablesを使ってファイアウォールを機能しています、Ubuntuはもちろんiptablesコマンドで設定できますが、このトピックはこれを割愛して、もっと簡単なツール―ufwの知識を紹介します。
ファイアウォール状態確認
sudo ufw status
ファイアウォールを起動
sudo ufw enable
ファイアウォールを停止
sudo ufw disable
ファイアウォールログ機能を起動
sudo ufw logging on
ファイアウォールログ機能を停止
sudo ufw logging off
ファイアウォールサービス再起動
sudo service ufw restart
基本はファイアウォールが起動したら、デフォールトとしてすべてのポートをブロックされます、必要なポートを後自分で一つ一つオープンするようにします。
ポートオープン
sudo ufw allow 22
TCPポートのみオープン
sudo ufw allow 22/tcp
UPDポートのみオープン
sudo ufw allow 53/udp
サービス名で設定
sudo ufw allow ssh
※サービス名チェック
less /etc/services
ルール削除
sudo ufw delete allow 22
IPアドレス許可
sudo ufw allow from 192.168.1.1
IPアドレス禁止
sudo ufw deny from 192.168.1.1
セグメント許可
sudo ufw allow from 192.168.1.0/24
セグメント禁止
sudo ufw deny from 192.168.1.0/24
あるIPアドレスからポート許可
sudo ufw allow from 192.168.1.1 to any port 22
あるIPアドレスをポート禁止
sudo ufw deny from 192.168.1.1 to any port 22
ping禁止
sudo nano -wciE -T 4 /etc/ufw/before.rules
...
#-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
...
自分で作ったり提供したりするものは、まず自分自身で使ってみろろということです。自分じゃ使わないものなら人はいくらでも無責任にも無思考にもなれる。そういう投げやりな「サービス」やら「プロダクツ」なんて、だれだってイヤだ。自分が作り手と同時に利用者の立場になれば、ちゃんと使えるレベルのものを提供しようとします。
2013年10月13日日曜日
2013年10月12日土曜日
UbuntuでMongoDBインストール
MongoDBをUbuntuでインストールしてみました。
参照URL
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
参照URL
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
#MongoDB GPGキー追加 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 #MongoDBサーバーリストを追加 echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list #Ubuntuシステム更新(上記設定した内容を適用) sudo apt-get update #MongoDBインストール sudo apt-get install mongodb-10gen #インストールMongoDBバージョン選択もできる apt-get install mongodb-10gen=2.2.3 echo "mongodb-10gen hold" | sudo dpkg --set-selections #インストールした関連ファイル /etc/mongodb.conf /etc/init.d/mongodb /var/lib/mongodb /var/log/mongodb #MongoDBサービス利用 sudo service mongodb start sudo service mongodb stop sudo service mongodb restart
Node.jsオブジェクト指向プログラミング
Node.jsオブジェクト指向サンプルを紹介します。
object.js
object_use.js
object.js
function Helo(){
var name;
this.setName = function(pName){
this.name = pName;
}
this.sayHelo = function(){
console.log('Helo ' + this.name);
}
};
//exports.Helo = Helo;
module.exports = Helo;
object_use.js
var Helo = require('./object');
helo1 = new Helo();
helo1.setName('koma');
helo1.sayHelo();
helo2 = new Helo();
helo2.setName('xiaoma');
helo2.sayHelo();
Node.jsモジュールサンプル
Node.jsで膨大なアプリを開発する場合、すべてのロジックをワインファイルに書くわけではないですから、モジュール化にする必要です。
module.js
module_use.js
module.js
var name;
exports.setName = function(pName){
this.name = pName;
};
exports.sayHelo = function(){
console.log('Helo ' + this.name);
};
module_use.js
var myModule = require('./module');
myModule.setName('koma');
myModule.setName('xiaoma');
myModule.sayHelo();
Node-Eventサンプル
Node.jsはイベント駆動開発フレームワークです、ここはイベントサンプルをメモします。
var EventEmitter = require('events').EventEmitter;
var event = new EventEmitter();
event.on('myevent', function(){
console.log('myevent occured.');
});
setTimeout(function(){
event.emit('myevent');
}, 2000);
ファイル存在判定(node.js)
Node.jsでファイル存在判定サンプルです。
仕様:
ファイル存在すれば、ファイル内容を出力;
存在しなければ、エラー内容を出力。
仕様:
ファイル存在すれば、ファイル内容を出力;
存在しなければ、エラー内容を出力。
nano readfile.js
...
var fs = require('fs');
fs.readFile('test1.js', 'utf-8', function(error, data){
if (error) {
console.error(error);
}
else {
console.log(data);
}
});
...
2013年10月11日金曜日
httpサーバー自作成
Node.jsを使って、簡単にhttpサーバーを作成できます。
var http = require('http');
var path = require('path');
http.createServer(
function(request, response) {
var lookup = path.basename(decodeURI(request.url));
response.writeHead(200, {
'Content-Type' : 'text/plain'
});
var pages = [ {
route : '',
output : 'Woohoo!'
}, {
route : 'about',
output : 'About Page'
}, {
route : 'another',
output : function() {
return "This is a route.";
}
} ];
pages.forEach(function(page) {
if (page.route == lookup) {
response.writeHead(200, {
'Content-Type' : 'text/plain'
});
response.end(typeof page.out === 'function' ? page.output()
: page.output);
}
});
if (!response.finished) {
response.writeHead(404);
response.end('Page Not Found.');
}
}).listen(8080, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8080/');
2013年10月9日水曜日
オブジェクト指向-Javascript
オブジェクト指向Javascriptサンプル
サンプルコード
サンプルコード
// javascriptオブジェクト宣言
var Person = function(living, age, gender){
this.living = living;
this.age = age;
this.gender = gender;
this.getGender = function(){return this.gender}
}
// インスタンス作成
var cody = new Person(true, 33, 'femail');
// JSON出力
console.log(cody);
console.log('cody.getGender()=' + cody.getGender());
// String型オブジェクト
var myString = new String('google!');
console.log(myString);
2013年10月6日日曜日
Ubuntuカーネルファイル削除
/boot容量を開放する方法を紹介します。
#/boot内容確認 ll /boot ... #linuxカーネルパッケージ確認 dpkg --get-selections |grep linux-image linux-image-3.2.0-31-generic install linux-image-3.2.0-32-generic install linux-image-3.2.0-33-generic install linux-image-3.2.0-34-generic install linux-image-3.2.0-35-generic install linux-image-3.2.0-36-generic install linux-image-3.2.0-37-generic install linux-image-generic install ... #不要なlinuxカーネルを削除 sudo apt-get remove -y linux-image-3.2.0-31-generic sudo apt-get autoremove -y ... #/boot容量確認 df -h #使用中カーネルバージョン確認 uname -a
2013年10月5日土曜日
Ubuntuでnode.jsインストール
参照ページ:
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
インストール手順:
インストール先:
/usr/lib/nodejs
/usr/lib/node_modules
https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
インストール手順:
sudo apt-get update sudo apt-get install python-software-properties python g++ make sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get update sudo apt-get install nodejs Expressインストール(MVC) sudo npm install express -g express --version 3.4.0
インストール先:
/usr/lib/nodejs
/usr/lib/node_modules
登録:
投稿 (Atom)