Files
metasploit-gs/api/Rex/Post/FileStat.html
T
jenkins-metasploit c3f5bd3de2 Reboot gh-pages
2026-05-08 17:08:43 +00:00

2957 lines
70 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Rex::Post::FileStat
&mdash; Documentation by YARD 0.9.37
</title>
<link rel="stylesheet" href="../../css/style.css" type="text/css" />
<link rel="stylesheet" href="../../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "Rex::Post::FileStat";
relpath = '../../';
</script>
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../../class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../../_index.html">Index (F)</a> &raquo;
<span class='title'><span class='object_link'><a href="../../Rex.html" title="Rex (module)">Rex</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Post.html" title="Rex::Post (module)">Post</a></span></span>
&raquo;
<span class="title">FileStat</span>
</div>
<div id="search">
<a class="full_list_link" id="class_list_link"
href="../../class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Class: Rex::Post::FileStat
</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd>
<span class="inheritName">Object</span>
<ul class="fullTree">
<li>Object</li>
<li class="next">Rex::Post::FileStat</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/rex/post/file_stat.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<p>This class emulates the ruby FileStat class against a remote entity in a generic fashion. Refer to the ruby documentation for expected behavior.</p>
</div>
</div>
<div class="tags">
</div><div id="subclasses">
<h2>Direct Known Subclasses</h2>
<p class="children"><span class='object_link'><a href="../../Msf/Post/File/FileStat.html" title="Msf::Post::File::FileStat (class)">Msf::Post::File::FileStat</a></span>, <span class='object_link'><a href="Meterpreter/Extensions/Stdapi/Fs/FileStat.html" title="Rex::Post::Meterpreter::Extensions::Stdapi::Fs::FileStat (class)">Meterpreter::Extensions::Stdapi::Fs::FileStat</a></span></p>
</div>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="ftypes-classvariable" class="">@@ftypes =
<div class="docstring">
<div class="discussion">
<p>Basic file types.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='lbracket'>[</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fifo</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>characterSpecial</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>directory</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
<span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>blockSpecial</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>file</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>link</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>socket</span><span class='tstring_end'>&#39;</span></span>
<span class='rbracket'>]</span></pre></dd>
</dl>
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#stathash-instance_method" title="#stathash (instance method)">#<strong>stathash</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the value of attribute stathash.</p>
</div></span>
</li>
</ul>
<h2>
Instance Method Summary
<small><a href="#" class="summary_toggle">collapse</a></small>
</h2>
<ul class="summary">
<li class="public ">
<span class="summary_signature">
<a href="#atime-instance_method" title="#atime (instance method)">#<strong>atime</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#blksize-instance_method" title="#blksize (instance method)">#<strong>blksize</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#blockdev%3F-instance_method" title="#blockdev? (instance method)">#<strong>blockdev?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#blocks-instance_method" title="#blocks (instance method)">#<strong>blocks</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#chardev%3F-instance_method" title="#chardev? (instance method)">#<strong>chardev?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#ctime-instance_method" title="#ctime (instance method)">#<strong>ctime</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#dev-instance_method" title="#dev (instance method)">#<strong>dev</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#directory%3F-instance_method" title="#directory? (instance method)">#<strong>directory?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#executable%3F-instance_method" title="#executable? (instance method)">#<strong>executable?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#executable_real%3F-instance_method" title="#executable_real? (instance method)">#<strong>executable_real?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#file%3F-instance_method" title="#file? (instance method)">#<strong>file?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#filetype%3F-instance_method" title="#filetype? (instance method)">#<strong>filetype?</strong>(mask) &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>this is my own, just a helper…</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#ftype-instance_method" title="#ftype (instance method)">#<strong>ftype</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#gid-instance_method" title="#gid (instance method)">#<strong>gid</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#grpowned%3F-instance_method" title="#grpowned? (instance method)">#<strong>grpowned?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(buf = &#39;&#39;) &#x21d2; FileStat </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>A new instance of FileStat.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#ino-instance_method" title="#ino (instance method)">#<strong>ino</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#mode-instance_method" title="#mode (instance method)">#<strong>mode</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#mtime-instance_method" title="#mtime (instance method)">#<strong>mtime</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#nlink-instance_method" title="#nlink (instance method)">#<strong>nlink</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#owned%3F-instance_method" title="#owned? (instance method)">#<strong>owned?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#perm%3F-instance_method" title="#perm? (instance method)">#<strong>perm?</strong>(mask) &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>S_ISUID 0004000 set UID bit S_ISGID 0002000 set GID bit (see below) S_ISVTX 0001000 sticky bit (see below) S_IRWXU 00700 mask for file owner permissions S_IRUSR 00400 owner has read permission S_IWUSR 00200 owner has write permission S_IXUSR 00100 owner has execute permission S_IRWXG 00070 mask for group permissions S_IRGRP 00040 group has read permission S_IWGRP 00020 group has write permission S_IXGRP 00010 group has execute permission S_IRWXO 00007 mask for permissions for others (not in group) S_IROTH 00004 others have read permission S_IWOTH 00002 others have write permission S_IXOTH 00001 others have execute permission.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#pipe%3F-instance_method" title="#pipe? (instance method)">#<strong>pipe?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#pretty-instance_method" title="#pretty (instance method)">#<strong>pretty</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Return pretty information about a file.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#prettymode-instance_method" title="#prettymode (instance method)">#<strong>prettymode</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Return pretty information about a files permissions.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#rdev-instance_method" title="#rdev (instance method)">#<strong>rdev</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#readable%3F-instance_method" title="#readable? (instance method)">#<strong>readable?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#readable_real%3F-instance_method" title="#readable_real? (instance method)">#<strong>readable_real?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#setgid%3F-instance_method" title="#setgid? (instance method)">#<strong>setgid?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#setuid%3F-instance_method" title="#setuid? (instance method)">#<strong>setuid?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#size-instance_method" title="#size (instance method)">#<strong>size</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#socket%3F-instance_method" title="#socket? (instance method)">#<strong>socket?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#sticky%3F-instance_method" title="#sticky? (instance method)">#<strong>sticky?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#symlink%3F-instance_method" title="#symlink? (instance method)">#<strong>symlink?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#uid-instance_method" title="#uid (instance method)">#<strong>uid</strong> &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#update-instance_method" title="#update (instance method)">#<strong>update</strong>(buf) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#update32-instance_method" title="#update32 (instance method)">#<strong>update32</strong>(buf) &#x21d2; Object </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>This handles the old 32bit st_size buf from old stageless meterpreters for backwards compatibility Maybe we can remove this in the future.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#writeable%3F-instance_method" title="#writeable? (instance method)">#<strong>writeable?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#writeable_real%3F-instance_method" title="#writeable_real? (instance method)">#<strong>writeable_real?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'></div></span>
</li>
</ul>
<div id="constructor_details" class="method_details_list">
<h2>Constructor Details</h2>
<div class="method_details first">
<h3 class="signature first" id="initialize-instance_method">
#<strong>initialize</strong>(buf = &#39;&#39;) &#x21d2; <tt><span class='object_link'><a href="" title="Rex::Post::FileStat (class)">FileStat</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns a new instance of FileStat.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
30
31
32
33</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 30</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_buf'>buf</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
<span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_buf'>buf</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_buf'>buf</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_attr_details" class="attr_details">
<h2>Instance Attribute Details</h2>
<span id="stathash=-instance_method"></span>
<div class="method_details first">
<h3 class="signature first" id="stathash-instance_method">
#<strong>stathash</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the value of attribute stathash.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
28
29
30</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 28</span>
<span class='kw'>def</span> <span class='id identifier rubyid_stathash'>stathash</span>
<span class='ivar'>@stathash</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
<div id="instance_method_details" class="method_details_list">
<h2>Instance Method Details</h2>
<div class="method_details first">
<h3 class="signature first" id="atime-instance_method">
#<strong>atime</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
65
66
67</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 65</span>
<span class='kw'>def</span> <span class='id identifier rubyid_atime'>atime</span>
<span class='op'>::</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_atime</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="blksize-instance_method">
#<strong>blksize</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
59
60
61</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 59</span>
<span class='kw'>def</span> <span class='id identifier rubyid_blksize'>blksize</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_blksize</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="blockdev?-instance_method">
#<strong>blockdev?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
112
113
114</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 112</span>
<span class='kw'>def</span> <span class='id identifier rubyid_blockdev?'>blockdev?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>060000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="blocks-instance_method">
#<strong>blocks</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
62
63
64</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 62</span>
<span class='kw'>def</span> <span class='id identifier rubyid_blocks'>blocks</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_blocks</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="chardev?-instance_method">
#<strong>chardev?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
115
116
117</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 115</span>
<span class='kw'>def</span> <span class='id identifier rubyid_chardev?'>chardev?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>020000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="ctime-instance_method">
#<strong>ctime</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
71
72
73</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 71</span>
<span class='kw'>def</span> <span class='id identifier rubyid_ctime'>ctime</span>
<span class='op'>::</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_ctime</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="dev-instance_method">
#<strong>dev</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
35
36
37</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 35</span>
<span class='kw'>def</span> <span class='id identifier rubyid_dev'>dev</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_dev</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="directory?-instance_method">
#<strong>directory?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
118
119
120</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 118</span>
<span class='kw'>def</span> <span class='id identifier rubyid_directory?'>directory?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>040000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="executable?-instance_method">
#<strong>executable?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
171
172
173</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 171</span>
<span class='kw'>def</span> <span class='id identifier rubyid_executable?'>executable?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="executable_real?-instance_method">
#<strong>executable_real?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
174
175
176</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 174</span>
<span class='kw'>def</span> <span class='id identifier rubyid_executable_real?'>executable_real?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="file?-instance_method">
#<strong>file?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
121
122
123</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 121</span>
<span class='kw'>def</span> <span class='id identifier rubyid_file?'>file?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>0100000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="filetype?-instance_method">
#<strong>filetype?</strong>(mask) &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>this is my own, just a helper…</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
107
108
109
110</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 107</span>
<span class='kw'>def</span> <span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_mode'>mode</span> <span class='op'>&amp;</span> <span class='int'>0170000</span> <span class='op'>==</span> <span class='id identifier rubyid_mask'>mask</span>
<span class='kw'>return</span> <span class='kw'>false</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="ftype-instance_method">
#<strong>ftype</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
134
135
136</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 134</span>
<span class='kw'>def</span> <span class='id identifier rubyid_ftype'>ftype</span>
<span class='kw'>return</span> <span class='cvar'>@@ftypes</span><span class='lbracket'>[</span><span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&amp;</span> <span class='int'>0170000</span><span class='rparen'>)</span> <span class='op'>&gt;&gt;</span> <span class='int'>13</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="gid-instance_method">
#<strong>gid</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
50
51
52</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 50</span>
<span class='kw'>def</span> <span class='id identifier rubyid_gid'>gid</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_gid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="grpowned?-instance_method">
#<strong>grpowned?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
177
178
179</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 177</span>
<span class='kw'>def</span> <span class='id identifier rubyid_grpowned?'>grpowned?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="ino-instance_method">
#<strong>ino</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
38
39
40</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 38</span>
<span class='kw'>def</span> <span class='id identifier rubyid_ino'>ino</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_ino</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="mode-instance_method">
#<strong>mode</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
41
42
43</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 41</span>
<span class='kw'>def</span> <span class='id identifier rubyid_mode'>mode</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_mode</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="mtime-instance_method">
#<strong>mtime</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
68
69
70</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 68</span>
<span class='kw'>def</span> <span class='id identifier rubyid_mtime'>mtime</span>
<span class='op'>::</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_mtime</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="nlink-instance_method">
#<strong>nlink</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
44
45
46</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 44</span>
<span class='kw'>def</span> <span class='id identifier rubyid_nlink'>nlink</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_nlink</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="owned?-instance_method">
#<strong>owned?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
180
181
182</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 180</span>
<span class='kw'>def</span> <span class='id identifier rubyid_owned?'>owned?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="perm?-instance_method">
#<strong>perm?</strong>(mask) &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>S_ISUID 0004000 set UID bit S_ISGID 0002000 set GID bit (see below) S_ISVTX 0001000 sticky bit (see below) S_IRWXU 00700 mask for file owner permissions S_IRUSR 00400 owner has read permission S_IWUSR 00200 owner has write permission S_IXUSR 00100 owner has execute permission S_IRWXG 00070 mask for group permissions S_IRGRP 00040 group has read permission S_IWGRP 00020 group has write permission S_IXGRP 00010 group has execute permission S_IRWXO 00007 mask for permissions for others (not in group) S_IROTH 00004 others have read permission S_IWOTH 00002 others have write permission S_IXOTH 00001 others have execute permission</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
156
157
158
159</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 156</span>
<span class='kw'>def</span> <span class='id identifier rubyid_perm?'>perm?</span><span class='lparen'>(</span><span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_mode'>mode</span> <span class='op'>&amp;</span> <span class='id identifier rubyid_mask'>mask</span> <span class='op'>==</span> <span class='id identifier rubyid_mask'>mask</span>
<span class='kw'>return</span> <span class='kw'>false</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="pipe?-instance_method">
#<strong>pipe?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
124
125
126</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 124</span>
<span class='kw'>def</span> <span class='id identifier rubyid_pipe?'>pipe?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>010000</span><span class='rparen'>)</span> <span class='comment'># ??? fifo?
</span><span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="pretty-instance_method">
#<strong>pretty</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Return pretty information about a file.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
217
218
219
220
221
222
223
224
225</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 217</span>
<span class='kw'>def</span> <span class='id identifier rubyid_pretty'>pretty</span>
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> Size: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'> Blocks: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_blocks'>blocks</span><span class='embexpr_end'>}</span><span class='tstring_content'> IO Block: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_blksize'>blksize</span><span class='embexpr_end'>}</span><span class='tstring_content'> Type: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rdev'>rdev</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Device: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dev'>dev</span><span class='embexpr_end'>}</span><span class='tstring_content'> Inode: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ino'>ino</span><span class='embexpr_end'>}</span><span class='tstring_content'> Links: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_nlink'>nlink</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> Mode: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prettymode'>prettymode</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> Uid: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_uid'>uid</span><span class='embexpr_end'>}</span><span class='tstring_content'> Gid: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_gid'>gid</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_atime'>atime</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Modify: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_mtime'>mtime</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>\
<span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Change: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctime'>ctime</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="prettymode-instance_method">
#<strong>prettymode</strong> &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Return pretty information about a files permissions.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
199
200
201
202
203
204
205
206
207
208
209
210
211
212</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 199</span>
<span class='kw'>def</span> <span class='id identifier rubyid_prettymode'>prettymode</span>
<span class='id identifier rubyid_m'>m</span> <span class='op'>=</span> <span class='id identifier rubyid_mode'>mode</span>
<span class='id identifier rubyid_om'>om</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%06o</span><span class='tstring_end'>&#39;</span></span> <span class='op'>%</span> <span class='id identifier rubyid_m'>m</span>
<span class='id identifier rubyid_perms'>perms</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span>
<span class='int'>3</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='lbrace'>{</span>
<span class='id identifier rubyid_perms'>perms</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span> <span class='op'>&amp;</span> <span class='int'>01</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>01</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>x</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>-</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_perms'>perms</span>
<span class='id identifier rubyid_perms'>perms</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span> <span class='op'>&amp;</span> <span class='int'>02</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>02</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>w</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>-</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_perms'>perms</span>
<span class='id identifier rubyid_perms'>perms</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span> <span class='op'>&amp;</span> <span class='int'>04</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>04</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>r</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>-</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_perms'>perms</span>
<span class='id identifier rubyid_m'>m</span> <span class='op'>&gt;&gt;=</span> <span class='int'>3</span>
<span class='rbrace'>}</span>
<span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_om'>om</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_perms'>perms</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="rdev-instance_method">
#<strong>rdev</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
53
54
55</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 53</span>
<span class='kw'>def</span> <span class='id identifier rubyid_rdev'>rdev</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_rdev</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="readable?-instance_method">
#<strong>readable?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
183
184
185</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 183</span>
<span class='kw'>def</span> <span class='id identifier rubyid_readable?'>readable?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="readable_real?-instance_method">
#<strong>readable_real?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
186
187
188</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 186</span>
<span class='kw'>def</span> <span class='id identifier rubyid_readable_real?'>readable_real?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="setgid?-instance_method">
#<strong>setgid?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
161
162
163</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 161</span>
<span class='kw'>def</span> <span class='id identifier rubyid_setgid?'>setgid?</span>
<span class='id identifier rubyid_perm?'>perm?</span><span class='lparen'>(</span><span class='int'>02000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="setuid?-instance_method">
#<strong>setuid?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
164
165
166</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 164</span>
<span class='kw'>def</span> <span class='id identifier rubyid_setuid?'>setuid?</span>
<span class='id identifier rubyid_perm?'>perm?</span><span class='lparen'>(</span><span class='int'>04000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="size-instance_method">
#<strong>size</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
56
57
58</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 56</span>
<span class='kw'>def</span> <span class='id identifier rubyid_size'>size</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_size</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="socket?-instance_method">
#<strong>socket?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
127
128
129</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 127</span>
<span class='kw'>def</span> <span class='id identifier rubyid_socket?'>socket?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>0140000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="sticky?-instance_method">
#<strong>sticky?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
167
168
169</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 167</span>
<span class='kw'>def</span> <span class='id identifier rubyid_sticky?'>sticky?</span>
<span class='id identifier rubyid_perm?'>perm?</span><span class='lparen'>(</span><span class='int'>01000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="symlink?-instance_method">
#<strong>symlink?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
130
131
132</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 130</span>
<span class='kw'>def</span> <span class='id identifier rubyid_symlink?'>symlink?</span>
<span class='id identifier rubyid_filetype?'>filetype?</span><span class='lparen'>(</span><span class='int'>0120000</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="uid-instance_method">
#<strong>uid</strong> &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
47
48
49</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 47</span>
<span class='kw'>def</span> <span class='id identifier rubyid_uid'>uid</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>st_uid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="update-instance_method">
#<strong>update</strong>(buf) &#x21d2; <tt>Object</tt>
</h3><table class="source_code">
<tr>
<td>
<pre class="lines">
75
76
77
78
79
80
81</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 75</span>
<span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_buf'>buf</span><span class='rparen'>)</span>
<span class='id identifier rubyid_skeys'>skeys</span> <span class='op'>=</span> <span class='words_beg'>%W{</span><span class='tstring_content'>st_dev</span><span class='words_sep'> </span><span class='tstring_content'>st_mode</span><span class='words_sep'> </span><span class='tstring_content'>st_nlink</span><span class='words_sep'> </span><span class='tstring_content'>st_uid</span><span class='words_sep'> </span><span class='tstring_content'>st_gid</span><span class='words_sep'> </span><span class='tstring_content'>st_rdev</span><span class='words_sep'> </span><span class='tstring_content'>st_ino</span><span class='words_sep'> </span><span class='tstring_content'>st_size</span><span class='words_sep'> </span><span class='tstring_content'>st_atime</span><span class='words_sep'> </span><span class='tstring_content'>st_mtime</span><span class='words_sep'> </span><span class='tstring_content'>st_ctime</span><span class='tstring_end'>}</span></span>
<span class='id identifier rubyid_svals'>svals</span> <span class='op'>=</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>VVVVVVQQQQQ</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_skeys'>skeys</span><span class='period'>.</span><span class='id identifier rubyid_each_index'>each_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span> <span class='id identifier rubyid_skeys'>skeys</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_svals'>svals</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="update32-instance_method">
#<strong>update32</strong>(buf) &#x21d2; <tt>Object</tt>
</h3><div class="docstring">
<div class="discussion">
<p>This handles the old 32bit st_size buf from old stageless meterpreters for backwards compatibility Maybe we can remove this in the future</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
87
88
89
90
91
92
93</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 87</span>
<span class='kw'>def</span> <span class='id identifier rubyid_update32'>update32</span><span class='lparen'>(</span><span class='id identifier rubyid_buf'>buf</span><span class='rparen'>)</span>
<span class='id identifier rubyid_skeys'>skeys</span> <span class='op'>=</span> <span class='words_beg'>%W{</span><span class='tstring_content'>st_dev</span><span class='words_sep'> </span><span class='tstring_content'>st_ino</span><span class='words_sep'> </span><span class='tstring_content'>st_mode</span><span class='words_sep'> </span><span class='tstring_content'>st_pad</span><span class='words_sep'> </span><span class='tstring_content'>st_nlink</span><span class='words_sep'> </span><span class='tstring_content'>st_uid</span><span class='words_sep'> </span><span class='tstring_content'>st_gid</span><span class='words_sep'> </span><span class='tstring_content'>st_rdev</span><span class='words_sep'> </span><span class='tstring_content'>st_size</span><span class='words_sep'> </span><span class='tstring_content'>st_ctime</span><span class='words_sep'> </span><span class='tstring_content'>st_atime</span><span class='words_sep'> </span><span class='tstring_content'>st_mtime</span><span class='tstring_end'>}</span></span>
<span class='id identifier rubyid_svals'>svals</span> <span class='op'>=</span> <span class='id identifier rubyid_buf'>buf</span><span class='period'>.</span><span class='id identifier rubyid_unpack'>unpack</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>VvvvvvvVVVVV</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
<span class='id identifier rubyid_skeys'>skeys</span><span class='period'>.</span><span class='id identifier rubyid_each_index'>each_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_stathash'>stathash</span><span class='lbracket'>[</span> <span class='id identifier rubyid_skeys'>skeys</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_svals'>svals</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span><span class='rbracket'>]</span>
<span class='kw'>end</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="writeable?-instance_method">
#<strong>writeable?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
189
190
191</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 189</span>
<span class='kw'>def</span> <span class='id identifier rubyid_writeable?'>writeable?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="writeable_real?-instance_method">
#<strong>writeable_real?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt>NotImplementedError</tt>)</span>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
192
193
194</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/rex/post/file_stat.rb', line 192</span>
<span class='kw'>def</span> <span class='id identifier rubyid_writeable_real?'>writeable_real?</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>NotImplementedError</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
Generated on Fri May 8 17:04:07 2026 by
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.37 (ruby-3.1.5).
</div>
</div>
</body>
</html>