ここで作成する制限ユーザは、移動も参照も何もできず、ビルトインコマンドを実行しようとしたらexitする。
■制限ユーザの作成方法
ログインした状態で、以下の処理を行う。
1.rbashコマンドを作成する
rbashとは、bash -r と同じ制限付きのシェル。
$ ln -s /bin/bash /bin/rbash
2.ユーザに制限を掛ける
エディタnanoを起動して、.bashrcを編集する。
$ nano ~/.bashrc
編集内容
.bashrc の末尾に以下を追記する。
aliasするコマンドは、bashのビルトインコマンド全て。
bashのビルトインコマンドは、helpで参照可能。
.bashrcの末尾に追加した内容。
export PS1="$ "
export PATH=""
alias bg='exit'
alias bind='exit'
alias break='exit'
alias builtin='exit'
alias caller='exit'
alias case='exit'
alias cd='exit'
alias command='exit'
alias compgen='exit'
alias complete='exit'
alias compopt='exit'
alias continue='exit'
alias coproc='exit'
alias declare='exit'
alias dirs='exit'
alias disown='exit'
alias echo='exit'
alias enable='exit'
alias eval='exit'
alias exec='exit'
alias export='exit'
alias fc='exit'
alias fg='exit'
alias for='exit'
alias function='exit'
alias getopts='exit'
alias hash='exit'
alias help='exit'
alias history='exit'
alias if='exit'
alias job_spec='exit'
alias jobs='exit'
alias kill='exit'
alias let='exit'
alias local='exit'
alias logout='exit'
alias mapfile='exit'
alias popd='exit'
alias printf='exit'
alias pushd='exit'
alias pwd='exit'
alias read='exit'
alias readarray='exit'
alias readonly='exit'
alias return='exit'
alias select='exit'
alias set='exit'
alias shift='exit'
alias shopt='exit'
alias source='exit'
alias suspend='exit'
alias test='exit'
alias time='exit'
alias times='exit'
alias trap='exit'
alias type='exit'
alias typeset='exit'
alias ulimit='exit'
alias umask='exit'
alias unalias='exit'
alias unset='exit'
alias until='exit'
alias variables='exit'
alias wait='exit'
alias while='exit'
alias FALSE='exit'
alias TRUE='exit'
alias alias='exit'
次に、.bash_profileを編集する。
$ nano ~/.bash_profile
編集内容
.bash_profileの最終行に以下を追記する。
.bash_profileの末尾に追加した内容。
/bin/rbash
exit
以上で完了。
試しにこの状態でログインし、コマンドを実行してみる。
$ ls
rbash: ls: No such file or directory
$
$ /bin/ls
rbash: /bin/ls: restricted: cannot specify `/' in command names
$
$ pwd
exit
他のパスにあるコマンドは全てはじかれる。
ビルトインコマンドを実行したらexitさせられる。