web-dev-qa-db-ja.com

デフォルトのUMASK権限を尊重しないSFTPクライアント

これが私の状況です:チームが共有するためにUbuntu 14.04Webサーバーをセットアップしています。チームにvar/www/html内のすべてへの読み取り/書き込みアクセス権を持たせたい(すべてのファイルとフォルダーのCHMOD 775と同じ)。

私の問題は、Mac上のSFTPクライアント(Transmit、Cyber​​duck、およびFileZilla)が、私が設定したデフォルトのアクセス許可を尊重しないことです。

数時間後、私は目標を達成するために多くのステップを歩きました。

チームの権限を設定します:

  1. myteamグループを作成しました
  2. すべてのユーザーをmyteamグループに追加しました
  3. /var/www/htmlのグループ所有権をmyteamに変更しました

この時点で、ls -la/var/www

drwxrwsr-x 2 marcelo myteam 4096 Jul 20 13:29 html

デフォルトのUMASKを設定します:

  1. この記事 に基づいて/etc/ssh/sshd_configSubsystem sftp /usr/lib/openssh/sftp-server -u 002に更新しました。
  2. この質問 に基づいて/etc/pam.d/sshd/etc/pam.d/loginを新しい行session optional pam_umask.so umask=0027で更新しました
  3. /etc/pam.d/common-session/を新しい行session optional pam_umask.soで更新し、/etc/login.defsを編集して、 この質問 に基づいてUMASK行をUMASK 002に変更しました。
  4. すべての適切なサービスを再起動するか、マシン全体を再起動しました

この時点で、シェルを介してサーバーにSSHで接続すると、umaskコマンドは002を報告し、すべての新しいファイルとフォルダーには正しいアクセス許可があります。ただし、Transmit、Filezilla、Cyber​​duckなどを介してサーバーにSFTPで接続し、ファイルまたはフォルダーを作成すると、ファイルはrw-r--r--に、フォルダーはrwxrwsr-xにデフォルト設定されます(フォルダーは正しい) 。チェックしたところ、FTPクライアントはアクセス許可を上書きしていません-それらは無効になっています。

1
Marcelo Somers

これは常緑の問題であり、何度も議論されました。私はここに短い答えを書きました:

https://superuser.com/questions/937003/setting-default-group-permissions-via-sftp/937735#937735

基本的にあなたは最後のコメントを使って自分自身に答えました。 SFTPは元のアクセス許可を保持し、そこからumaskを切り捨てます。

1
Jakuje