質問: 特定のフォルダにアクセスする権限のみを持つsshユーザーを作成する 私はsshをインストールしましたが、ubuntuにログインするために私のオリジナルのアカウントを使った場合、それはあまりにも多くの権限を持っていることがわかりました。ubuntuの特定のフォルダに対する権限のみを持つようにユーザーを制限したいです。そのようなユーザを設定するにはどうすればいいですか。
回答: これは簡単です。自分のアクセスするために必要なホームディレクトリを設定して、新しいユーザーを作成します(このコマンドはsudoまたはrootシェルで実行する必要があります)。adduser --home /restricted/directory restricted_user これにより、ユーザーrestricted_user、ディレクトリ/restricted/directoryが作成され、そのディレクトリに対するアクセス許可が設定され、ユーザーはそれに書き込むことができます。デフォルトでは他のディレクトリに書き込むことはできません。ディレクトリがすでにある場合は、adduserコマンドに--no-create-homeオプションを追加して実行し、手動で(同様にroot権限で)許可を設定できます。chown restricted_user:restricted_user /restricted/directory chmod 755 /restricted/directory このユーザーが、世界で書き込み可能なディレクトリでもアクセスできないようにする必要がある場合は、2つの方法があります。1)対話的なシェルセッションをユーザに提供したい場合は、(あなたの/restricted/directoryに)chroot jailを作成する際に このマニュアル に従うことを検討してください。その後、以下をsshd_configに追加してください。match user restricted_user chrootdirectory /restricted/directory 2)あなたが彼に接続の彼のエンドポイントとあなたのホストの間でファイルをコピーすることだけを必要とするならば、すべてははるかに簡単です。 sshd_configの最後にこれらの行を追加してください。match user restricted_user forcecommand internal-sftp chrootdirectory /restricted/directory subsystem sftp internal-sftp 次に、先頭にハッシュ(subsystem sftp /usr/lib/openssh/sftp-server)記号を付けて#をコメントアウトします。sshサーバを再起動した後(再起動時に対話型セッションを終了させないので、設定を誤っていても安全です。また、ログインできることを確認する前に実行中のセッションを閉じないでください)。意図した通り。