Re: Serious flaw in virtual-ltsp scripts

Dashamir Hoxha <[email protected]> Sat, 6 Oct 2018 10:40:20 +0200
Newsgroups gmane.linux.terminal-server.devel,gmane.linux.terminal-server.general
Message-ID <CAMucfLy=Tse31_m3rBPHEXLhjJg0zS3SxWdk7OYyjgNnWyQH2Q@mail.gmail.com>
--===============0296507721667571067==
Content-Type: multipart/alternative; boundary="00000000000049165f05778b5797"

--00000000000049165f05778b5797
Content-Type: text/plain; charset="UTF-8"

On Sat, Oct 6, 2018 at 8:09 AM Alkis Georgopoulos <[email protected]> wrote:

> `man lts.conf` and read about RM_SYSTEM_SERVICES there.
> The services that are disabled by default on fat clients are listed in:
> /usr/share/ltsp/init-ltsp.d/50-rm-system-services
>
> I.e. you just need a line in your lts.conf to prevent all the additional
> services that you installed from running on thin/fat clients.
>

Thanks Alkis, this should solve the problem.

By the way, `man lts.conf` gives a "No manual entry for lts.conf" error.
I am referring to this page, which may be a bit outdated but should still
be ok:
http://manpages.ubuntu.com/manpages/xenial/man5/lts.conf.5.html

However, I think that this is not a very "clean" solution, since all the
extra
files installed by the extra packages will still go to the client image.
If there was some option like RM_PACKAGES which automatically
removes all the files of the listed packages, this could be better.

But it still does not solve the problem of the software that is compiled
and installed manually. By looking at the code of
`/usr/share/ltsp/ltsp-cleanup`
I get the impression that any scripts listed on `/etc/ltsp/cleanup.d` will
be
called automatically, besides the scripts on `/usr/share/ltsp/cleanup.d`,
if the option `--cleanup` is used. If this is true, then I can create for
example
a script like `/etc/ltsp/cleanup.d/50-guacamole` which removes from the
client everything installed by `guacamole.sh` (including apache, tomcat,
mysql, etc.)

If this works, it would be a cleaner solution. I have to try it.
By the way, I haven't seen this documented somewhere (or maybe I have
missed it, since I don't know all the documentation details).

Another possible solution, which would be "clean" in my opinion, is
to create a chroot directory by taking a snapshot/copy of the root ("/")
directory. Then it can be managed as a chroot client image (chroot to it,
install new packages and software, etc.) Then whatever is installed on
the server after the creation of the chroot directory does affect the
content
of the client image.
Do you think this is a good solution? Can it be achieved with the tools
that are already available, or it needs some improvements?

Regards,
Dashamir

--00000000000049165f05778b5797
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div di=
r=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On S=
at, Oct 6, 2018 at 8:09 AM Alkis Georgopoulos &lt;<a href=3D"mailto:alkisg@=
gmail.com">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,=
204,204);padding-left:1ex">`man lts.conf` and read about RM_SYSTEM_SERVICES=
 there.<br>
The services that are disabled by default on fat clients are listed in:<br>
/usr/share/ltsp/init-ltsp.d/50-rm-system-services<br>
<br>
I.e. you just need a line in your lts.conf to prevent all the additional <b=
r>
services that you installed from running on thin/fat clients.<br></blockquo=
te><div><br></div><div>Thanks Alkis, this should solve the problem.</div><d=
iv><br></div><div>By the way, `man lts.conf` gives a &quot;No manual entry =
for lts.conf&quot; error.</div><div>I am referring to this page, which may =
be a bit outdated but should still be ok:</div><div><a href=3D"http://manpa=
ges.ubuntu.com/manpages/xenial/man5/lts.conf.5.html">http://manpages.ubuntu=
.com/manpages/xenial/man5/lts.conf.5.html</a></div><div><br></div><div>Howe=
ver, I think that this is not a very &quot;clean&quot; solution, since all =
the extra</div><div>files installed by the extra packages will still go to =
the client image.</div><div>If there was some option like RM_PACKAGES which=
 automatically</div><div>removes all the files of the listed packages, this=
 could be better.</div><div><br></div><div>But it still does not solve the =
problem of the software that is compiled</div><div>and installed manually. =
By looking at the code of `/usr/share/ltsp/ltsp-cleanup`</div><div>I get th=
e impression that any scripts listed on `/etc/ltsp/cleanup.d` will be</div>=
<div>called automatically, besides the scripts on `/usr/share/ltsp/cleanup.=
d`,</div><div>if the option `--cleanup` is used. If this is true, then I ca=
n create for example</div><div>a script like `/etc/ltsp/cleanup.d/50-guacam=
ole` which removes from the</div><div>client everything installed by `guaca=
mole.sh` (including apache, tomcat,</div><div>mysql, etc.)</div><div><br></=
div><div>If this works, it would be a cleaner solution. I have to try it.</=
div><div>By the way, I haven&#39;t seen this documented somewhere (or maybe=
 I have<br></div><div>missed it, since I don&#39;t know all the documentati=
on details).</div><div><br></div><div>Another possible solution, which woul=
d be &quot;clean&quot; in my opinion, is</div><div>to create a chroot direc=
tory by taking a snapshot/copy of the root (&quot;/&quot;)</div><div>direct=
ory. Then it can be managed as a chroot client image (chroot to it,</div><d=
iv>install new packages and software, etc.) Then whatever is installed on</=
div><div>the server after the creation of the chroot directory does affect =
the content</div><div>of the client image.</div><div>Do you think this is a=
 good solution? Can it be achieved with the tools</div><div>that are alread=
y available, or it needs some improvements?</div><div><br></div><div>Regard=
s,</div><div>Dashamir</div></div></div></div></div></div></div></div>

--00000000000049165f05778b5797--


--===============0296507721667571067==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============0296507721667571067==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_____________________________________________________________________
Ltsp-developer mailing list.   To un-subscribe, or change prefs, goto:
      https://lists.sourceforge.net/lists/listinfo/ltsp-developer
For additional LTSP help,   try #ltsp channel on irc.freenode.net

--===============0296507721667571067==--