Rubyメソッドによって返されるAIXファイルのファイルモードstat
は6ビットです。
ruby -e 'puts File::stat("testfile_upload-003").mode.to_s(8)'
100644
FWIW、Rubyバージョンはruby 2.1.6p336(2015-04-13 revision 50298)[powerpc-aix6.1.0.0]ですが、Perlはまったく同じ値を返します。
perl -e 'use File::stat; printf "%o\n", stat("testfile_upload-003")->mode;'
100644
istat
以下は同じファイルの出力です。
# /bin/istat testfile_upload-003
Inode 33780 on device 10/7 File
Protection: rw-r--r--
Owner: 0(root) Group: 0(system)
Link count: 2 Length 51200 bytes
Last updated: Thu Mar 9 01:13:24 CST 2017
Last modified: Wed Mar 8 11:52:52 CST 2017
Last accessed: Wed Mar 8 11:52:52 CST 2017
編集する:chmod のマニュアルページそしてイスタマニュアルページでは、5番目と6番目の数字に関する情報を提供していません。
そして、ファイルの素晴らしいsetuidビットを設定せずに、次のことを行います。
# ls -l testfile_upload-003
-rw-r--r-- 2 root system 51200 Mar 08 11:52 testfile_upload-003
ベストアンサー1
以下で見つけました<sys/mode.h>
。
/*
* (stat) st_mode bit values
*/
#define _S_IFMT 0170000 /* type of file */
#define _S_IFREG 0100000 /* regular */
#define _S_IFDIR 0040000 /* directory */
#define _S_IFBLK 0060000 /* block special */
#define _S_IFCHR 0020000 /* character special */
#define _S_IFIFO 0010000 /* fifo */
先頭に「1」を付けると、通常のファイルを表します。
ディレクトリには240755
、「4」はディレクトリを意味し、「2」は「一般ファイルではない」を意味します。