[#399938] how to read arrary with an array — "Richard D." <lists@...>

Hello. I believe this is basic question, but I'm just starting to learn

19 messages 2012/10/02

[#400050] img src while sending email ruby cgi — Ferdous ara <lists@...>

Hi

16 messages 2012/10/05

[#400351] Drop 1st and last particular character — ajay paswan <lists@...>

What is the most efficient way to drop '#' from the first place and last

15 messages 2012/10/16

[#400374] database part of a desktop application — "Sebastjan H." <lists@...>

Hi,

14 messages 2012/10/16
[#400375] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/16

On Wed, Oct 17, 2012 at 05:28:39AM +0900, Sebastjan H. wrote:

[#400377] Re: database part of a desktop application — sto.mar@... 2012/10/17

Am 16.10.2012 23:24, schrieb Chad Perrin:

[#400389] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/17

On Wed, Oct 17, 2012 at 01:39:21PM +0900, sto.mar@web.de wrote:

[#400386] Unable to send attachment, and dealing with multiple attachment — ajay paswan <lists@...>

Hi,

11 messages 2012/10/17

[#400454] Hash with Integer key issue — Wayne Simmerson <lists@...>

Hi Im new to Ruby and am getting some unexpected results from a

18 messages 2012/10/19

[#400535] Name/symbol/object type clash? What is happening here? — Todd Benson <caduceass@...>

It's nonsense code, but I'm curious as to what is going on behind the scenes...

41 messages 2012/10/23

[#400556] Calling a method foo() or an object foo.method_call_here - both — Marc Heiler <lists@...>

Hello.

13 messages 2012/10/24

[#400650] OpenSSL ECDSA public key from private — Nokan Emiro <uzleepito@...>

Hi,

11 messages 2012/10/27

[#400680] Passing folder as argument ARGV? — Joz Private <lists@...>

Is there an easy way to pass multiple files on the command line?

15 messages 2012/10/28
[#400681] Re: Passing folder as argument ARGV? — brad smith <bradleydsmith@...> 2012/10/28

How are you traversing the directory you pass in on the command line ?

[#400697] File.readable? and /proc — Jeff Moore <lists@...>

root@nail:/projects/proc_fs# uname -a

13 messages 2012/10/28

[#400714] Marshal.load weird issue — "Pierre J." <lists@...>

Hi guys

12 messages 2012/10/28

[#400781] bug?: local variable created in if modifier not available in modified expression — "Mean L." <lists@...>

irb(main):001:0> local1 if local1 = "created"

21 messages 2012/10/30
[#400807] Re: bug?: local variable created in if modifier not available in modified expression — Bartosz Dziewoński <matma.rex@...> 2012/10/31

Oh, and in case it wasn't apparent: you can just add

[#400808] Re: bug?: local variable created in if modifier not available in modified expression — Eliezer Croitoru <eliezer@...> 2012/10/31

On 10/31/2012 4:52 PM, Bartosz Dziewoナгki wrote:

[#400809] Re: bug?: local variable created in if modifier not available in modified expression — Robert Klemme <shortcutter@...> 2012/10/31

On Wed, Oct 31, 2012 at 4:28 PM, Eliezer Croitoru <eliezer@ngtech.co.il>wrote:

[#400784] REXML & HTMLentities incorrectly map to UTF-8 — "Mark S." <lists@...>

I have some XML data (UTF 8) that I'm trying to convert into another XML

13 messages 2012/10/30

Re: File.readable? and /proc

From: Sam Duncan <sduncan@...>
Date: 2012-10-28 21:06:04 UTC
List: ruby-talk #400712
On 10/29/2012 09:18 AM, Jeff Moore wrote:
> Igor Pirnovar wrote in post #1081714:
>> Jeff Moore wrote in post #1081712:
>>
>>> It's the inconsistency with:
>>>
>>> root@nail:/projects/proc_fs# ls -al /proc/sys/fs/binfmt_misc/register
>>> --w------- 1 root root 0 2012-10-28 08:24
>>> /proc/sys/fs/binfmt_misc/register
>>>
>>> that I find mostly surprising.
>> Well, that's how Unix works. I have two objections:
>>
>> (1) You should not be using superuser account for regular work!
>> (2) You have no business running irb in /proc filesystem!
>>
>> If you do either of these things, you better not be surprised, ever!
> And if you 'regular work' involves interrogating the /proc file system,
> then what?
>
You could use something like this? You'd need to flesh out some error/ 
input handling, and these constants (sadly not exposed by ruby that I 
can find) will be platform specific. I think the 'problem' is that root 
can do pretty much anything it wants (make a file owned root:root, chmod 
000, and enjoy echo'ing stuff into it). The stdlib seems to use 
'eaccess( path, R_OK )' which I guess gives a 0 for euid 0.

require 'etc'
S_IFMT   = 0170000
S_IFLNK    0120000
S_IRUSR  = 00400
S_IRGRP  = 00040
S_IROTH  = 00004

def readable?( path, follow=false )
     st = File.lstat( path )
     if follow && ( S_IFLNK == ( st.mode & S_IFMT ) )
         st = File.stat( path )
     end
     uid = Process.euid
     if ( st.mode & S_IROTH ) > 0
         print 'Other read'
         true
     elsif( ( ( st.mode & S_IRUSR ) > 0 ) && ( st.uid == uid ) )
         print 'Owner read'
         true
     elsif ( st.mode & S_IRGRP ) > 0
         username = Etc.getpwuid( uid ).name
         if Etc.getgrgid( st.gid ).mem.include?( username )
             print 'Group read'
             true
         else
             false
         end
     else
         false
     end
end


Sam


In This Thread