User ohne Shell

Sollte man auf dem System keine nologin-Shell, z.B. für einen ftp-only User haben kann man das folgendermassen bewerkstelligen:

# cat <noshell.c && CFLAGS=-O3 LDFLAGS=-s make noshell

#include
main() {
puts (”Dieses Konto ist nicht verfügbar”);
sleep (3);
exit (0);
}
!

# cp noshell /bin/
# chmod +x /bin/nologin
# echo /bin/noshell >> /etc/shells

in der /etc/passwd nun den user auf die /bin/noshell setzen.

vsftpd – Login failed

Sollte ein Loginversuch an einem angeblich falschen Passwort kläglich scheitern, obwohl der Benutzer in /etc/vsftpd.user_list erlaubt und in /etc/ftpusers nicht verboten ist, so trage man

/bin/false

bzw. seine zugewiesene Shell in die /etc/shells ein

SSH an bad ownership

Sollte der SSH-Login via Public-Private-Key Auth mit oben genannter Meldung fehlschlagen stimmen die Rechte auf bestimmte Verzeichnisse nicht:

# chmod go-w .ssh
# chmod 600 .ssh/authorized_keys

beheben dies:

Ubuntu als Mailserver

Quick and Dirty Postfix-Mailserver mit Plain SMTP-Auth:

# vi /etc/apt/sources.list

deb http://de.archive.ubuntu.com/ubuntu/ dapper universe
deb-src http://de.archive.ubuntu.com/ubuntu/ dapper universe

deb http://security.ubuntu.com/ubuntu dapper-security universe
deb-src http://security.ubuntu.com/ubuntu dapper-security universe
# apt-get install libsasl2 sasl2-bin libsasl2-modules courier-imap courier-pop postgrey postfix mailx

# vi /etc/default/saslauthd

START=yes
PARAMS=”-m /var/spool/postfix/var/run/saslauthd -r”

# mkdir -p /var/spool/postfix/var/run/saslauthd

# vi /etc/postfix/sasl/smtpd.conf

log_level: 2
saslauthd_path: /var/run/saslauthd/mux
pwcheck_method: saslauthd
mech_list: plain login

# touch /etc/postfix/virtual
# touch /etc/postfix/transport
# touch /etc/postfix/canonical
# vi /bin/newmaps

#!/bin/sh
postmap hash:/etc/postfix/virtual
postmap hash:/etc/postfix/canonical
postmap hash:/etc/postfix/transport
/etc/init.d/postfix reload

# chmod +x /bin/newmaps

# vi /etc/postfix/main.cf

virtual_maps = hash:/etc/postfix/virtual
transport_maps = hash:/etc/postfix/transport
canonical_maps = hash:/etc/postfix/canonical

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination reject_unknown_sender_domain reject_unknown_recipient_domain reject_non_fqdn_hostname reject_non_fqdn_sender reject_non_fqdn_recipient check_policy_service inet:127.0.0.1:60000

home_mailbox = Maildir/

# /etc/init.d/postfix restart