Possible to access device from the jail? (in order to set a print server)

Status
Not open for further replies.

djoole

Contributor
Joined
Oct 3, 2011
Messages
158
Hi,
I want to set up a print server inside my jail.
But i don't know if it is possible and how to access to the printer device from the jail.
I need to use /dev/ulpt0, not visible from the jail...
Is it possible at all?

I could set up the print server directly on FreeNAS (like it was on my 8.0.1 system) but at each upgrades i loose my mods.
 

SteelWolf

Dabbler
Joined
Jan 15, 2012
Messages
14
My impression is that you should be able to do this by setting a mount point from your print server directory to somewhere accessible from within the jail.
 

djoole

Contributor
Joined
Oct 3, 2011
Messages
158
What do you mean by print server directory?
You mean mouting /dev in the jail to access /dev/ulpt0 from the jail?
 

jvdb

Cadet
Joined
Aug 4, 2012
Messages
2
I believe the correct way to do this is with devfs.rules, however I believe you are going to run into the same problem as with previous versions of FreeNAS (losing your changes with upgrades).

I need access to my serial ports from the jail, but I have not solved this problem with the brief amount of time I have spent looking at it. This should probably be submitted as a feature request anyway.
 

jvdb

Cadet
Joined
Aug 4, 2012
Messages
2
I got it to work, this is what I did:

mount -uw /
vi /conf/base/etc/devfs.rules

add these lines:
[devfsrules_jail=1]
add path 'cuau*' unhide

reboot

I think you probably want:
add path 'ulpt*' unhide
 

djoole

Contributor
Joined
Oct 3, 2011
Messages
158
OK, i've rebooted, and now i have /dev/ulpt0 in the jail, but not only that, but every device from the NAS.

Before :
Code:

ZeJail# ll /dev
total 1
crw-rw-rw-  1 root  wheel    0,  64 Jul 18 22:54 crypto
dr-xr-xr-x  2 root  wheel       512 Jul 18 22:55 fd
lrwxr-xr-x  1 root  wheel        14 Jul 18 22:55 log -> ../var/run/log
crw-rw-rw-  1 root  wheel    0,  17 Aug  4 00:03 null
crw-rw-rw-  1 root  wheel    0,  26 Jul 18 22:54 ptmx
dr-xr-xr-x  2 root  wheel       512 Jul 22 18:32 pts
crw-rw-rw-  1 root  wheel    0,  21 Jul 18 22:54 random
lrwxr-xr-x  1 root  wheel         4 Jul 18 22:55 stderr -> fd/2
lrwxr-xr-x  1 root  wheel         4 Jul 18 22:55 stdin -> fd/0
lrwxr-xr-x  1 root  wheel         4 Jul 18 22:55 stdout -> fd/1
lrwxr-xr-x  1 root  wheel         6 Jul 18 22:55 urandom -> random
crw-rw-rw-  1 root  wheel    0,  18 Jul 18 22:54 zero


After :
Code:
ZeJail# ll /dev
total 4
crw-r--r--  1 root  wheel       0,  32 Aug  5 17:48 acpi
crw-r-----  1 root  operator    0, 108 Aug  5 17:48 ada0
crw-r-----  1 root  operator    0, 122 Aug  5 17:48 ada0p1
crw-r-----  1 root  operator    0, 123 Aug  5 17:48 ada0p2
crw-r-----  1 root  operator    0, 109 Aug  5 17:48 ada1
crw-r-----  1 root  operator    0, 124 Aug  5 17:48 ada1p1
crw-r-----  1 root  operator    0, 125 Aug  5 17:48 ada1p2
crw-r-----  1 root  operator    0, 110 Aug  5 17:48 ada2
crw-r-----  1 root  operator    0, 126 Aug  5 17:48 ada2p1
crw-r-----  1 root  operator    0, 127 Aug  5 17:48 ada2p2
crw-r-----  1 root  operator    0, 111 Aug  5 17:48 ada3
crw-r-----  1 root  operator    0, 128 Aug  5 17:48 ada3p1
crw-r-----  1 root  operator    0, 129 Aug  5 17:48 ada3p2
crw-r-----  1 root  operator    0, 112 Aug  5 17:48 ada4
crw-r-----  1 root  operator    0, 130 Aug  5 17:48 ada4p1
crw-r-----  1 root  operator    0, 131 Aug  5 17:48 ada4p2
crw-r-----  1 root  operator    0, 113 Aug  5 17:48 ada5
crw-r-----  1 root  operator    0, 132 Aug  5 17:48 ada5p1
crw-r-----  1 root  operator    0, 133 Aug  5 17:48 ada5p2
crw-r-----  1 root  operator    0, 114 Aug  5 17:48 ada6
crw-r-----  1 root  operator    0, 134 Aug  5 17:48 ada6p1
crw-r-----  1 root  operator    0, 135 Aug  5 17:48 ada6p2
crw-r-----  1 root  operator    0, 115 Aug  5 17:48 ada7
crw-r-----  1 root  operator    0, 136 Aug  5 17:48 ada7p1
crw-r-----  1 root  operator    0, 137 Aug  5 17:48 ada7p2
crw-------  1 root  wheel       0,  62 Aug  5 17:48 atkbd0
crw-------  1 root  kmem        0,  20 Aug  5 17:48 audit
crw-------  1 root  wheel       0,  30 Aug  5 17:49 bpf
lrwxr-xr-x  1 root  wheel            3 Aug  5 17:49 bpf0 -> bpf
crw-------  1 root  wheel       0,   5 Aug  5 17:55 console
crw-------  1 root  wheel       0,  61 Aug  5 17:48 consolectl
crw-rw-rw-  1 root  wheel       0,  64 Aug  5 17:48 crypto
crw-rw-rw-  1 root  wheel       0,  27 Aug  5 17:48 ctty
crw-r-----  1 root  operator    0,  94 Aug  5 17:48 da0
crw-r-----  1 root  operator    0, 104 Aug  5 17:48 da0s1
crw-r-----  1 root  operator    0, 116 Aug  5 17:48 da0s1a
crw-r-----  1 root  operator    0, 105 Aug  5 17:48 da0s2
crw-r-----  1 root  operator    0, 117 Aug  5 17:48 da0s2a
crw-r-----  1 root  operator    0, 106 Aug  5 17:48 da0s3
crw-r-----  1 root  operator    0, 107 Aug  5 17:48 da0s4
crw-------  1 root  wheel       0,   4 Aug  5 17:48 devctl
cr--------  1 root  wheel       0,  93 Aug  5 17:48 devstat
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 fd
crw-------  1 root  wheel       0,  28 Aug  5 17:48 fido
crw-r-----  1 root  operator    0,   3 Aug  5 17:48 geom.ctl
crw-------  1 root  wheel       0,  29 Aug  5 17:48 ggctl
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 gptid
crw-------  1 root  wheel       0,  25 Aug  5 17:48 io
lrwxr-xr-x  1 root  wheel            6 Aug  5 17:49 kbd0 -> atkbd0
lrwxr-xr-x  1 root  wheel            7 Aug  5 17:49 kbd1 -> kbdmux0
crw-------  1 root  wheel       0,   6 Aug  5 17:48 kbdmux0
crw-------  1 root  wheel       0,  24 Aug  5 17:48 klog
crw-r-----  1 root  kmem        0,   9 Aug  5 17:48 kmem
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 led
lrwxr-xr-x  1 root  wheel           14 Aug  5 17:49 log -> ../var/run/log
crw-r-----  1 root  operator    0, 164 Aug  5 17:48 md0
crw-r-----  1 root  operator    0, 165 Aug  5 17:48 md1
crw-r-----  1 root  operator    0, 166 Aug  5 17:48 md2
crw-------  1 root  wheel       0,  67 Aug  5 17:48 mdctl
crw-r-----  1 root  kmem        0,   8 Aug  5 17:48 mem
crw-------  1 root  kmem        0,  16 Aug  5 17:48 nfslock
crw-rw-rw-  1 root  wheel       0,  17 Aug  5 18:01 null
crw-------  1 root  operator    0,  95 Aug  5 17:48 pass0
crw-------  1 root  operator    0,  96 Aug  5 17:48 pass1
crw-------  1 root  operator    0,  97 Aug  5 17:48 pass2
crw-------  1 root  operator    0,  98 Aug  5 17:48 pass3
crw-------  1 root  operator    0,  99 Aug  5 17:48 pass4
crw-------  1 root  operator    0, 100 Aug  5 17:48 pass5
crw-------  1 root  operator    0, 101 Aug  5 17:48 pass6
crw-------  1 root  operator    0, 102 Aug  5 17:48 pass7
crw-------  1 root  operator    0, 103 Aug  5 17:48 pass8
crw-r--r--  1 root  wheel       0,  19 Aug  5 17:48 pci
crw-rw-rw-  1 root  wheel       0,  26 Aug  5 17:48 ptmx
dr-xr-xr-x  2 root  wheel          512 Aug  5 18:01 pts
crw-rw-rw-  1 root  wheel       0,  21 Aug  5 17:48 random
lrwxr-xr-x  1 root  wheel            4 Aug  5 17:49 stderr -> fd/2
lrwxr-xr-x  1 root  wheel            4 Aug  5 17:49 stdin -> fd/0
lrwxr-xr-x  1 root  wheel            4 Aug  5 17:49 stdout -> fd/1
crw-------  1 root  wheel       0,  23 Aug  5 17:48 sysmouse
crw-------  1 root  wheel       0,  45 Aug  5 17:50 ttyv0
crw-------  1 root  wheel       0,  46 Aug  5 17:50 ttyv1
crw-------  1 root  wheel       0,  47 Aug  5 17:50 ttyv2
crw-------  1 root  wheel       0,  48 Aug  5 17:50 ttyv3
crw-------  1 root  wheel       0,  49 Aug  5 17:50 ttyv4
crw-------  1 root  wheel       0,  50 Aug  5 17:50 ttyv5
crw-------  1 root  wheel       0,  51 Aug  5 17:50 ttyv6
crw-------  1 root  wheel       0,  52 Aug  5 17:50 ttyv7
crw-------  1 root  wheel       0,  53 Aug  5 17:48 ttyv8
crw-------  1 root  wheel       0,  54 Aug  5 17:48 ttyv9
crw-------  1 root  wheel       0,  55 Aug  5 17:48 ttyva
crw-------  1 root  wheel       0,  56 Aug  5 17:48 ttyvb
crw-------  1 root  wheel       0,  57 Aug  5 17:48 ttyvc
crw-------  1 root  wheel       0,  58 Aug  5 17:48 ttyvd
crw-------  1 root  wheel       0,  59 Aug  5 17:48 ttyve
crw-------  1 root  wheel       0,  60 Aug  5 17:48 ttyvf
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 ufs
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 ufsid
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen0.1 -> usb/0.1.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen0.2 -> usb/0.2.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen0.3 -> usb/0.3.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen1.1 -> usb/1.1.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen1.2 -> usb/1.2.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen1.3 -> usb/1.3.0
lrwxr-xr-x  1 root  wheel            9 Aug  5 17:49 ugen1.4 -> usb/1.4.0
crw-r--r--  1 root  operator    0,  91 Aug  5 17:48 ulpt0
crw-r--r--  1 root  operator    0,  92 Aug  5 17:48 unlpt0
lrwxr-xr-x  1 root  wheel            6 Aug  5 17:49 urandom -> random
dr-xr-xr-x  2 root  wheel          512 Aug  5 17:49 usb
crw-r--r--  1 root  operator    0,  65 Aug  5 17:48 usbctl
crw-------  1 root  operator    0,  66 Aug  5 17:48 xpt0
crw-rw-rw-  1 root  wheel       0,  18 Aug  5 17:48 zero
crw-rw-rw-  1 root  operator    0, 167 Aug  5 17:48 zfs


Isn't it "dangerous" ?
 

cyberjock

Inactive Account
Joined
Mar 25, 2012
Messages
19,526
I'm not sure, but I think if you try to write data to the raw hard drive devices you could really mess up your zpool.
 

djoole

Contributor
Joined
Oct 3, 2011
Messages
158
It would be better just to unveil /dev/ulpt0 and hide the rest, but no idea how to do it...
I have to check devfs.rules doc

Maybe add something like that :
add path '*' hide
 
Status
Not open for further replies.
Top