cgcs-users: remove unused package
The cgcs-users package provides a restricted shell ibsh (Iron Bars SHell) that is no longer being referenced in StarlingX, so we can remove this package. Story: 2007102 Task: 38147 Change-Id: Ic8c262d973734bb0c4ce93ed6499db1394b1e48e Signed-off-by: Saul Wold <sgw@linux.intel.com>
This commit is contained in:
parent
d2909ed9e3
commit
5ccf5648d8
@ -1,5 +0,0 @@
|
|||||||
TAR_NAME=cgcs-users
|
|
||||||
VERSION=1.0
|
|
||||||
COPY_LIST="${CGCS_BASE}/downloads/ibsh-0.3e.tar.gz \
|
|
||||||
${PKG_BASE}/${TAR_NAME}-${VERSION}/*"
|
|
||||||
TIS_PATCH_VER=2
|
|
@ -1,86 +0,0 @@
|
|||||||
%define _bindir /bin
|
|
||||||
|
|
||||||
Summary: ibsh Iron Bar Shell
|
|
||||||
Name: cgcs-users
|
|
||||||
Version: 1.0
|
|
||||||
Release: 0%{?_tis_dist}.%{tis_patch_ver}
|
|
||||||
License: GPLv2+
|
|
||||||
Packager: Wind River <info@windriver.com>
|
|
||||||
Source0: ibsh-0.3e.tar.gz
|
|
||||||
Source1: admin.cmds
|
|
||||||
Source2: admin.xtns
|
|
||||||
Source3: operator.cmds
|
|
||||||
Source4: operator.xtns
|
|
||||||
Source5: secadmin.cmds
|
|
||||||
Source6: secadmin.xtns
|
|
||||||
Source7: LICENSE
|
|
||||||
Patch1: ibsh-0.3e.patch
|
|
||||||
Patch2: ibsh-0.3e-cgcs.patch
|
|
||||||
Patch3: ibsh-0.3e-cgcs-copyright.patch
|
|
||||||
|
|
||||||
%description
|
|
||||||
CGCS add default users types
|
|
||||||
|
|
||||||
%package -n cgcs-users-devel
|
|
||||||
Summary: ibsh Iron Bar Shell - Development files
|
|
||||||
Group: devel
|
|
||||||
|
|
||||||
%description -n cgcs-users-devel
|
|
||||||
This package contains symbolic links, header files, and related items
|
|
||||||
necessary for software development.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%patch1 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
make %{?_smp_mflags} ibsh
|
|
||||||
|
|
||||||
%install
|
|
||||||
rm -rf ${RPM_BUILD_ROOT}
|
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds
|
|
||||||
mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/xtns
|
|
||||||
cp globals.cmds ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/
|
|
||||||
cp globals.xtns ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/
|
|
||||||
cp ${RPM_SOURCE_DIR}/admin.cmds ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/
|
|
||||||
cp ${RPM_SOURCE_DIR}/admin.xtns ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/xtns/
|
|
||||||
cp ${RPM_SOURCE_DIR}/operator.cmds ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/
|
|
||||||
cp ${RPM_SOURCE_DIR}/operator.xtns ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/xtns/
|
|
||||||
cp ${RPM_SOURCE_DIR}/secadmin.cmds ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/
|
|
||||||
cp ${RPM_SOURCE_DIR}/secadmin.xtns ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/xtns/
|
|
||||||
install -d 755 ${RPM_BUILD_ROOT}%{_bindir}
|
|
||||||
install -m 755 ibsh ${RPM_BUILD_ROOT}%{_bindir}/ibsh
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf ${RPM_SOURCE_DIR}
|
|
||||||
|
|
||||||
%post
|
|
||||||
chown root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh
|
|
||||||
chgrp root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh
|
|
||||||
chown root:root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/globals.*
|
|
||||||
chown root:root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/admin.cmds
|
|
||||||
chown root:root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/operator.cmds
|
|
||||||
chown root:root ${RPM_BUILD_ROOT}/%{_sysconfdir}/ibsh/cmds/secadmin.cmds
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%dir %{_sysconfdir}/ibsh
|
|
||||||
%dir %{_sysconfdir}/ibsh/cmds
|
|
||||||
%dir %{_sysconfdir}/ibsh/xtns
|
|
||||||
%{_sysconfdir}/ibsh/globals.cmds
|
|
||||||
%{_sysconfdir}/ibsh/globals.xtns
|
|
||||||
%{_sysconfdir}/ibsh/cmds/secadmin.cmds
|
|
||||||
%{_sysconfdir}/ibsh/cmds/operator.cmds
|
|
||||||
%{_sysconfdir}/ibsh/cmds/admin.cmds
|
|
||||||
%{_sysconfdir}/ibsh/xtns/operator.xtns
|
|
||||||
%{_sysconfdir}/ibsh/xtns/admin.xtns
|
|
||||||
%{_sysconfdir}/ibsh/xtns/secadmin.xtns
|
|
||||||
%{_bindir}/ibsh
|
|
||||||
|
|
||||||
%files -n cgcs-users-devel
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
|
|
@ -1,346 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
|
||||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License;
|
|
||||||
they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims;
|
|
||||||
this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system;
|
|
||||||
it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation;
|
|
||||||
we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty;
|
|
||||||
and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions;
|
|
||||||
type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Library General
|
|
||||||
Public License instead of this License.
|
|
@ -1,11 +0,0 @@
|
|||||||
# Add any commands the user may execute. Even shell commands.
|
|
||||||
# You have to allow logout and/or exit, so the user can logout!
|
|
||||||
# cd and pwd should also be allowed. Note: other shell builtin
|
|
||||||
# commands are not yet implemented!
|
|
||||||
nova
|
|
||||||
system
|
|
||||||
neutron
|
|
||||||
cinder
|
|
||||||
glance
|
|
||||||
ceilometer
|
|
||||||
heat
|
|
@ -1,6 +0,0 @@
|
|||||||
# Add any extension the user may use.
|
|
||||||
.doc
|
|
||||||
.txt
|
|
||||||
.tgz
|
|
||||||
.tar
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
diff --git a/config.c b/config.c
|
|
||||||
index c1087a5..add7c53 100644
|
|
||||||
--- a/config.c
|
|
||||||
+++ b/config.c
|
|
||||||
@@ -6,6 +6,8 @@
|
|
||||||
This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
|
|
||||||
Copyright (C) 2005 Attila Nagyidai
|
|
||||||
|
|
||||||
+ Copyright(c) 2013-2017 Wind River Systems, Inc. All rights reserved.
|
|
||||||
+
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public License
|
|
||||||
as published by the Free Software Foundation; either version 2
|
|
||||||
diff --git a/main.c b/main.c
|
|
||||||
index cf3ae9e..6cda04e 100644
|
|
||||||
--- a/main.c
|
|
||||||
+++ b/main.c
|
|
||||||
@@ -6,6 +6,8 @@
|
|
||||||
This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
|
|
||||||
Copyright (C) 2005 Attila Nagyidai
|
|
||||||
|
|
||||||
+ Copyright(c) 2013-2017 Wind River Systems, Inc. All rights reserved.
|
|
||||||
+
|
|
||||||
This program is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU General Public License
|
|
||||||
as published by the Free Software Foundation; either version 2
|
|
@ -1,84 +0,0 @@
|
|||||||
Index: cgcs-users-1.0-r0/main.c
|
|
||||||
===================================================================
|
|
||||||
--- cgcs-users-1.0-r0.orig/main.c
|
|
||||||
+++ cgcs-users-1.0-r0/main.c
|
|
||||||
@@ -37,6 +37,7 @@
|
|
||||||
|
|
||||||
/* Header files */
|
|
||||||
#include "ibsh.h"
|
|
||||||
+#include "stdlib.h"
|
|
||||||
|
|
||||||
/* Main: */
|
|
||||||
/* Handle arguments, read config files, start command processing. */
|
|
||||||
@@ -57,13 +58,28 @@
|
|
||||||
/* use our builtin code, otherwise use execve. After execve, check if the user didnt */
|
|
||||||
/* use the last command to create some illegal content. If yes, erase that. Give the */
|
|
||||||
/* notice only afterwards. */
|
|
||||||
+
|
|
||||||
+void ALRMhandler(int sig) {
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_INFO, "CLI timeout, user %s has logged out.", loggedin.uname);
|
|
||||||
+ CLOSELOG;
|
|
||||||
+ exit(0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
char temp[STRING_SIZE], *buf;
|
|
||||||
struct stat info;
|
|
||||||
uid_t ruid, euid;
|
|
||||||
gid_t rgid, egid;
|
|
||||||
+ unsigned int tout_cli = 0;
|
|
||||||
|
|
||||||
+ const char* tout = getenv("TMOUT");
|
|
||||||
+ if (tout)
|
|
||||||
+ tout_cli = atoi(tout);
|
|
||||||
+ else
|
|
||||||
+ //default to 5 mins
|
|
||||||
+ tout_cli = 300;
|
|
||||||
|
|
||||||
/* setuid protection */
|
|
||||||
ruid = getuid();
|
|
||||||
@@ -107,6 +123,7 @@ int main(int argc, char **argv)
|
|
||||||
signal( SIGQUIT, SIG_IGN );
|
|
||||||
signal( SIGTERM, SIG_IGN );
|
|
||||||
signal( SIGTSTP, SIG_IGN );
|
|
||||||
+ signal( SIGALRM, ALRMhandler );
|
|
||||||
LoadConfig();
|
|
||||||
|
|
||||||
/* Command mode */
|
|
||||||
@@ -144,6 +161,7 @@ int main(int argc, char **argv)
|
|
||||||
/* will be allowed to run, unless it is mentioned in the */
|
|
||||||
/* config files. Files that are created with an extension */
|
|
||||||
/* that is listed in the other config file, must be deleted! */
|
|
||||||
+ alarm(tout_cli);
|
|
||||||
for ( ; ; ) {
|
|
||||||
/* Where is he ? */
|
|
||||||
getcwd(real_path, STRING_SIZE);
|
|
||||||
@@ -153,12 +171,12 @@ int main(int argc, char **argv)
|
|
||||||
}
|
|
||||||
/* We don't want the user to know where he actually is. */
|
|
||||||
/* This is the prompt! */
|
|
||||||
- printf("[%s]%% ", jail_path);
|
|
||||||
+ printf("[%s]%% ", loggedin.uname);
|
|
||||||
/* scanf("%s", user_command); */
|
|
||||||
myscanf(user_command, real_path);
|
|
||||||
+ alarm(tout_cli);
|
|
||||||
/* Command interpretation and execution. */
|
|
||||||
if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
|
|
||||||
- printf("Sorry, can't let you do that!\n");
|
|
||||||
log_attempt(loggedin.uname); /* v0.2a */
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Index: cgcs-users-1.0-r0/config.c
|
|
||||||
===================================================================
|
|
||||||
--- cgcs-users-1.0-r0.orig/config.c
|
|
||||||
+++ cgcs-users-1.0-r0/config.c
|
|
||||||
@@ -166,7 +166,6 @@ int LoadConfig( void )
|
|
||||||
// Delete '\n'
|
|
||||||
tmp2[i][strlen(tmp2[i]) - 1] = '\0';
|
|
||||||
strncpy(extensions[i],tmp2[i],strlen(tmp2[i]));
|
|
||||||
- printf("EXTENSIONS %s\n",extensions[i]);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,860 +0,0 @@
|
|||||||
Index: cgcs-users-1.0-r0/AUTHORS.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/AUTHORS.orig
|
|
||||||
@@ -0,0 +1,15 @@
|
|
||||||
+AUTHORS OF PROJECT IBSH
|
|
||||||
+
|
|
||||||
+Attila Nagyidai <attila at ibsh.net>
|
|
||||||
+ * Original program author, project admin, developer.
|
|
||||||
+
|
|
||||||
+Shy <shy at ibsh.net>
|
|
||||||
+ * Developer, debugger, tester, and many more.
|
|
||||||
+
|
|
||||||
+Witzy <witzy at ibsh.net>
|
|
||||||
+ * Developer, debugger, tester, and many more.
|
|
||||||
+
|
|
||||||
+http://www.ibsh.net
|
|
||||||
+irc:
|
|
||||||
+irc.freenode.net #ibsh
|
|
||||||
+irc.geek-power.org #ibsh
|
|
||||||
Index: cgcs-users-1.0-r0/BUGS.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/BUGS.orig
|
|
||||||
@@ -0,0 +1,19 @@
|
|
||||||
+** Open BUGS **
|
|
||||||
+None, so far.
|
|
||||||
+
|
|
||||||
+** Fixed BUGS **
|
|
||||||
+- Input length checking on all inputs, string copies, etc. is fixed.
|
|
||||||
+- The myscanf function will no longer accept more then 80 chars at once,
|
|
||||||
+so ibsh hopefully wont crash on a too long input.
|
|
||||||
+- Added signal.h in the header file, the lack of it caused compilation
|
|
||||||
+problems on some systems.
|
|
||||||
+- Fixed the infinite loop in DelBadFiles. This function is temporarily
|
|
||||||
+taken out of the project
|
|
||||||
+- Removed the involvment of /bin/sh from system. Added path checking.
|
|
||||||
+- In jail root, not only ../ is not allowed, but .. too.
|
|
||||||
+- Fixed a bug, that happened on bsd, when the user pressed ^D.
|
|
||||||
+- Fixed a bug with opendir
|
|
||||||
+- Fixed a format string vulnerability in logprintbadfile(). Thanks to
|
|
||||||
+Kim Streich for the report.
|
|
||||||
+
|
|
||||||
+2005.05.23
|
|
||||||
Index: cgcs-users-1.0-r0/ChangeLog.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/ChangeLog.orig
|
|
||||||
@@ -0,0 +1,34 @@
|
|
||||||
+0.3e - a buffer overflow and a string bug, both found by RazoR (Nikolay Alexandrov), fixed.
|
|
||||||
+0.3d - a format string vulnerability, found by Kim Streich, is fixed.
|
|
||||||
+0.3b-0.3c - bugfixes.
|
|
||||||
+0.3a - The admin has the opportunity, to create separate cmds file for each user.
|
|
||||||
+ This way the sysadmin has complete control over sensitive applications, which
|
|
||||||
+ should only be allowed to a selected few.
|
|
||||||
+ - The admin has the opportunity, to create separate xtns file for each user.
|
|
||||||
+ - The extensions policy has been changed. Now both globals.xtns and the user
|
|
||||||
+ extension files will list the extensions, that are _allowed_ ! In earlier versions,
|
|
||||||
+ the forbidden extensions were listed, that is allow everything, except to deny a few.
|
|
||||||
+ From this version on, it's deny everything, except allow the ones, listed in these files.
|
|
||||||
+ - While the code for the search of illegal/dangerous material stored in user space is
|
|
||||||
+ back, it will not erase any files any more. Instead, it will remove all
|
|
||||||
+ rights from that file, so it can not be executed, or read. Files, with the +x bit set,
|
|
||||||
+ will be chmodded to -x. This is another "defense line" to stop the user to execute
|
|
||||||
+ programs, stored in user space.
|
|
||||||
+ - The access to all linux binaries, and source code files, stored in user space, if any,
|
|
||||||
+ will be blocked.
|
|
||||||
+ - Absolute path for restricted users can not be longer then 255 characters. All files,
|
|
||||||
+ that are longer (with full path), will be renamed.
|
|
||||||
+ - Minor bug fixes.
|
|
||||||
+
|
|
||||||
+0.2a - Major bug fixes.
|
|
||||||
+ - User activities are logged with syslog.
|
|
||||||
+ - hhsytem revised, hardened. /bin/sh isnt involved anymore into program starting.
|
|
||||||
+ If the home directory is in the PATH, it's ignored.
|
|
||||||
+ - erasing illegal content is temporarily suspended and removed.
|
|
||||||
+
|
|
||||||
+0.1b - Major bug fixes.
|
|
||||||
+ - The config files are accidentally missing from this release!
|
|
||||||
+
|
|
||||||
+0.1a - The first version of the program.
|
|
||||||
+
|
|
||||||
+2005.05.23.
|
|
||||||
Index: cgcs-users-1.0-r0/CONTRIBUTORS.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/CONTRIBUTORS.orig
|
|
||||||
@@ -0,0 +1,7 @@
|
|
||||||
+CONTRIBUTORS TO PROJECT IBSH
|
|
||||||
+
|
|
||||||
+Kim Streich <kstreich at gmail.com>
|
|
||||||
+ * bug finder, debugger, tester.
|
|
||||||
+
|
|
||||||
+RazoR (Nikolay Alexandrov) <Nikolay@Alexandrov.ws>
|
|
||||||
+ * bug finder, debugger, tester.
|
|
||||||
Index: cgcs-users-1.0-r0/COPYING.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/COPYING.orig
|
|
||||||
@@ -0,0 +1,340 @@
|
|
||||||
+ GNU GENERAL PUBLIC LICENSE
|
|
||||||
+ Version 2, June 1991
|
|
||||||
+
|
|
||||||
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
|
||||||
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
+ Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
+ of this license document, but changing it is not allowed.
|
|
||||||
+
|
|
||||||
+ Preamble
|
|
||||||
+
|
|
||||||
+ The licenses for most software are designed to take away your
|
|
||||||
+freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
+License is intended to guarantee your freedom to share and change free
|
|
||||||
+software--to make sure the software is free for all its users. This
|
|
||||||
+General Public License applies to most of the Free Software
|
|
||||||
+Foundation's software and to any other program whose authors commit to
|
|
||||||
+using it. (Some other Free Software Foundation software is covered by
|
|
||||||
+the GNU Library General Public License instead.) You can apply it to
|
|
||||||
+your programs, too.
|
|
||||||
+
|
|
||||||
+ When we speak of free software, we are referring to freedom, not
|
|
||||||
+price. Our General Public Licenses are designed to make sure that you
|
|
||||||
+have the freedom to distribute copies of free software (and charge for
|
|
||||||
+this service if you wish), that you receive source code or can get it
|
|
||||||
+if you want it, that you can change the software or use pieces of it
|
|
||||||
+in new free programs; and that you know you can do these things.
|
|
||||||
+
|
|
||||||
+ To protect your rights, we need to make restrictions that forbid
|
|
||||||
+anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
+These restrictions translate to certain responsibilities for you if you
|
|
||||||
+distribute copies of the software, or if you modify it.
|
|
||||||
+
|
|
||||||
+ For example, if you distribute copies of such a program, whether
|
|
||||||
+gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
+you have. You must make sure that they, too, receive or can get the
|
|
||||||
+source code. And you must show them these terms so they know their
|
|
||||||
+rights.
|
|
||||||
+
|
|
||||||
+ We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
+(2) offer you this license which gives you legal permission to copy,
|
|
||||||
+distribute and/or modify the software.
|
|
||||||
+
|
|
||||||
+ Also, for each author's protection and ours, we want to make certain
|
|
||||||
+that everyone understands that there is no warranty for this free
|
|
||||||
+software. If the software is modified by someone else and passed on, we
|
|
||||||
+want its recipients to know that what they have is not the original, so
|
|
||||||
+that any problems introduced by others will not reflect on the original
|
|
||||||
+authors' reputations.
|
|
||||||
+
|
|
||||||
+ Finally, any free program is threatened constantly by software
|
|
||||||
+patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
+program will individually obtain patent licenses, in effect making the
|
|
||||||
+program proprietary. To prevent this, we have made it clear that any
|
|
||||||
+patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
+
|
|
||||||
+ The precise terms and conditions for copying, distribution and
|
|
||||||
+modification follow.
|
|
||||||
+
|
|
||||||
+ GNU GENERAL PUBLIC LICENSE
|
|
||||||
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
+
|
|
||||||
+ 0. This License applies to any program or other work which contains
|
|
||||||
+a notice placed by the copyright holder saying it may be distributed
|
|
||||||
+under the terms of this General Public License. The "Program", below,
|
|
||||||
+refers to any such program or work, and a "work based on the Program"
|
|
||||||
+means either the Program or any derivative work under copyright law:
|
|
||||||
+that is to say, a work containing the Program or a portion of it,
|
|
||||||
+either verbatim or with modifications and/or translated into another
|
|
||||||
+language. (Hereinafter, translation is included without limitation in
|
|
||||||
+the term "modification".) Each licensee is addressed as "you".
|
|
||||||
+
|
|
||||||
+Activities other than copying, distribution and modification are not
|
|
||||||
+covered by this License; they are outside its scope. The act of
|
|
||||||
+running the Program is not restricted, and the output from the Program
|
|
||||||
+is covered only if its contents constitute a work based on the
|
|
||||||
+Program (independent of having been made by running the Program).
|
|
||||||
+Whether that is true depends on what the Program does.
|
|
||||||
+
|
|
||||||
+ 1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
+source code as you receive it, in any medium, provided that you
|
|
||||||
+conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
+copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
+notices that refer to this License and to the absence of any warranty;
|
|
||||||
+and give any other recipients of the Program a copy of this License
|
|
||||||
+along with the Program.
|
|
||||||
+
|
|
||||||
+You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
+you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
+
|
|
||||||
+ 2. You may modify your copy or copies of the Program or any portion
|
|
||||||
+of it, thus forming a work based on the Program, and copy and
|
|
||||||
+distribute such modifications or work under the terms of Section 1
|
|
||||||
+above, provided that you also meet all of these conditions:
|
|
||||||
+
|
|
||||||
+ a) You must cause the modified files to carry prominent notices
|
|
||||||
+ stating that you changed the files and the date of any change.
|
|
||||||
+
|
|
||||||
+ b) You must cause any work that you distribute or publish, that in
|
|
||||||
+ whole or in part contains or is derived from the Program or any
|
|
||||||
+ part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
+ parties under the terms of this License.
|
|
||||||
+
|
|
||||||
+ c) If the modified program normally reads commands interactively
|
|
||||||
+ when run, you must cause it, when started running for such
|
|
||||||
+ interactive use in the most ordinary way, to print or display an
|
|
||||||
+ announcement including an appropriate copyright notice and a
|
|
||||||
+ notice that there is no warranty (or else, saying that you provide
|
|
||||||
+ a warranty) and that users may redistribute the program under
|
|
||||||
+ these conditions, and telling the user how to view a copy of this
|
|
||||||
+ License. (Exception: if the Program itself is interactive but
|
|
||||||
+ does not normally print such an announcement, your work based on
|
|
||||||
+ the Program is not required to print an announcement.)
|
|
||||||
+
|
|
||||||
+These requirements apply to the modified work as a whole. If
|
|
||||||
+identifiable sections of that work are not derived from the Program,
|
|
||||||
+and can be reasonably considered independent and separate works in
|
|
||||||
+themselves, then this License, and its terms, do not apply to those
|
|
||||||
+sections when you distribute them as separate works. But when you
|
|
||||||
+distribute the same sections as part of a whole which is a work based
|
|
||||||
+on the Program, the distribution of the whole must be on the terms of
|
|
||||||
+this License, whose permissions for other licensees extend to the
|
|
||||||
+entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
+
|
|
||||||
+Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
+your rights to work written entirely by you; rather, the intent is to
|
|
||||||
+exercise the right to control the distribution of derivative or
|
|
||||||
+collective works based on the Program.
|
|
||||||
+
|
|
||||||
+In addition, mere aggregation of another work not based on the Program
|
|
||||||
+with the Program (or with a work based on the Program) on a volume of
|
|
||||||
+a storage or distribution medium does not bring the other work under
|
|
||||||
+the scope of this License.
|
|
||||||
+
|
|
||||||
+ 3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
+under Section 2) in object code or executable form under the terms of
|
|
||||||
+Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
+
|
|
||||||
+ a) Accompany it with the complete corresponding machine-readable
|
|
||||||
+ source code, which must be distributed under the terms of Sections
|
|
||||||
+ 1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
+
|
|
||||||
+ b) Accompany it with a written offer, valid for at least three
|
|
||||||
+ years, to give any third party, for a charge no more than your
|
|
||||||
+ cost of physically performing source distribution, a complete
|
|
||||||
+ machine-readable copy of the corresponding source code, to be
|
|
||||||
+ distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
+ customarily used for software interchange; or,
|
|
||||||
+
|
|
||||||
+ c) Accompany it with the information you received as to the offer
|
|
||||||
+ to distribute corresponding source code. (This alternative is
|
|
||||||
+ allowed only for noncommercial distribution and only if you
|
|
||||||
+ received the program in object code or executable form with such
|
|
||||||
+ an offer, in accord with Subsection b above.)
|
|
||||||
+
|
|
||||||
+The source code for a work means the preferred form of the work for
|
|
||||||
+making modifications to it. For an executable work, complete source
|
|
||||||
+code means all the source code for all modules it contains, plus any
|
|
||||||
+associated interface definition files, plus the scripts used to
|
|
||||||
+control compilation and installation of the executable. However, as a
|
|
||||||
+special exception, the source code distributed need not include
|
|
||||||
+anything that is normally distributed (in either source or binary
|
|
||||||
+form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
+operating system on which the executable runs, unless that component
|
|
||||||
+itself accompanies the executable.
|
|
||||||
+
|
|
||||||
+If distribution of executable or object code is made by offering
|
|
||||||
+access to copy from a designated place, then offering equivalent
|
|
||||||
+access to copy the source code from the same place counts as
|
|
||||||
+distribution of the source code, even though third parties are not
|
|
||||||
+compelled to copy the source along with the object code.
|
|
||||||
+
|
|
||||||
+ 4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
+except as expressly provided under this License. Any attempt
|
|
||||||
+otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
+void, and will automatically terminate your rights under this License.
|
|
||||||
+However, parties who have received copies, or rights, from you under
|
|
||||||
+this License will not have their licenses terminated so long as such
|
|
||||||
+parties remain in full compliance.
|
|
||||||
+
|
|
||||||
+ 5. You are not required to accept this License, since you have not
|
|
||||||
+signed it. However, nothing else grants you permission to modify or
|
|
||||||
+distribute the Program or its derivative works. These actions are
|
|
||||||
+prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
+modifying or distributing the Program (or any work based on the
|
|
||||||
+Program), you indicate your acceptance of this License to do so, and
|
|
||||||
+all its terms and conditions for copying, distributing or modifying
|
|
||||||
+the Program or works based on it.
|
|
||||||
+
|
|
||||||
+ 6. Each time you redistribute the Program (or any work based on the
|
|
||||||
+Program), the recipient automatically receives a license from the
|
|
||||||
+original licensor to copy, distribute or modify the Program subject to
|
|
||||||
+these terms and conditions. You may not impose any further
|
|
||||||
+restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
+You are not responsible for enforcing compliance by third parties to
|
|
||||||
+this License.
|
|
||||||
+
|
|
||||||
+ 7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
+infringement or for any other reason (not limited to patent issues),
|
|
||||||
+conditions are imposed on you (whether by court order, agreement or
|
|
||||||
+otherwise) that contradict the conditions of this License, they do not
|
|
||||||
+excuse you from the conditions of this License. If you cannot
|
|
||||||
+distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
+License and any other pertinent obligations, then as a consequence you
|
|
||||||
+may not distribute the Program at all. For example, if a patent
|
|
||||||
+license would not permit royalty-free redistribution of the Program by
|
|
||||||
+all those who receive copies directly or indirectly through you, then
|
|
||||||
+the only way you could satisfy both it and this License would be to
|
|
||||||
+refrain entirely from distribution of the Program.
|
|
||||||
+
|
|
||||||
+If any portion of this section is held invalid or unenforceable under
|
|
||||||
+any particular circumstance, the balance of the section is intended to
|
|
||||||
+apply and the section as a whole is intended to apply in other
|
|
||||||
+circumstances.
|
|
||||||
+
|
|
||||||
+It is not the purpose of this section to induce you to infringe any
|
|
||||||
+patents or other property right claims or to contest validity of any
|
|
||||||
+such claims; this section has the sole purpose of protecting the
|
|
||||||
+integrity of the free software distribution system, which is
|
|
||||||
+implemented by public license practices. Many people have made
|
|
||||||
+generous contributions to the wide range of software distributed
|
|
||||||
+through that system in reliance on consistent application of that
|
|
||||||
+system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
+to distribute software through any other system and a licensee cannot
|
|
||||||
+impose that choice.
|
|
||||||
+
|
|
||||||
+This section is intended to make thoroughly clear what is believed to
|
|
||||||
+be a consequence of the rest of this License.
|
|
||||||
+
|
|
||||||
+ 8. If the distribution and/or use of the Program is restricted in
|
|
||||||
+certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
+original copyright holder who places the Program under this License
|
|
||||||
+may add an explicit geographical distribution limitation excluding
|
|
||||||
+those countries, so that distribution is permitted only in or among
|
|
||||||
+countries not thus excluded. In such case, this License incorporates
|
|
||||||
+the limitation as if written in the body of this License.
|
|
||||||
+
|
|
||||||
+ 9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
+of the General Public License from time to time. Such new versions will
|
|
||||||
+be similar in spirit to the present version, but may differ in detail to
|
|
||||||
+address new problems or concerns.
|
|
||||||
+
|
|
||||||
+Each version is given a distinguishing version number. If the Program
|
|
||||||
+specifies a version number of this License which applies to it and "any
|
|
||||||
+later version", you have the option of following the terms and conditions
|
|
||||||
+either of that version or of any later version published by the Free
|
|
||||||
+Software Foundation. If the Program does not specify a version number of
|
|
||||||
+this License, you may choose any version ever published by the Free Software
|
|
||||||
+Foundation.
|
|
||||||
+
|
|
||||||
+ 10. If you wish to incorporate parts of the Program into other free
|
|
||||||
+programs whose distribution conditions are different, write to the author
|
|
||||||
+to ask for permission. For software which is copyrighted by the Free
|
|
||||||
+Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
+make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
+of preserving the free status of all derivatives of our free software and
|
|
||||||
+of promoting the sharing and reuse of software generally.
|
|
||||||
+
|
|
||||||
+ NO WARRANTY
|
|
||||||
+
|
|
||||||
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
+REPAIR OR CORRECTION.
|
|
||||||
+
|
|
||||||
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
+POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
+
|
|
||||||
+ END OF TERMS AND CONDITIONS
|
|
||||||
+
|
|
||||||
+ How to Apply These Terms to Your New Programs
|
|
||||||
+
|
|
||||||
+ If you develop a new program, and you want it to be of the greatest
|
|
||||||
+possible use to the public, the best way to achieve this is to make it
|
|
||||||
+free software which everyone can redistribute and change under these terms.
|
|
||||||
+
|
|
||||||
+ To do so, attach the following notices to the program. It is safest
|
|
||||||
+to attach them to the start of each source file to most effectively
|
|
||||||
+convey the exclusion of warranty; and each file should have at least
|
|
||||||
+the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
+
|
|
||||||
+ <one line to give the program's name and a brief idea of what it does.>
|
|
||||||
+ Copyright (C) <year> <name of author>
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or modify
|
|
||||||
+ it under the terms of the GNU General Public License as published by
|
|
||||||
+ the Free Software Foundation; either version 2 of the License, or
|
|
||||||
+ (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program; if not, write to the Free Software
|
|
||||||
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Also add information on how to contact you by electronic and paper mail.
|
|
||||||
+
|
|
||||||
+If the program is interactive, make it output a short notice like this
|
|
||||||
+when it starts in an interactive mode:
|
|
||||||
+
|
|
||||||
+ Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
+ This is free software, and you are welcome to redistribute it
|
|
||||||
+ under certain conditions; type `show c' for details.
|
|
||||||
+
|
|
||||||
+The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
+parts of the General Public License. Of course, the commands you use may
|
|
||||||
+be called something other than `show w' and `show c'; they could even be
|
|
||||||
+mouse-clicks or menu items--whatever suits your program.
|
|
||||||
+
|
|
||||||
+You should also get your employer (if you work as a programmer) or your
|
|
||||||
+school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
+necessary. Here is a sample; alter the names:
|
|
||||||
+
|
|
||||||
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
+
|
|
||||||
+ <signature of Ty Coon>, 1 April 1989
|
|
||||||
+ Ty Coon, President of Vice
|
|
||||||
+
|
|
||||||
+This General Public License does not permit incorporating your program into
|
|
||||||
+proprietary programs. If your program is a subroutine library, you may
|
|
||||||
+consider it more useful to permit linking proprietary applications with the
|
|
||||||
+library. If this is what you want to do, use the GNU Library General
|
|
||||||
+Public License instead of this License.
|
|
||||||
Index: cgcs-users-1.0-r0/COPYRIGHT.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/COPYRIGHT.orig
|
|
||||||
@@ -0,0 +1,17 @@
|
|
||||||
+This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
|
|
||||||
+Copyright (C) 2005 Attila Nagyidai
|
|
||||||
+
|
|
||||||
+This program is free software; you can redistribute it and/or
|
|
||||||
+modify it under the terms of the GNU General Public License
|
|
||||||
+as published by the Free Software Foundation; either version 2
|
|
||||||
+of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+This program is distributed in the hope that it will be useful,
|
|
||||||
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+You should have received a copy of the GNU General Public License
|
|
||||||
+along with this program; if not, write to the Free Software
|
|
||||||
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
+
|
|
||||||
Index: cgcs-users-1.0-r0/INSTALL.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/INSTALL.orig
|
|
||||||
@@ -0,0 +1,23 @@
|
|
||||||
+Installing ibsh is really easy, so no need for the usual sections
|
|
||||||
+in this document. There is no configure script either, so if
|
|
||||||
+something wrong, make will fail.
|
|
||||||
+
|
|
||||||
+# make ibsh
|
|
||||||
+# make ibsh_install
|
|
||||||
+
|
|
||||||
+Optionally:
|
|
||||||
+
|
|
||||||
+# make clean
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+To uninstall ibsh:
|
|
||||||
+
|
|
||||||
+# make ibsh_uninstall
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Of course you will have to enable this shell by:
|
|
||||||
+# echo /bin/ibsh >> /etc/shells
|
|
||||||
+or however you like it.
|
|
||||||
+And make sure the permissions read 0755 !
|
|
||||||
+
|
|
||||||
+2005.03.24.
|
|
||||||
Index: cgcs-users-1.0-r0/main.c.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/main.c.orig
|
|
||||||
@@ -0,0 +1,233 @@
|
|
||||||
+/*
|
|
||||||
+ Created: 03.19.05 11:34:57 by Attila Nagyidai
|
|
||||||
+
|
|
||||||
+ $Id: C\040Console.c,v 1.1.2.1 2003/08/13 00:38:46 neum Exp $
|
|
||||||
+
|
|
||||||
+ This file is part of IBSH (Iron Bars Shell) , a restricted Unix shell
|
|
||||||
+ Copyright (C) 2005 Attila Nagyidai
|
|
||||||
+
|
|
||||||
+ This program is free software; you can redistribute it and/or
|
|
||||||
+ modify it under the terms of the GNU General Public License
|
|
||||||
+ as published by the Free Software Foundation; either version 2
|
|
||||||
+ of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This program is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+ GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU General Public License
|
|
||||||
+ along with this program; if not, write to the Free Software
|
|
||||||
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
+
|
|
||||||
+ Author: Attila Nagyidai
|
|
||||||
+ Email: na@ent.hu
|
|
||||||
+
|
|
||||||
+ Co-Author: Shy
|
|
||||||
+ Email: shy@cpan.org
|
|
||||||
+
|
|
||||||
+ Co-Author: Witzy
|
|
||||||
+ Email: stazzz@altern.org
|
|
||||||
+
|
|
||||||
+ URL: http://ibsh.sourceforge.net
|
|
||||||
+ IRC: irc.freenode.net #ibsh
|
|
||||||
+ RSS, Statistics, etc: http://sourceforge.net/projects/ibsh/
|
|
||||||
+
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+/* Header files */
|
|
||||||
+#include "ibsh.h"
|
|
||||||
+
|
|
||||||
+/* Main: */
|
|
||||||
+/* Handle arguments, read config files, start command processing. */
|
|
||||||
+/* IBSH doesnt use any command line arguments, but my text editor */
|
|
||||||
+/* uses this code in all new c files to create. And i didnt have the */
|
|
||||||
+/* heart to remove it. ;p */
|
|
||||||
+/* Technical Description: */
|
|
||||||
+/* Get the passwd entry for the user. The uid is easily aquired, since */
|
|
||||||
+/* it is the real user id. After that, grab the passwd file entry upon */
|
|
||||||
+/* the id, and copy the information to the loggedin struct. */
|
|
||||||
+/* Add some signal handlers too. */
|
|
||||||
+/* The infinite loop: */
|
|
||||||
+/* Get the current directory, the full path. Compute the jailpath from that, */
|
|
||||||
+/* that is the directories below the users homedir, which is the jail root. */
|
|
||||||
+/* The jail ceiling if you like. Print some prompt to the user with the jailpath, */
|
|
||||||
+/* and read stdin for incoming commands. Filter out the bad commands, typos, the */
|
|
||||||
+/* not allowed commands. It the command is ok, execute it. If it is a shell builtin, */
|
|
||||||
+/* use our builtin code, otherwise use execve. After execve, check if the user didnt */
|
|
||||||
+/* use the last command to create some illegal content. If yes, erase that. Give the */
|
|
||||||
+/* notice only afterwards. */
|
|
||||||
+int main(int argc, char **argv)
|
|
||||||
+{
|
|
||||||
+ char temp[STRING_SIZE], *buf;
|
|
||||||
+ struct stat info;
|
|
||||||
+ uid_t ruid, euid;
|
|
||||||
+ gid_t rgid, egid;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ /* setuid protection */
|
|
||||||
+ ruid = getuid();
|
|
||||||
+ euid = geteuid();
|
|
||||||
+ rgid = getgid();
|
|
||||||
+ egid = getegid();
|
|
||||||
+ if ( (ruid!=euid) || (ruid==0) || (euid==0) || (rgid!=egid) || (rgid==0) || (egid==0) ) {
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_ERR, "setuid/setgid violation!");
|
|
||||||
+ CLOSELOG;
|
|
||||||
+ printf("ibsh: setuid/setgid violation!! exiting...\n");
|
|
||||||
+#ifdef DEBUG
|
|
||||||
+ printf("ruid: %d;euid: %d;rgid: %d;egid: %d\n", ruid,euid,rgid,egid);
|
|
||||||
+#endif
|
|
||||||
+ exit(0);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* To Do: The code of your application goes here */
|
|
||||||
+ /* First part: */
|
|
||||||
+ /* Get essential information about the user who got this shell: */
|
|
||||||
+ /* first the username, then the user id. Upon this, retrieve the */
|
|
||||||
+ /* user's record in the passwd file. */
|
|
||||||
+ bzero(&loggedin, sizeof(loggedin));
|
|
||||||
+ loggedin.uid = getuid();
|
|
||||||
+ loggedin.record = getpwuid(loggedin.uid);
|
|
||||||
+ if ( loggedin.record == NULL ) {
|
|
||||||
+ loggedin.record = getpwnam(loggedin.uname);
|
|
||||||
+ if ( loggedin.record == NULL ) {
|
|
||||||
+ openlog(loggedin.uname, LOG_PID, LOG_AUTH);
|
|
||||||
+ syslog(LOG_ERR, "Can not obtain user information");
|
|
||||||
+ printf("Can not obtain user information\n");
|
|
||||||
+ closelog();
|
|
||||||
+ exit(0);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ strncpy(loggedin.uname, loggedin.record->pw_name, PAM_SIZE);
|
|
||||||
+ strncpy(loggedin.udir, loggedin.record->pw_dir, STRING_SIZE);
|
|
||||||
+
|
|
||||||
+ /* Second part: */
|
|
||||||
+ /* Handle some signal catching. Read the configuration files. */
|
|
||||||
+ signal( SIGINT, SIG_IGN );
|
|
||||||
+ signal( SIGQUIT, SIG_IGN );
|
|
||||||
+ signal( SIGTERM, SIG_IGN );
|
|
||||||
+ signal( SIGTSTP, SIG_IGN );
|
|
||||||
+ LoadConfig();
|
|
||||||
+
|
|
||||||
+ /* Command mode */
|
|
||||||
+ if(argc == 3) {
|
|
||||||
+ if ( argv[1][1] == 'c' ) {
|
|
||||||
+ if ( CommandOK(argv[2], loggedin.udir, "/", filtered_command) == 1) {
|
|
||||||
+ exitcode = hhsystem(filtered_command);
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_INFO, "command %s ordered, command %s has been executed.",
|
|
||||||
+ argv[2], filtered_command);
|
|
||||||
+ printf("command %s ordered, command %s has been executed.\n",
|
|
||||||
+ argv[2], filtered_command);
|
|
||||||
+ CLOSELOG;
|
|
||||||
+ exit(exitcode);
|
|
||||||
+ }
|
|
||||||
+ printf("CommandOK failed (%s/%s)\n", loggedin.udir, filtered_command);
|
|
||||||
+ exit(0);
|
|
||||||
+ }
|
|
||||||
+ else {
|
|
||||||
+ printf("Invalid are (%s)\n", argv[1]);
|
|
||||||
+ exit(0);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_INFO, "user %s has logged in.", loggedin.uname);
|
|
||||||
+ CLOSELOG;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+#ifdef INCLUDE_DELETE_BAD_FILES
|
|
||||||
+ DelBadFiles(loggedin.udir);
|
|
||||||
+#endif
|
|
||||||
+ if ( chdir (loggedin.udir) < 0 )
|
|
||||||
+ return -1;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ /* Third part: */
|
|
||||||
+ /* Start reading and processing the user issued commands. */
|
|
||||||
+ /* Split the command by the spaces, filter out anything, */
|
|
||||||
+ /* that would allow the user to access files outside the */
|
|
||||||
+ /* jail. Filter out multiples and pipes as well. No program */
|
|
||||||
+ /* will be allowed to run, unless it is mentioned in the */
|
|
||||||
+ /* config files. Files that are created with an extension */
|
|
||||||
+ /* that is listed in the other config file, must be deleted! */
|
|
||||||
+ for ( ; ; ) {
|
|
||||||
+ /* Where is he ? */
|
|
||||||
+ if ( getcwd(real_path, STRING_SIZE) == NULL )
|
|
||||||
+ return -1;
|
|
||||||
+ GetPositionInJail(real_path, loggedin.udir, jail_path);
|
|
||||||
+ if ( (strlen(jail_path)) == 0 ) {
|
|
||||||
+ strncpy(jail_path, "/", 2);
|
|
||||||
+ }
|
|
||||||
+ /* We don't want the user to know where he actually is. */
|
|
||||||
+ /* This is the prompt! */
|
|
||||||
+ printf("[%s]%% ", jail_path);
|
|
||||||
+ /* scanf("%s", user_command); */
|
|
||||||
+ myscanf(user_command, real_path);
|
|
||||||
+ /* Command interpretation and execution. */
|
|
||||||
+ if ( (CommandOK(user_command, loggedin.udir, jail_path, filtered_command)) == 0 ) {
|
|
||||||
+ printf("Sorry, can't let you do that!\n");
|
|
||||||
+ log_attempt(loggedin.uname); /* v0.2a */
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ /* If the user issued command starts with a shell builtin. */
|
|
||||||
+ bzero(temp, strlen(temp));
|
|
||||||
+ if ( (buf = strstr(filtered_command, "cd")) != NULL ) {
|
|
||||||
+ if ( (strcmp(buf, filtered_command)) == 0 ) {
|
|
||||||
+ LTrim3(filtered_command, temp);
|
|
||||||
+ if ( (strcmp(temp, real_path)) != 0 ) {
|
|
||||||
+ if ( (strcmp(temp, "..")) == 0 ) {
|
|
||||||
+ PathMinusOne(jail_path, temp, 1,sizeof(temp));
|
|
||||||
+ }
|
|
||||||
+ if ( (strcmp(temp, "/")) == 0 ) {
|
|
||||||
+ strncpy(temp, loggedin.udir, LINE_SIZE);
|
|
||||||
+ }
|
|
||||||
+ exitcode = chdir(temp);
|
|
||||||
+ if ( exitcode == -1 ) {
|
|
||||||
+ printf("ibsh: cd: %s: No such file or directory\n", temp);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else if ( (buf = strstr(filtered_command, "pwd")) != NULL ) {
|
|
||||||
+ if ( (strcmp(buf, filtered_command)) == 0 ) {
|
|
||||||
+ printf("%s\n", jail_path);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else if ( (buf = strstr(filtered_command, "logout")) != NULL ) {
|
|
||||||
+ if ( (strcmp(buf, filtered_command)) == 0 ) {
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_INFO, "user %s has logged out.", loggedin.uname);
|
|
||||||
+ CLOSELOG;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else if ( (buf = strstr(filtered_command, "exit")) != NULL ) {
|
|
||||||
+ if ( (strcmp(buf, filtered_command)) == 0 ) {
|
|
||||||
+ OPENLOG;
|
|
||||||
+ syslog(LOG_INFO, "user %s has logged out.", loggedin.uname);
|
|
||||||
+ printf("user %s has logged out\n", loggedin.uname);
|
|
||||||
+ CLOSELOG;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ else {
|
|
||||||
+ exitcode = hhsystem(filtered_command);
|
|
||||||
+ if ( exitcode < 0 ) {
|
|
||||||
+ printf("%s\n", strerror(errno));
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if ( getcwd(real_path, STRING_SIZE) == NULL )
|
|
||||||
+ return -1;
|
|
||||||
+#ifdef INCLUDE_BAD_FILES
|
|
||||||
+ DelBadFiles(loggedin.udir);
|
|
||||||
+#endif
|
|
||||||
+ if ( chdir (real_path) < 0 )
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
Index: cgcs-users-1.0-r0/Makefile.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/Makefile.orig
|
|
||||||
@@ -0,0 +1,56 @@
|
|
||||||
+# This is the makefile for ibsh 0.3e
|
|
||||||
+CC = gcc -g -O3
|
|
||||||
+OBJECTS = main.o command.o jail.o execute.o config.o misc.o antixploit.o delbadfiles.o
|
|
||||||
+
|
|
||||||
+all ibsh: ${OBJECTS} ibsh.h
|
|
||||||
+ ${CC} -o ibsh ${OBJECTS}
|
|
||||||
+
|
|
||||||
+main.o: main.c ibsh.h
|
|
||||||
+ ${CC} -c main.c
|
|
||||||
+
|
|
||||||
+command.o: command.c ibsh.h
|
|
||||||
+ ${CC} -c command.c
|
|
||||||
+
|
|
||||||
+jail.o: jail.c ibsh.h
|
|
||||||
+ ${CC} -c jail.c
|
|
||||||
+
|
|
||||||
+execute.o: execute.c ibsh.h
|
|
||||||
+ ${CC} -c execute.c
|
|
||||||
+
|
|
||||||
+config.o: config.c ibsh.h
|
|
||||||
+ ${CC} -c config.c
|
|
||||||
+
|
|
||||||
+misc.o: misc.c ibsh.h
|
|
||||||
+ ${CC} -c misc.c
|
|
||||||
+
|
|
||||||
+antixploit.o: antixploit.c ibsh.h
|
|
||||||
+ ${CC} -c antixploit.c
|
|
||||||
+
|
|
||||||
+delbadfiles.o: delbadfiles.c ibsh.h
|
|
||||||
+ ${CC} -c delbadfiles.c
|
|
||||||
+
|
|
||||||
+ibsh_install:
|
|
||||||
+ cp ./ibsh /bin/
|
|
||||||
+ mkdir /etc/ibsh
|
|
||||||
+ mkdir /etc/ibsh/cmds
|
|
||||||
+ mkdir /etc/ibsh/xtns
|
|
||||||
+ cp ./globals.cmds /etc/ibsh/
|
|
||||||
+ cp ./globals.xtns /etc/ibsh/
|
|
||||||
+
|
|
||||||
+ibsh_uninstall:
|
|
||||||
+ rm -rf /etc/ibsh/globals.cmds
|
|
||||||
+ rm -rf /etc/ibsh/globals.xtns
|
|
||||||
+ rm -rf /etc/ibsh/cmds/*.*
|
|
||||||
+ rm -rf /etc/ibsh/xtns/*.*
|
|
||||||
+ rmdir /etc/ibsh/cmds
|
|
||||||
+ rmdir /etc/ibsh/xtns
|
|
||||||
+ rmdir /etc/ibsh
|
|
||||||
+ rm -rf /bin/ibsh
|
|
||||||
+
|
|
||||||
+clean:
|
|
||||||
+ rm -rf ibsh
|
|
||||||
+ rm -rf *.o
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+# 13:49 2005.04.06.
|
|
||||||
+
|
|
||||||
Index: cgcs-users-1.0-r0/README.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/README.orig
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+ Iron Bars SHell - a restricted interactive shell.
|
|
||||||
+
|
|
||||||
+Overview
|
|
||||||
+
|
|
||||||
+ For long i have been in the search of a decent restricted shell, but in vain.
|
|
||||||
+ The few i found, were really easy to hack, and there were quite a few docs
|
|
||||||
+ around on the web about hacking restricted shells with a menu interface.
|
|
||||||
+ For my definitions, a restricted shell must not only prevent the user to
|
|
||||||
+ escape her jail, but also not to access any files outside the jail.
|
|
||||||
+ The system administrator must have total control over the restricted shell.
|
|
||||||
+ These are the major features incorporated and realized by ibsh.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Features
|
|
||||||
+
|
|
||||||
+ Please read the changelog.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Installation
|
|
||||||
+
|
|
||||||
+ Read the INSTALL file.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Contact
|
|
||||||
+ See Authors file.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+Attila Nagyidai
|
|
||||||
+2005.05.23.
|
|
||||||
Index: cgcs-users-1.0-r0/Release.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/Release.orig
|
|
||||||
@@ -0,0 +1,17 @@
|
|
||||||
+This release introduces minor bugfixes, and important new and renewed features.
|
|
||||||
+Erasing evil files in the home directory of the user is incorporated again, with
|
|
||||||
+many improvements. First of all: no file will be erased! Only the access to them
|
|
||||||
+will be blocked. The extension policy has changed, now ibsh blocks those extensions,
|
|
||||||
+that are NOT listed. This goes in sync with the usual method of operation of ibsh.
|
|
||||||
+The execute permission of files in the user space, will be removed.
|
|
||||||
+New customizing features were added: each user now can have her own commands and
|
|
||||||
+extensions file, created and maintained by the system administrator. Some users
|
|
||||||
+(employees) may require access to special programs. User configuration files allow
|
|
||||||
+this access only those, who need it, not for everybody.
|
|
||||||
+Ibsh now scans not only the extensions of files, but the content too! Whatever the permission
|
|
||||||
+for a certain file exists, if that contains source code, or is a linux binary, access
|
|
||||||
+will be blocked.
|
|
||||||
+The absolute path for the users is now limited to 255 characters. Longer, already
|
|
||||||
+existing filenames will be renamed.
|
|
||||||
+
|
|
||||||
+06/04/2005
|
|
||||||
Index: cgcs-users-1.0-r0/TODO.orig
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ cgcs-users-1.0-r0/TODO.orig
|
|
||||||
@@ -0,0 +1,10 @@
|
|
||||||
+TODO
|
|
||||||
+
|
|
||||||
+ - tab completion.
|
|
||||||
+ - shell variables.
|
|
||||||
+ - some changes to the prompt, maybe variable prompt.
|
|
||||||
+ - history
|
|
||||||
+ - to be able to use corporate, or other large/complicated programs in a safe
|
|
||||||
+ working environment, yet be able to share files/work with others.
|
|
||||||
+
|
|
||||||
+2005.05.23.
|
|
@ -1,7 +0,0 @@
|
|||||||
# Add any commands the user may execute. Even shell commands.
|
|
||||||
# You have to allow logout and/or exit, so the user can logout!
|
|
||||||
# cd and pwd should also be allowed. Note: other shell builtin
|
|
||||||
# commands are not yet implemented!
|
|
||||||
touch
|
|
||||||
vi
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
|||||||
# Add any extension the user may use.
|
|
||||||
.doc
|
|
||||||
.txt
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
|||||||
# Add any commands the user may execute. Even shell commands.
|
|
||||||
# You have to allow logout and/or exit, so the user can logout!
|
|
||||||
# cd and pwd should also be allowed. Note: other shell builtin
|
|
||||||
# commands are not yet implemented!
|
|
||||||
#
|
|
||||||
touch
|
|
||||||
tar
|
|
||||||
scp
|
|
||||||
sftp
|
|
||||||
ssh
|
|
||||||
vi
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
# Add any extension the user may use.
|
|
||||||
.doc
|
|
||||||
.txt
|
|
||||||
.tgz
|
|
||||||
.tar
|
|
||||||
|
|
@ -115,9 +115,6 @@ rpm-plugin-systemd-inhibit
|
|||||||
# dpkg
|
# dpkg
|
||||||
dpkg
|
dpkg
|
||||||
|
|
||||||
# cgcs-users
|
|
||||||
cgcs-users
|
|
||||||
|
|
||||||
# ldapscripts
|
# ldapscripts
|
||||||
ldapscripts
|
ldapscripts
|
||||||
|
|
||||||
|
@ -72,7 +72,6 @@ kernel/kernel-modules/integrity
|
|||||||
kernel/kernel-modules/drbd
|
kernel/kernel-modules/drbd
|
||||||
kernel/kernel-modules/intel-opae-fpga
|
kernel/kernel-modules/intel-opae-fpga
|
||||||
base/dpkg
|
base/dpkg
|
||||||
base/cgcs-users
|
|
||||||
base/cluster-resource-agents
|
base/cluster-resource-agents
|
||||||
base/libfdt
|
base/libfdt
|
||||||
base/haproxy
|
base/haproxy
|
||||||
|
@ -25,7 +25,6 @@ googletest-fdb850479284e2aae047b87df6beae84236d0135.tar.gz#googletest#https://ap
|
|||||||
helm-v2.13.1-linux-amd64.tar.gz#linux-amd64#https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz#http##
|
helm-v2.13.1-linux-amd64.tar.gz#linux-amd64#https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz#http##
|
||||||
i40e-2.10.19.30.tar.gz#i40e-2.10.19.30#https://sourceforge.net/projects/e1000/files/i40e%20stable/2.10.19.30/i40e-2.10.19.30.tar.gz/download#http##
|
i40e-2.10.19.30.tar.gz#i40e-2.10.19.30#https://sourceforge.net/projects/e1000/files/i40e%20stable/2.10.19.30/i40e-2.10.19.30.tar.gz/download#http##
|
||||||
iavf-3.7.61.20.tar.gz#iavf-3.7.61.20#https://sourceforge.net/projects/e1000/files/iavf%20stable/3.7.61.20/iavf-3.7.61.20.tar.gz/download#http##
|
iavf-3.7.61.20.tar.gz#iavf-3.7.61.20#https://sourceforge.net/projects/e1000/files/iavf%20stable/3.7.61.20/iavf-3.7.61.20.tar.gz/download#http##
|
||||||
ibsh-0.3e.tar.gz#cgcs-users-1.0#https://sourceforge.net/projects/ibsh/files/ibsh/ibsh-0.3e/ibsh-0.3e.tar.gz/download#http##
|
|
||||||
!integrity-kmod-e6aef069.tar.gz#integrity#http://git.infradead.org/users/jjs/linux-tpmdd.git/snapshot/e6aef069b6e97790cb127d5eeb86ae9ff0b7b0e3.tar.gz#http_script##post-dl-script/integrity-kmod.sh
|
!integrity-kmod-e6aef069.tar.gz#integrity#http://git.infradead.org/users/jjs/linux-tpmdd.git/snapshot/e6aef069b6e97790cb127d5eeb86ae9ff0b7b0e3.tar.gz#http_script##post-dl-script/integrity-kmod.sh
|
||||||
isa-l-7e1a337433a340bc0974ed0f04301bdaca374af6.tar.gz#isa-l#https://api.github.com/repos/ceph/isa-l/tarball/7e1a337433a340bc0974ed0f04301bdaca374af6#https##
|
isa-l-7e1a337433a340bc0974ed0f04301bdaca374af6.tar.gz#isa-l#https://api.github.com/repos/ceph/isa-l/tarball/7e1a337433a340bc0974ed0f04301bdaca374af6#https##
|
||||||
isa-l_crypto-603529a4e06ac8a1662c13d6b31f122e21830352.tar.gz#isa-l_crypto#https://api.github.com/repos/01org/isa-l_crypto/tarball/603529a4e06ac8a1662c13d6b31f122e21830352#https##
|
isa-l_crypto-603529a4e06ac8a1662c13d6b31f122e21830352.tar.gz#isa-l_crypto#https://api.github.com/repos/01org/isa-l_crypto/tarball/603529a4e06ac8a1662c13d6b31f122e21830352#https##
|
||||||
|
Loading…
Reference in New Issue
Block a user