ユーザーがファイルを読むことができるようにするにはどうすればよいですか?

ユーザーがファイルを読むことができるようにするにはどうすればよいですか?

毎日公開する新しいファイルがいくつかあります。

私の同僚がこのファイルをコピーするには、私のLinuxサーバーでsftp / scpを実行する必要があります。

私はその人がファイルの削除/移動/実行などをしたくありません。彼ができる唯一のことは、ファイルを再コピー(scp / sftp)することだけです。

最善の点は、ディレクトリを切り替えることができないことです。

これを行う方法はありますか?

答え1

ファイルまたはフォルダを読み取るために必要な権限を持つユーザーとグループを作成すると、この問題を解決できます。

以下は、scp(ssh)を介してLinuxサーバー上のフォルダへの読み取り専用アクセスを取得する方法の例です。

useradd <USERNAME> # no need to create a home directory, so we can skip --create-home

groupadd <GROUPNAME> # create the group that will have read-only-access to the folder

次に、作成したユーザーを作成したグループに追加します。

usermod -aG <GROUPNAME> <USERNAME>

これで、ユーザーがアクセスできるシステムのどこかにフォルダを作成します。

mkdir <FOLDERNAME> -m rwxr-x-r 

次に、そのフォルダのグループを作成したグループに変更します。

chgrp <GROUPNAME> </PATH/TO/FOLDER>

フォルダにファイルを追加するときに、必要な権限を持つ作成されたグループがそのファイルを所有していることを確認します。

chmod 744 <FILENAME> 
chgrp <GROUPNAME> <PATH/TO/FILE>

これにより、ユーザーは次のようにscpを介してフォルダにアクセスできます。

scp -r user@<IP>:/path/to/folder /local/path/

編集する 他のグループのデフォルト権限はすでに744(読み取り専用)なので、744権限を持つグループの追加をスキップできます。この点を指摘してくれた@symcbeanに感謝します。

関連情報