Linuxメモ


Linuxメモ

メッセージ出力を消したい場合は /dev/null を使え!

/dev/null への出力は、ディスクに書き込まれることはなく、全て破棄される。 commandの出力をすべて破棄したい場合

$ command >/dev/null 2>&1

また、/dev/null を読むと、いきなり EOF が現れる。よって、

$ cat /dev/null > file
$ cp /dev/null file

は、0 バイトのファイル file を作る、あるいは既に存在する file を 0 バイトにする効果がある。

bz2のファイルを圧縮解凍したい

圧縮: $ bzip2 document
解凍: $ bunzip2 document.bz2

ViでUTF-8を使う方法

/.vimrcに以下を設定

set fileencoding=japan
set fileencodings=iso-2022-jp,utf-8,euc-jp,ucs-2le,ucs-2,cp932

ログインしているユーザにメッセージを送るとき

$write userName

メッセージを書いてCtrl-Dで抜ける

全員に送る場合(ヒンシュク覚悟)

$wall

SSHを使ってのファイル転送

scp -r xml/ xx.xx.xx.xx:/home/moke/

SUID

プログラム等を実行した場合、通常は実行したユーザの権限でプログラムが実行される。よって例えばpasswdコマンドで一般ユーザがパスワード を変更する場合、/etc/shadowファイルを書き変えなければいけないが、/etc/shadowファイルに一般ユーザの書き込み権限は与えられていないため書き込む ことはできない。これはSUIDによって解決されている。SUIDがセットされたファイルは誰が実行しても所有者権限で動作します。(所有者が実行していることになる) よって所有者がrootであるならばそのファイルはroot権限で動作するため、/etc/shadowファイルにも書き込むことができるというわけです。

SUIDは一般ユーザでも他人の権限でプログラムを動作させることが可能ですからセキュリティホールになりえるので注意が必要です。 ファイルにSUIDをセットするには数値表記では" 4000 "を付加し、英字表記では所有者にセットユーザID(s)を付加する。

$ls -l
drwxrwxr-x    2  cyberam  cyberam  4096  6月 19 11:36 directory
-rwxr-xr-x  1 cyberam cyberam 7806  6月 19 20:51 program
$chmod 4755 program または chmod u+s program
$ls -l
drwxrwxr-x    2  cyberam  cyberam  4096  6月 19 11:36 directory
-rwsr-xr-x  1 cyberam cyberam 7806  6月 19 20:51 program

所有者の実行権限の部分が" s "となっていればSUIDがセットされている。

プログラムを定期的に実行する

プログラムを指定した時間に定期的に実行するためのデーモンcrondの設定を行う。設定はユーザーごとに用意されたcrontabという設定ファイルに記述する。 表示

$ crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.1455 installed on Wed Dec  1 02:14:18 1999)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
0 0 * * *   /home/hoge/logcut.pl ←毎日0時0分にlogcut.plを実行

編集

$ crontab -e

iso イメージをマウントする

mount -t iso9660 -o loop ISOイメージファイル名 

ネタ元
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/366getfilefiso.html
man ? なんすかそれ?

IPアドレスの設定

コマンドで設定 LinuxでネットワークIPを設定するには、以下のコマンドで行います。

/sbin/ifconfig eth0 inet ***.***.***.*** netmask ***.***.***.*** up

ここでeth0は設定するネットワークインターフェースです。 upは、設定時点でインターフェースを使用可能にします。

設定の確認 確認は/sbin/ifconfigコマンドで行います。

/sbin/ifconfig -a

ここで-aは全てのインタフェースを表示させます。 指定する場合は

/sbin/ifconfig eth0

のように、表示したいインターフェースを指定します。

ただ、コマンドで設定しただけでは再起動後には設定が破棄されます。 永続的に設定する場合は/etc/sysconfig/network-scripts/以下のファイルを編集します。 (RedHatLinux9から、/etc/sysconfig/networking/profiles/defaultの、ifcfg-eth0,networkも変更する必要があるみたいです。)

それでは実際にeth0の設定例を示します。 まず設定ファイルですが、/etc/sysconfig/network-scripts以下の"ifcfg-インタフェイス名"で設定します。 ここでは、"eth0"ですから、"/etc/sysconfig/network-scripts/ifcfg-eth0"になります。

1.IP=192.168.5.3 NETMASK=255.255.255.0 GATEWAY=192.168.5.1の場合

DEVICE='eth0'
BOOTPROTO='none'
BROADCAST='192.168.5.255'
IPADDR='192.168.5.3'
NETMASK='255.255.255.0'
NETWORK='192.168.5.0'
ONBOOT='yes'
GATEWAY='192.168.5.1'
TYPE='Ethernet'
USERCTL='no'

2.DHCPを使用した場合

DEVICE='eth0'
BOOTPROTO='dhcp'
ONBOOT='yes'
TYPE='Ethernet'

編集後、設定内容を反映させるため、以下のコマンドを発行してください。

/etc/rc.d/init.d/network restart

通信を監視したい

>ngrep port 8080

ポートを閉じたい

ポート79番へのTCPプロトコルでのアクセスを全面禁止する。
#iptables -A INPUT -p tcp --dport 79 -j DROP

現在のルールの確認
#iptables -L

ルールのクリア
#iptables -F

時刻の設定・表示

2000年2月8日14時11分にセットする

# date -s "02/08 14:11 2000"

指定した形式での表示する

$ date +"%Y/%m/%d %p %I:%M:%S"
1999/12/01 AM 12:22:19

Menu

Linux

サーバ構築

Windows

Java

Program

 

最新の20件

2008-04-02 2008-03-11 2008-01-28 2008-01-21 2007-11-27 2007-09-19 2007-06-07 2007-04-11 2007-04-06 2007-03-22 2006-12-20 2006-12-05 2006-12-04 2006-10-27 2006-09-22 2006-07-03 2006-05-16