
私のユーザーのホームディレクトリに対する読み取り/書き込み権限にはいくつかの問題があります。
FTPを介してデータをアップロードできるユーザーがいます(たとえば、ftp_user
このユーザーは自分の/home/ftp_user
ディレクトリを持っています)。
/home/ftp_user
必要に応じてアップロードされたコンテンツを表示およびコピーするには、他の標準ユーザー(全員ではない)が読み取り専用モードでアクセスする必要があります。
/home/ftp_user/でachgrp
と(644)を試しましたが、所有権と読み取り/書き込み権限を失いましたchmod
。ftp_user
777を設定できますが、これが最善の解決策だとは思いません。特定のユーザーにのみ読み取りアクセスを許可したいと思います。
どんな提案がありますか?
ありがとうございます!
追加:完全な解決策は、特定のディレクトリのみを共有することです/home/ftp_user/shared
。たとえば、必要に応じてUbuntu 16.04を実行しています。
答え1
アクセス権が必要なすべての人がこのグループのメンバーであるとしますftp_user
。
# get everything in a defined state
chown -R ftp_user:ftp_user /home/ftp_user
chmod -R u=rwX,g=,o= /home/ftp_user
# allow the group to access contents of the home dir (no content listing)
chmod 710 /home/ftp_user
# give the group read access to everything
chmod -R u=rwX,g=r,o= /home/ftp_user/shared
# give the group access to directories and give newly created (`cp`, not `mv`) objects the same group
find /home/ftp_user/shared -type d -exec chmod g=rxs {} +
/home/ftp_user
これは、後で所有者の読み取り/実行権限以上の権限で作成されたファイルまたはディレクトリへのアクセスをブロックしません。これはデフォルトのACLを使用して実行できます/home/ftp_user
。
setfacl -d -m u::rwx,g::-,o:- /home/ftp_user