これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド lshell です。
プログラム:
NAME
lshell - 限定シェル
SYNOPSIS
シェル [OPTIONS]
DESCRIPTION
シェル ユーザーごとに構成された限定的なシェルを提供します。 設定はかなり完了
構成ファイルを使用するだけです。 ssh と組み合わせる 認可されたキー または /など/シェル
& /etc/passwd 、ユーザーのアクセスを限られたセットに制限することが非常に簡単になります
OPTIONS
--config
設定ファイルを指定
- ログ
ログディレクトリを指定
--
どこ*任意の*構成ファイルのパラメーターです
-NS、 - 助けて
ヘルプメッセージを表示する
- バージョン
バージョンを表示
CONFIGURATION
構成ファイルを使用して lshell を構成できます。
On Linux -> /etc/lshell.conf
On * BSD -> / usr /{pkg,local}/etc/lshell.conf
シェル 構成には 4 種類のセクションがあります。
[グローバル] -> シェル の監視 (のみ 1)
[ディフォルト] -> シェル デフォルト user の監視 (のみ 1)
[ふー] -> UNIX ユーザ名 「フー」 特定の の監視
[グループ:バー] -> UNIX グループ名 "バー" 特定の の監視
設定を読み込む際の優先順位は次のとおりです。
1- ユーザー の監視
2- グループ の監視
3- デフォルト の監視
[グローバル]
ログパス
構成パス (デフォルトは /var/log/lshell/)
loglevel
0、1、2、3、または 4 (0: ログなし -> 4: すべてをログに記録)
ログファイル名
- に設定 syslog syslog にログを記録するため
- ログ ファイル名を設定します。例: %u-%y%m%d (例: foo-20091009.log): %u -> ユーザー名
%d -> 日 [1..31]
%m -> 月 [1..12]
%y -> 年 [00..99]
%h -> 時刻 [00:00..23:59]
シスログ名
syslog を使用している場合は、ログ名を設定します (デフォルト: lshell)
include_dir
複数の構成ファイルを含むディレクトリを含めます。 これらのファイルは
デフォルト/ユーザー/グループ構成が含まれています。 グローバル構成は、
デフォルトの構成ファイルからロードされます。 この変数は展開されます (例:
/path/*.conf)。
[ディフォルト] および [ユーザー名] および [グループ:グループ名]
エイリアス
コマンド エイリアス リスト (bash のエイリアス ディレクティブと同様)
許可されて
許可されたコマンドのリスト、または「all」に設定してユーザーの PATH 内のすべてのコマンドを許可します
allowed_cmd_path
パスのリスト; これらのパス内のすべての実行可能ファイルが許可されます
環境パス
ユーザーの環境変数 $PATH を更新します (オプション)
環境変数
環境変数の設定 (オプション)
禁断の
禁止されている文字またはコマンドのリスト
履歴ファイル
履歴ファイル名を設定します。 ワイルドカードを使用できます。
%u -> ユーザー名 (例: '/ home /%u/.lhistory')
履歴サイズ
履歴ファイルの最大サイズ (行単位) を設定します
ホームパス (廃止予定)
ユーザーのホーム フォルダを設定します。 指定しない場合、ホーム ディレクトリは
$HOME 環境変数。 この変数は次のバージョンで削除されます
システムのツールを使用して、ユーザーのホーム ディレクトリを設定してください。 あ
ワイルドカードを使用できます:
%u -> ユーザー名 (例: '/ home /%u')
intro ログイン時に紹介を印刷するように設定する
ログインスクリプト
ユーザーのログイン時に実行するスクリプトを定義する
passwd 特定のユーザーのパスワード (デフォルトは空)
path ユーザーを地理的に制限するためのパスのリスト。 ワイルドカードの使用が可能
(例: '/var/log/ap*')。
プロンプト ユーザーのプロンプト形式を設定します (デフォルト: ユーザー名)
%u -> ユーザー名
%h -> ホスト名
プロンプト_ショート
ソート プロンプトを現在のディレクトリの更新に設定 - 1 または 0 に設定 オーバーシュ コマンド一覧
ssh 経由での実行を許可 (rsync、rdiff-backup、scp など)
scp scp 接続の使用を許可または禁止 - 1 または 0 に設定
SCPフォース
特定のディレクトリに scp を介して送信されるファイルを強制します
scp_download
scp のダウンロードを禁止するには、0 に設定します (デフォルトは 1)。
scp_upload
0 に設定すると、scp アップロードが禁止されます (デフォルトは 1)。
SFTP sftp 接続の使用を許可または禁止 - 1 または 0 に設定します。
警告: OpenSSH の internal-sftp サービスを使用している場合、このオプションは機能しません
(例: chroot で設定した場合)
sudo_commands
で使用できる許可されたコマンドのリスト sudo(8). 「all」に設定すると、すべて
「許可された」コマンドは、 sudoとします。
-u sudo フラグを使用して、コマンドを別の方法で実行することができます
デフォルトのルートよりもユーザー。
タイマー セッションタイマーの秒単位の値
厳格な ロギングの厳密さ。 1 に設定すると、不明なコマンドは禁止されていると見なされます。
ユーザーの警告カウンターが減少します。 0 に設定すると、コマンドは次のように見なされます。
不明であり、ユーザーには警告のみが表示されます (つまり、*** 不明なシンタックス)
警告カウンター
ユーザーが終了する前に禁止値を入力したときの警告の数
lシェル。 に設定 -1 カウンターを無効にし、ユーザーに警告するだけです。
SHELL ビルティン コマンド
以下は、lshell で常に使用できる一連のコマンドです。
クリア 端末をクリアします
助けて、 ?
許可されたコマンドのリストを出力します
history
コマンド履歴を出力する
lパス 許可されたパスと禁止されたパスをすべてリストします
イスド すべての sudo 許可コマンドを一覧表示します
例
$ シェル
デフォルトの ${PREFIX}/etc/lshell.conf を構成ファイルとして使用して、lshell の実行を試みます。
失敗すると、警告が表示され、lshell が中断されます。 lshell オプションは
構成ファイルからロード
$ シェル --config /path/to/myconf.file - ログ /path/to/mylog.log
これにより、構成やログ ファイルに指定されたデフォルト オプションが上書きされます。
USE HOUSES
lshell の主な目的は、ssh アクセスを使用してシェル アカウントを作成できるようにすることでした。
環境をいくつかの必要なコマンドに制限します。 この例では、ユーザー「foo」と
ユーザー 'bar' は両方とも 'users' UNIX グループに属しています:
ユーザー foo:
- アクセスできる必要があります / usr & / var はなく、 / usr / local
- ユーザーの PATH 内のすべてのコマンドが「su」
- 警告カウンターが 5 に設定されている
- ホーム パスが「/home/users」に設定されている
ユーザー バー:
- アクセスできる必要があります の/ etc & / usr はなく、 / usr / local
- デフォルトのコマンドに加えて「ping」から「ls」を引いたものを使用できます
- strictness は 1 に設定されています (つまり、未知のコマンドを入力することは許可されていません)。
この場合、構成ファイルは次のようになります。
# 構成 開始
[グローバル]
ログパス : /var/log/lshell/
loglevel : 2
[ディフォルト]
許可されて : ['ls','pwd']
禁断の : [';', '&', '|']
警告カウンター : 2
タイマー : 0
path : ['の/ etc', '/ usr']
環境パス : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
SFTP : 1 # or 0
オーバーシュ : ['rsync','ls']
エイリアス : {'ls':'ls --color=auto','ll':'ls -l'}
[グループ:ユーザー]
警告カウンター : 5
オーバーシュ : - ['ls']
[ふー]
許可されて : '全て' - ['す']
path : ['/ var', '/ usr'] - ['/ usr / local']
ホームパス : 「/ホーム/ユーザー」
[バー]
許可されて : + ['ping'] - ['ls']
path : - ['/ usr / local']
厳格な : 1
SCPフォース : 「/ホーム/バー/アップロード/」
# 構成 終わり
注意事項
ユーザーの警告をログ ディレクトリに記録するには (デフォルトでは /var/log/lshell/)
最初にフォルダーを作成し (まだ存在しない場合)、lshell グループに chown する必要があります。
# グループを追加 - システム シェル
# mkdir /var/log/lshell
# chown :lシェル /var/log/lshell
# chmod 770 /var/log/lshell
次に、ユーザーを シェル グループ:
# usermod -aG シェル USER_NAME
lshell をユーザーのデフォルト シェルとして設定するには:
On Linux:
# chsh -s /usr/bin/lshell USER_NAME
On *BSD:
# chsh -s / usr /{パッケージ、ローカル}/bin/lshell USER_NAME
onworks.net サービスを使用してオンラインで lshell を使用する