And warning!

Trying to answer the above, I've disconnected my websocket.
I'll figure it out and report back

On Tue, May 8, 2018 at 6:28 PM, Sam Nicholson <sam...@ogt11.com> wrote:

> So,
>
> I run the zeppelin process as the web user on my system.  There is no
> other web process, so why not.
>
> Then, UNIX permissions keep it from running, accessing, deleting anything
> else.  EXCEPT items that are world writeable.
>
> There shouldn't be any of those, other than /tmp, but still /tmp is a
> hotbed of nefarious activity on hacked machines.  :)
>
> For example:
>
> %sh
>
> pwd
> ls
> touch bazzot
> ls -l bazzot
> rm bazzot
>
> Gives:
>
> /var/www/zeppelin
> derby.log
> figure
> metastore_db
> Rgraphics
> Rgraphics.zip
> -rw-r--r-- 1 www-data www-data 0 May 8 18:04 bazzot
> ls: cannot access 'bazzot': No such file or directory
> ExitValue: 2
>
> For another example:
>
> %sh
> id
> cd /home/samcn2
> touch bazzot
> ls -l bazzot
> rm bazzot
>
> Gives:
>
> uid=33(www-data) gid=33(www-data) groups=33(www-data)
> touch: cannot touch 'bazzot': Permission denied
> ls: cannot access 'bazzot': No such file or directory
> rm: cannot remove 'bazzot': No such file or directory
> ExitValue: 1
>
>
> So, you can't access other users' files.
>
> But you CAN access the web user's files.  That may be a bug.  I'm going to
> try changing the zeppelin  running user.  Wait one...
>
> OK.  So you can run zeppelin as some other user, the logs and the run
> directory must be owned by that user.
> I do this with symlinks.  But the websocket is failing.  So no joy there...
>
> So, for now, you can set things up so that zeppelin can't access any other
> files from other users on the system,
> but zeppelin web can access the zeppelin executable.  So, don't put this
> up for untrusted users!!!
>
> Here is my zeppelin start script:
> #!/bin/sh
>
> cd /var/www/zeppelin/home
>
> sudo -u zeppelin 
> /opt/apache/zeppelin/zeppelin-0.7.3-bin-all/bin/zeppelin-daemon.sh
> $*
>
>
> If /var/www/zeppelin/home is owned by zeppelin, as is
> /opt/apache/zeppelin/*, then this works with the caveat above.
>
> Cheers!
> -sam
>
>
> On Tue, May 8, 2018 at 5:48 PM, Jhon Anderson Cardenas Diaz <
> jhonderson2...@gmail.com> wrote:
>
>> Dear Zeppelin Community,
>>
>> Currently when a Zeppelin paragraph is executed, the code in it can read
>> sensitive config files, change them, including web app pages and etc. Like
>> in this example:
>>
>> %python
>> f = open("/usr/zeppelin/conf/credentials.json", "r")
>> f.read()
>>
>> Do you know if is there a way to configure the user used to start the
>> interpreters or run the paragraph's code ?, so that user can not access the
>> File System where zeppelin is running, or has  more restricted access.
>>
>> Thank you.
>>
>
>

Reply via email to