rohaniのブログ

ゆるっと自然言語処理奴。ときどき工作系バイト。

サーバ管理未経験者がアカウント管理のために勉強したことをまとめる

Linuxユーザ

Linuxを使用するときにログインするユーザアカウント。ユーザ独自のパスワードを持つ。

ユーザアカウントの作成にはroot権限が必要になる。

$ cat /etc/passwd

全ユーザの情報を確認する。NISでアカウント情報を共有している場合、その内容はこのファイルには反映されていないので注意。

書式は、ユーザ名:x(古い環境では暗号化されたパスワード):uid:gid:(ユーザ作成時にのみ設定できる編集不可のコメント):ユーザのホームディレクトリ:ユーザが使用するシェル

$ who

今現在ログインしているユーザを確認する。

# useradd --gid xxxx --uid xxxx ユーザ名

gidとuidを予め設定しつつユーザの新規追加。

 # passwd ユーザ名

ユーザのパスワードを設定する

 # userdel -r ユーザ名

ユーザを削除する。-rオプションで、ホームディレクトリも自動削除。

Linuxグループ

例えば、特定のファイルの編集権限を特定のグループだけに与えたい、といったときに便利な概念。 ユーザは必ず一つ、メイングループに所属する。その他に所属するグループをサブグループという。

 $ cat /etc/group

全グループの情報を確認する。NISでアカウント情報を共有している場合、その内容はこのファイルには反映されていないので注意。

書式は、グループ名:x(古い環境では暗号化されたパスワード):gid:所属ユーザ(カンマ区切り)

 # groupadd グループ名

グループの新規作成。

 # groupdel グループ名

グループの削除。存在するユーザのメイングループを削除することは出来ない。

指定したグループのIDを持つファイルが残っている場合、グループを削除すると、そのファイルのパーミッションが不明(501)になる。

rootユーザ

Unix Like System上の唯一神

/etcなどのシステム全体の設定を変更することができたり、消してはいけないすべてのファイルも消すことができる。

 # id
 uid=0(root) gid=0(root)

rootかどうか確認する

 $ su

exitするまでの期間、root権限を使えるようになる。

rootパスワードを用いて実行するので、セキュリティを考えるとsudoの使用が推奨されている。

 $ sudo

コマンド単位で一時的にroot権限を使えるようになる。

ホームディレクト

ユーザがログインした直後に配置される場所。

一般ユーザが自由にファイルやディレクトリを作成しても良い空間は、基本的にこのホームディレクトリのみ。ユーザ個別の設定ファイルなどもこのディレクトリ内に置かれる。

基本的に他ユーザのホームディレクトリに変更を加えることはできない。

 $ cd ~     # 方法1
 $ cd        # 方法2

ホームディレクトリに戻る

プロセス

実行中のプログラムみたいなもの。タスクとも言う。

プロセスに適切なメモリやCPU時間などをOSが自動で割り振り、プロセスが終了したときに自動でそれらは開放される。

 $ ps aux

Linux上で現在動作しているプロセスを確認する。

a;端末操作のプロセスを表示、u;CPUやメモリの使用率なども表示、x;現在実行しているプロセスを表示

 $ pstree

プロセスの親子関係を確認する。

 $ top

Linux上で現在動作しているプロセスを確認する。

 $ kill プロセスID

指定したIDのプロセスを殺す。

ゾンビプロセスや暴走したプロセスをkillするときに使われる。基本的に自分の権限で実行しているプロセスしかkillできない。

他者のプロセスをkillする場合にはroot権限を必要とする。