Project

General

Profile

Submit #3066 ยป 0001-nologin-8-Sync-with-FreeBSD-Symlink-usr-sbin-nologin.patch

liweitianux, 09/27/2017 03:46 AM

View differences:

sbin/nologin/Makefile
# @(#)Makefile 8.2 (Berkeley) 4/22/94
# $FreeBSD: src/sbin/nologin/Makefile,v 1.6.6.2 2001/04/25 14:04:15 ru Exp $
# $DragonFly: src/sbin/nologin/Makefile,v 1.3 2008/02/05 10:58:04 matthias Exp $
PROG= nologin
SRCS= nologin.c
MAN= nologin.5 nologin.8
SYMLINKS= ${BINDIR}/nologin /usr/sbin/nologin
# It is important that nologin be statically linked for security
# reasons. A dynamic non-setuid binary can be linked against a trojan
# libc by setting LD_LIBRARY_PATH appropriately. Both sshd(8) and
# login(1) make it possible to log in with an unsanitized environment,
# rendering a dynamic nologin binary virtually useless.
NO_SHARED= YES
.include <bsd.prog.mk>
sbin/nologin/nologin.c
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $DragonFly: src/sbin/nologin/nologin.c,v 1.1 2008/02/05 10:58:04 matthias Exp $
*/
#include <stdio.h>
#include <syslog.h>
#include <unistd.h>
#define MESSAGE "This account is currently not available.\n"
int
main(int __unused argc, char __unused **argv)
main(int argc __unused, char *argv[] __unused)
{
printf("This account is currently not available.\n");
_exit(1);
const char *user, *tt;
if ((tt = ttyname(0)) == NULL)
tt = "UNKNOWN";
if ((user = getlogin()) == NULL)
user = "UNKNOWN";
openlog("nologin", LOG_CONS, LOG_AUTH);
syslog(LOG_CRIT, "Attempted login by %s on %s", user, tt);
closelog();
printf("%s", MESSAGE);
return 1;
}
    (1-1/1)