<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: os_chmod - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: os_chmod - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: os_chmod - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_os_chmod" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - os_chmod</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_csv_table_def.html" title="csv_table_def">Prev</a> | <a class="link" href="fn_os_chown.html" title="os_chown">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a class="selected" href="functions.html#file">File Manipulation</a> </div> <div class="selected"> <div> <a href="fn_csv_cols_def.html">csv_cols_def</a> </div> <div> <a href="fn_csv_load.html">csv_load</a> </div> <div> <a href="fn_csv_load_file.html">csv_load_file</a> </div> <div> <a href="fn_csv_parse.html">csv_parse</a> </div> <div> <a href="fn_csv_table_def.html">csv_table_def</a> </div> <div> <a href="fn_file_delete.html">file_delete</a> </div> <div> <a href="fn_file_dirlist.html">file_dirlist</a> </div> <div> <a href="fn_file_mkdir.html">file_mkdir</a> </div> <div> <a href="fn_file_mkpath.html">file_mkpath</a> </div> <div> <a href="fn_file_open.html">file_open</a> </div> <div> <a href="fn_file_stat.html">file_stat</a> </div> <div> <a href="fn_file_to_string.html">file_to_string</a> </div> <div> <a href="fn_file_to_string_output.html">file_to_string_outpu...</a> </div> <div> <a href="fn_file_unlink.html">file_unlink</a> </div> <div> <a href="fn_get_csv_row.html">get_csv_row</a> </div> <div> <a href="fn_gz_file_open.html">gz_file_open</a> </div> <div> <a class="selected" href="fn_os_chmod.html">os_chmod</a> </div> <div> <a href="fn_os_chown.html">os_chown</a> </div> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>os_chmod</h2> <div class="refpurpose">changes the file access mode of a file</div> <div class="funcsynopsis"> <span class="funcdef"> <span class="function">os_chmod</span> </span> (<span class="paramdef">in <span class="parameter">path</span> varchar</span>, <span class="paramdef">in <span class="parameter">new_mod</span> integer</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p> <span class="computeroutput">os_chmod</span> set the file mode bits by calling the system function chmod() with the arguments supplied.</p> <p>Not all the host OSes support all the file modes. That's why the function will not throw an SQL error if the function fails.</p> <p>It will return DB NULL value when the function was called successfully and the error message as a string if it failed.</p> <p>In most OSes the mode is a bitmask, so one would usually use the <span class="computeroutput">file_stat</span> to get the current mode and <span class="computeroutput">bit_or</span>/<span class="computeroutput">bit_xor</span> to make the new mode.</p> <p>Typical bit layout (from Linux 'man 2 chmod') is : <ul> <li>bit 0 (mask 1) - execute/search by others </li> <li>bit 1 (mask 2) - write by others </li> <li>bit 2 (mask 4) - read by others </li> <li>bit 3 (mask 8) - execute/search by group </li> <li>bit 4 (mask 16) - write by group </li> <li>bit 5 (mask 32) - read by group </li> <li>bit 6 (mask 64) - execute/search by owner </li> <li>bit 7 (mask 128) - write by owner </li> <li>bit 8 (mask 256) - read by owner </li> <li>bit 9 (mask 512) - sticky bit </li> <li>bit 10 (mask 1024) - set group ID on execution </li> <li>bit 12 (mask 2048) - set user ID on execution </li> </ul> </p> <p>The DirsAllowed and DirsDenied lists in Parameters section of the virtuoso configuration file (virtuoso.ini by default) are used to control disk access. </p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">path – </span> <span class="computeroutput">varchar</span> relative path. </div> <div class="refsect2"> <span class="refsect2title">new_mod – </span> <span class="computeroutput">integer</span> new mode for the file. </div> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="ex_os_chmod" /> <div class="example"> <div class="exampletitle">Simple example</div> <p>Make the virtuoso INI file readable by the others</p> <div> <pre class="screen"> SQL>select os_chmod (virtuoso_ini_path(), bit_or (cast (file_stat (virtuoso_ini_path(), 2) as integer), 4)); callret VARCHAR _______________________________________________________________________________ NULL </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_file_delete.html">file_delete</a> </p> <p> <a href="fn_file_stat.html">file_stat</a> </p> <p> <a href="fn_os_chown.html">os_chown</a> </p> <p> <a href="fn_virtuoso_ini_path.html">virtuoso_ini_path</a> </p> <p> <a href="fn_bit_or.html">bit_or</a> </p> <p> <a href="fn_bit_xor.html">bit_xor</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>