私のUbuntuシステムには、User1とUser2という2人のユーザーがいます。
User1にディレクトリ(フォルダ)があり、/home/User1/Software
このソフトウェアフォルダをuser2のホームディレクトリに設定し、user2がログインするたびにこのソフトウェアフォルダのみを表示し、そのフォルダには読み取り権限しか持たないようにします。
User2を介してシステムにリモートでログインすると、読み取り権限のみを持つソフトウェアフォルダに直接移動し、ソフトウェアとそのサブフォルダを除く他のフォルダにはアクセスできません。
ベストアンサー1
制限付きシェルを使用するようにUser2のアカウントを変更する必要がありますrbash
。
sudo chsh -s /bin/rbash User2
注:これはユーザーのコマンドラインシェル(ログインを含むssh
)のみを制限します。たとえば、コンソールにログインしても、GUIデスクトップ環境には影響しません。
詳細については、リソースを参照してくださいman rbash
。ただし、一部の制限により、ユーザーは次のことができません。
・CDでディレクトリを変更する
・SHELL、PATH、ENV、または BASH_ENV の値を設定または設定解除します。
・/を含むコマンド名を指定してください。
· .build-inコマンドでinclude /を指定します。
·>、>|、<>、>&、&>、および>>リダイレクト演算子を使用した出力リダイレクト
· 組み込み exec コマンドを使用してシェルを別のコマンドに置き換える
これらの制限は、スタートアップファイルを読み取った後に適用されます。
リダイレクトをブロックするのは必要以上のものかもしれませんが(残念ながら、ディレクトリは読み取り専用なのでそうではないかもしれません)、残念ながらすべてでなければ専任ですrbash
。