ftpファイルに対する権限がumaskと一致しないようです。

ftpファイルに対する権限がumaskと一致しないようです。

私はftpがユーザーの権利を尊重するといういくつかの記事を読んだ。umask。私はそれが本当だとは思わない。 SystemX から SystemX にファイルを FTP に転送する際に、サーバー X で発生する現象です。 SystemXはSolarisシステムです。私のumaskは002です。デフォルトのumaskは次のとおりです。/etc/profileまた、002. 以下は結果です。 2つの質問は、ftpファイルが私のumaskを尊重しない理由と実際にどこに設定をインポートするかです。

**SystemX:/home<username>: umask
02
SystemX:/home<username>: grep umask /etc/profile
umask 02
SystemX:/home<username>: touch junk
SystemX:/home<username>: ls -l junk
-rw-rw-r--   1 <username>  infadev        0 Jan  4 16:24 junk
SystemX:/home<username>: ftp SystemX
Connected to SystemX.
220 SystemX FTP server ready.
Name (SystemX:<username>): <username>
331 Password required for <username>.
Password:
230 User <username> logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put junk junk.out
200 PORT command successful.
150 Opening BINARY mode data connection for junk.out.
226 Transfer complete.
ftp> bye
221-You have transferred 0 bytes in 1 files.
221-Total traffic for this session was 383 bytes in 1 transfers.
221-Thank you for using the FTP service on SystemX.
221 Goodbye.
SystemX:/home<username>: ls -l junk*
-rw-rw-r--   1 <username>  infadev        0 Jan  4 16:24 junk
-rw-r--r--   1 <username>  infadev        0 Jan  4 16:24 junk.out

答え1

使用するとき置く存在するftp、それ仕える人ファイルのアップロード権限を決定します。これFTP マニュアルページjunk.outこれと言ってください離れて文書:

put local-file [リモートファイル]

リモートコンピュータにローカルファイルを保存します。もしリモートファイル指定しない場合は、ランダム処理後にローカルファイル名が使用されます。肯定と否定または地図リモートファイルの命名のための設定です。ファイル転送では、表示タイプ、ファイル構造、転送モードの現在の設定を使用します。

(一部のサードパーティ製のアプリケーションではなく)SolarisのFTPサーバーを使用していると仮定すると、この情報は次の場所にあります。FTPアクセス(4)、説明する/etc/ftpd/ftpaccess

この設定はアップロードされたファイルに関連しています(この設定はアップロードされたファイルとは別のものです)。顧客権限):

defumask マスククラス

設定umaskリモートユーザーが指定されたメンバーの場合は、FTPサーバーによって生成されたファイルに適用されます。クラス。もしクラス指定しない場合ウマスク指定されていないクラスのデフォルト値として使用されます。生成されたファイルのモードは、次のように指定できます。upload指示する。

upload[絶対|class=クラス名]...[-] ルートディレクトリ デグロップはい|いいえ所有者 グループ モデル [カタログ| [d_モード]

ディレクトリを定義するデグロップアップロードを許可または拒否します。アップロードが許可されると、新しく作成されたすべてのファイルは所有者とグループの所有になり、モードに応じて権限が設定されます。上書きされた既存のファイルは元の所有権と権限を保持します。ディレクトリは最もよく一致する方法で一致します。たとえば、

upload /var/ftp * no
upload /var/ftp /incoming yes ftp daemon 0666
upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs

/incomingとのみアップロードできます/incoming/gifs。アップロードされたファイルは/incomingftp / daemonに属し、次の権限を持ちます。0666。アップロードされたファイルは/incoming/gifsjlc / guestの所有であり、次の権限を持ちます。0600。選択科目dirsそしてnodirs次のコマンドを使用して、新しいサブディレクトリの作成を許可または許可しないようにキーワードを指定できます。mkdir注文する。もしuploadコマンドを使用すると、デフォルトでディレクトリの作成が許可されます。デフォルトでは、オフにするには、ユーザー、グループ、モードを指定し、次を指定する必要があります。nodirsキーワードを最初の行として使用します。ここでuploadこのファイルではコマンドが使用されます。ディレクトリが許可されている場合のオプションd_モード新しく作成されたディレクトリの権限を決定します。もしd_モード省略すると、スキーマから権限が推測されます。権限は次のとおりです。0777if パターンも省略されます。これuploadキーワードは、次のようにホームディレクトリにのみ適用されます。ルートディレクトリルートディレクトリすべてのホームディレクトリに一致するように*として指定できます。所有者またはグループは、次のように指定できます。*この場合、アップロードされたファイルまたはディレクトリは、そのファイルまたはディレクトリが作成されたディレクトリの所有権で作成されます。オプションの最初の引数は、次を選択します。ルートディレクトリ名前は現在、chroot環境に対して絶対的または相対的に解釈されます。デフォルトは説明です。ルートディレクトリ名前は絶対的な名前です。必要な数だけ指定できます。class=クラス名限界。指定した場合upload条項は、現在のユーザーがクラスの1つのメンバーである場合にのみ適用されます。

一致するものなしuploadつまり、実際のユーザーとゲストユーザーはファイルをアップロードしてディレクトリを作成できますが、匿名ユーザーはそうではありません。ファイルアップロードモードは次のとおりです。0666。生成されたディレクトリの場合、パターンは次のようになります。0777。両方のモードは現在によって修正されました。ウマスク環境。

ちょっと長文ですが基本的には次のようになります。

  • アップロードされたファイルに対するデフォルトのアクセス許可は、表示よりも許可されています。
  • defumask管理者がこれらの権限を全体的に減らすことを許可します。
  • upload管理者が詳細な調整を行うことを許可します。

実際、ほとんどの管理者はおそらくdefumask

ファイルのアップロード権限は、クライアントumask外部シェルの設定によって異なりますftp。 Solarisftpaccessのマニュアルページには、次の内容が記載されています(関連情報を参照)。権限機能)クライアントはumaskを指定できますが、顧客コマンドとしてリストされません。

文書化された設定にもかかわらず、一部の管理者は奇妙なことを見つけます。

関連情報