次の構造を使用しています。その会社に関連付けられている会社のグループとユーザーがいます。私は次のようにしました:
- グループの
company
作成 - ユーザーを作成し、ユーザーにグループを追加します。
.ssh
各ユーザーには、公開鍵を含むフォルダを含む独自のホームディレクトリがあります。
- フォルダを作成します
/shared/company
。 chgrp -R company /shared/company
グループ所有権の設定- グループ権限の
chmod -R g+rw /shared/company
設定 - 設定
setid
find /shared/company -type d -exec chmod g+s {} \;
;
.bashrc
それからumask 002
。
今、すべてが大丈夫です。ユーザーは共有フォルダにアクセスし、適切な権限でファイルを作成して読み取ることができます。しかし、今は次のことをしたいです。
SSHを使用してユーザーが自動的に共有フォルダに入るように強制する。私は、ユーザーが秘密鍵を使用してSSHから新しい接続を作成し、ログインしたときにユーザー/shared/company
が/home/<user>
。
/etc/ssh/sshd_config
次のディレクティブを追加すると、
Match Group company
ChrootDirectory /shared/company
接続がリセットされ、ユーザーが接続できません。どうすれば解決できますか?
編集#1
chown root:root /shared/company
ユーザーは/shared/companyとの属性と権限を変更した後に接続できますchmod 755 /shared/company
。ただし、ログイン後、ユーザーはメッセージを受信し、/bin/bash: No such file or directory
接続が失われます。