次のものは、基本的なシステムをセットアップする設定のサンプルです。
# Protect System Binaries
# システムバイナリの保護
#
/sbin/lidsconf -A -o /sbin -j READONLY
/sbin/lidsconf -A -o /bin -j READONLY
# Protect all of /usr and /usr/local
# (This assumes /usr/local is on a separate file system).
# /usr と /usr/local の保護
# (ここでは /usr/local は別のファイルシステム上にあると想定しています)
#
/sbin/lidsconf -A -o /usr -j READONLY
/sbin/lidsconf -A -o /usr/local -j READONLY
# Protect the System Libraries
#(/usr/lib is protected above since /usr/lib generally isn't
# on a separate file system than /usr)
# システムライブラリの保護
# (/usr/lib は普通 /usr と別のファイルシステム上にはないので、
# すでに上で保護されています)
#
/sbin/lidsconf -A -o /lib -j READONLY
# Protect /opt
# /opt を保護
#
/sbin/lidsconf -A -o /opt -j READONLY
# Protect System Configuration files
# システムの設定ファイルを保護
#
/sbin/lidsconf -A -o /etc -j READONLY
/sbin/lidsconf -A -o /usr/local/etc -j READONLY
/sbin/lidsconf -A -o /etc/shadow -j DENY
/sbin/lidsconf -A -o /etc/lilo.conf -j DENY
# Enable system authentication
# システムの認証を有効に
#
/sbin/lidsconf -A -s /bin/login -o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /usr/bin/vlock -o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /bin/su -o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /bin/su \
-o CAP_SETUID -j GRANT
/sbin/lidsconf -A -s /bin/su \
-o CAP_SETGID -j GRANT
# Protect the boot partition
# boot パーティションの保護
#
/sbin/lidsconf -A -o /boot -j READONLY
# Protect root's home dir, but allow bash history
# root のホームディレクトリを保護するが、bash の履歴は許可
#
/sbin/lidsconf -A -o /root -j READONLY
/sbin/lidsconf -A -s /bin/bash -o /root/.bash_history -j WRITE
# Protect system logs
# システムログの保護
#
/sbin/lidsconf -A -o /var/log -j APPEND
/sbin/lidsconf -A -s /bin/login -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /bin/login -o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /sbin/init -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /sbin/init -o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /sbin/halt -o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /sbin/halt -o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /etc/rc.d/rc.sysinit \
-o /var/log/wtmp -i 1 -j WRITE
/sbin/lidsconf -A -s /etc/rc.d/rc.sysinit \
-o /var/log/lastlog -i 1 -j WRITE
# Startup
#
/sbin/lidsconf -A -s /sbin/hwclock -o /etc/adjtime -j WRITE
# Shutdown
#
/sbin/lidsconf -A -s /sbin/init -o CAP_INIT_KILL -j GRANT
/sbin/lidsconf -A -s /sbin/init -o CAP_KILL -j GRANT
# Give the following init script the proper privileges to kill processes and
# unmount the file systems. However, anyone who can execute these scripts
# by themselves can effectively kill your processes. It's better than
# the alternative, however.
# これらの起動スクリプトに、プロセスを kill したり ファイルシステムを
# アンマウントするための適切な権限を与えてください。とはいえ、これらの
# スクリプトを自分で実行る人はみな、効果的にプロセスを kill することが
# できます。ですが、他の方法よりはマシなはずです。
#
# Any ideas on how to get around this are welcome!
# これを解決するアイデアを歓迎します!
#
/sbin/lidsconf -A -s /etc/rc.d/init.d/halt \
-o CAP_INIT_KILL -i 1 -j GRANT
/sbin/lidsconf -A -s /etc/rc.d/init.d/halt \
-o CAP_KILL -i 1 -j GRANT
/sbin/lidsconf -A -s /etc/rc.d/init.d/halt \
-o CAP_NET_ADMIN -i 1 -j GRANT
/sbin/lidsconf -A -s /etc/rc.d/init.d/halt \
-o CAP_SYS_ADMIN -i 1 -j GRANT
# Other
#
/sbin/lidsconf -A -s /sbin/update -o CAP_SYS_ADMIN -j GRANT
この設定サンプルでは、Apache が /usr/local/apache に、ログディレクトリが /var/log/httpd に、設定ディレクトリが /etc/httpd にインストールされていることを前提にしています。ACL 中のパスを、各自の設定に合うように調整しなくてはなりません。この設定では、ポート 80 (ことによると 443 も) をバインドできるように、Apache はカーネルを封印するより前か、LIDS_GLOBAL が無効な時に起動する必要があります。
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o CAP_SETUID -j GRANT
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o CAP_SETGID -j GRANT
# Config files
/sbin/lidsconf -A -o /etc/httpd -j DENY
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o /etc/httpd -j READONLY
# Server Root
/sbin/lidsconf -A -o /usr/local/apache -j DENY
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o /usr/local/apache -j READONLY
# Log Files
/sbin/lidsconf -A -o /var/log/httpd -j DENY
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o /var/log/httpd -j APPEND
/sbin/lidsconf -A -s /usr/local/apache/bin/httpd \
-o /usr/local/apache/logs -j WRITE
これらの ACL は、Dave Sill の Life with qmail によってインストールされた qmail のセットアップ向けに書かれています。この設定では、tcpserver がポート 25 をバインドできるように、qmail はカーネルを封印するより前か、LIDS_GLOBAL が無効な時に起動する必要があります。
# setup
/sbin/lidsconf -A -o /var/qmail -j READONLY
/sbin/lidsconf -A -s /usr/local/bin/multilog \
-o /var/log/qmail -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/svc \
-o /var/qmail/supervise -j WRITE
# queue access
# キューへのアクセス
#
/sbin/lidsconf -A -s /var/qmail/bin/qmail-inject \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-rspawn \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-lspawn \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-queue \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-clean \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-send \
-o /var/qmail/queue -j WRITE
/sbin/lidsconf -A -s /var/qmail/bin/qmail-remote \
-o /var/qmail/queue -j WRITE
# Access to local mail boxes
# ローカルメールボックスへのアクセス
/sbin/lidsconf -A -s /var/qmail/bin/qmail-lspawn \
-o CAP_SETUID -j GRANT
/sbin/lidsconf -A -s /var/qmail/bin/qmail-lspawn \
-o CAP_SETGID -j GRANT
/sbin/lidsconf -A -s /var/qmail/bin/qmail-lspawn \
-o CAP_DAC_OVERRIDE -j GRANT
/sbin/lidsconf -A -s /var/qmail/bin/qmail-lspawn \
-o CAP_DAC_READ_SEARCH -j GRANT
# Remote delivery
# リモート配送
/sbin/lidsconf -A -s /var/qmail/bin/qmail-rspawn \
-o CAP_NET_BIND_SERVICE -i -1 -j GRANT
# supervise
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/qmail/supervise/qmail-smtpd/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/qmail/supervise/qmail-smtpd/log/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/qmail/supervise/qmail-send/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/qmail/supervise/qmail-send/log/supervise -j WRITE
これらの ACL は、Jeremy Rauch の Installing djbdns (DNScache) for Name Service のパート 1 & 2 をもとにした djbdns のセットアップ向けに書かれています。
# dnscache
#
/sbin/lidsconf -A -o /var/dnscache -j READONLY
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/dnscache/dnscache/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/dnscache/dnscache/log/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/multilog \
-o /var/dnscache/dnscache/log/main -j WRITE
# tinydns
#
/bin/echo "tinydns"
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/dnscache/tinydns/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/supervise \
-o /var/dnscache/tinydns/log/supervise -j WRITE
/sbin/lidsconf -A -s /usr/local/bin/multilog \
-o /var/dnscache/tinydns/log/main -j WRITE
これらの ACL は、courier-imap が /usr/local/courier-imap にインストールされていることを前提にしています。この設定では、ポート 143 をバインドできるように、courier-imap はカーネルを封印する前か、LIDS_GLOBAL が無効な時に起動する必要があります。
/sbin/lidsconf -A -o /usr/local/courier-imap -j DENY
/sbin/lidsconf -A -s /usr/local/courier-imap/sbin/imaplogin \
-o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/authlib/authpam \
-o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/couriertcpd \
-o /usr/local/courier-imap -j READONLY
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/couriertcpd \
-o CAP_SETUID -i 3 -j GRANT
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/couriertcpd \
-o CAP_SETGID -i 3 -j GRANT
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/couriertcpd \
-o CAP_DAC_OVERRIDE -i 3 -j GRANT
/sbin/lidsconf -A -s /usr/local/courier-imap/libexec/couriertcpd \
-o CAP_DAC_READ_SEARCH -i 3 -j GRANT
これらの ACL は、MySQL が /usr/local/mysql にインストールされていることを前提にしています。
/sbin/lidsconf -A -o /usr/local/mysql/var -j APPEND
/sbin/lidsconf -A -o /usr/local/mysql -j DENY
/sbin/lidsconf -A -s /usr/local/mysql/libexec/mysqld \
-o /usr/local/mysql -j READONLY
/sbin/lidsconf -A -s /usr/local/mysql/libexec/mysqld \
-o /usr/local/mysql/var -j WRITE
これらの設定は、sshd に CAP_NET_BIND_SERVICE 権限を与えていますので、起動後、LIDS_GLOBAL が有効な時に機能します。
/sbin/lidsconf -A -s /usr/sbin/sshd -o /etc/shadow -j READONLY
/sbin/lidsconf -A -o /etc/ssh/sshd_config -j DENY
/sbin/lidsconf -A -o /etc/ssh/ssh_host_key -j DENY
/sbin/lidsconf -A -o /etc/ssh/ssh_host_dsa_key -j DENY
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o /etc/ssh/sshd_config -j READONLY
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o /etc/ssh/ssh_host_key -j READONLY
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o /etc/ssh/ssh_host_dsa_key -j READONLY
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o /var/log/wtmp -j WRITE
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o /var/log/lastlog -j WRITE
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_SETUID -j GRANT
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_SETGID -j GRANT
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_FOWNER -j GRANT
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_CHOWN -j GRANT
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_DAC_OVERRIDE -j GRANT
/sbin/lidsconf -A -s /usr/sbin/sshd \
-o CAP_NET_BIND_SERVICE -j GRANT
これらの設定は、slapd に CAP_NET_BIND_SERVICE 権限を与えていますので、起動後、LIDS_GLOBAL が有効な時に機能します。
/sbin/lidsconf -A -s /usr/local/libexec/slapd \
-o /usr/local/ldapdb -j WRITE
/sbin/lidsconf -A -s /usr/local/libexec/slapd \
-o CAP_NET_BIND_SERVICE -j GRANT
/sbin/lidsconf -A -s /usr/local/libexec/slapd \
-o CAP_INIT_KILL -j GRANT
/sbin/lidsconf -A -s /usr/local/libexec/slapd \
-o CAP_SYS_MODULE -j GRANT
これらの設定は、portsentry に CAP_NET_BIND_SERVICE 権限を与えていますので、起動後、LIDS_GLOBAL が有効な時に機能します。portsentry にやらせようと思っている内容によって、これらの ACL 全ては必要だったり不要だったりするかもしれません。
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o /usr/local/psionic/portsentry -j WRITE
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o /var/log -j WRITE
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o CAP_NET_BIND_SERVICE -j GRANT
# For portsentry to be able to update the firewall:
# portsentry がファイアウォールを更新するため:
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o CAP_NET_RAW -i 1 -j GRANT
# For portsentry to be able to update /etc/hosts.allow and/or /etc/hosts.deny:
# portsentry が /etc/hosts.allow や/etc/hosts.deny を更新するため:
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o /etc/hosts.allow -j WRITE
/sbin/lidsconf -A -s /usr/local/psionic/portsentry/portsentry \
-o /etc/hosts.deny -j WRITE
この設定では、ポート 137 & 139 をバインドできるように、Samba はカーネルを封印するより前か、LIDS_GLOBAL が無効になっている時に起動する必要があります。
/sbin/lidsconf -A -o /etc/samba -j READONLY /sbin/lidsconf -A -o /var/samba -j READONLY /sbin/lidsconf -A -s /usr/sbin/smbd -o /var/samba -j WRITE /sbin/lidsconf -A -s /usr/sbin/nmbd -o /var/samba -j WRITE # smbd needs write access to smbpasswd to chmod it. i think it # also needs access to MACHINE.SID # smbd は chmod するために smbpasswd への書きこみ権限が必要です。 # MACHINE.SID にも同様に必要だと思います。 /sbin/lidsconf -A -s /usr/sbin/smbd -o /etc/samba -j WRITE /sbin/lidsconf -A -s /usr/sbin/smbd -o /etc/shadow -j READONLY /sbin/lidsconf -A -s /usr/sbin/smbd -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /usr/sbin/smbd -o CAP_SETGID -j GRANT /sbin/lidsconf -A -s /usr/sbin/smbd -o CAP_HIDDEN -j GRANT # LIDS complains about smbd trying to chroot to / # everything still seems to work without it, though # (and isn't chrooting to / kinda pointless anyway?) # LIDS は smbd が / に chroot しようとする旨文句を言います。 # ただ、それなしでも全てうまく機能しているようには見えます。 # (しかも / に chroot してはいないのに、ちょっと無駄じゃない?) #/sbin/lidsconf -A -s /usr/sbin/smbd -o CAP_SYS_CHROOT -j GRANT /sbin/lidsconf -A -s /usr/sbin/nmbd -o CAP_HIDDEN -j GRANT
/sbin/lidsconf -A -o /usr/lib/heartbeat/heartbeat -j READONLY
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_NET_BIND_SERVICE -i -1 -j GRANT
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_SYS_RAWIO -i -1 -j GRANT
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_NET_BROADCAST -i -1 -j GRANT
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_NET_ADMIN -i -1 -j GRANT
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_NET_RAW -i -1 -j GRANT
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o CAP_SYS_ADMIN -i -1 -j GRANT
# For sending Gratuitous Arps
# 余計な<!--(★gratuitous)--> Arp を送るため
/sbin/lidsconf -A -o /usr/lib/heartbeat/send_arp -j READONLY
/sbin/lidsconf -A -s /usr/lib/heartbeat/send_arp \
-o CAP_NET_RAW -i -1 -j GRANT
# For modifying the routing table when the IP address changes
# IP アドレス変更時にルーティングテーブルを修正するため
/sbin/lidsconf -A -o /sbin/route -j READONLY
/sbin/lidsconf -A -s /sbin/route -o CAP_NET_ADMIN -i 0 -j GRANT
#
# Protect the heartbeat configuration and authentication key.
# heartbeat の設定と認証キーを保護します
#
/sbin/lidsconf -A -o /etc/ha.d/ha.cf -j READONLY
/sbin/lidsconf -A -o /etc/ha.d/haresources -j READONLY
/sbin/lidsconf -A -o /etc/ha.d/authkeys -j DENY
#
# Only heartbeat can see the authkey
# hertbeat のみが authkey を読めます
#
/sbin/lidsconf -A -s /usr/lib/heartbeat/heartbeat \
-o /etc/ha.d/authkeys -j READONLY
/sbin/lidsconf -A -s /usr/sbin/named -o CAP_NET_BIND_SERVICE 53 -j GRANT /sbin/lidsconf -A -s /usr/sbin/named -o CAP_SETPCAP -j GRANT /sbin/lidsconf -A -s /usr/sbin/named -o CAP_SYS_CHROOT -j GRANT /sbin/lidsconf -A -s /usr/sbin/named -o CAP_SYS_RESOURCE -j GRANT /sbin/lidsconf -A -s /usr/sbin/named -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /usr/sbin/named -o CAP_SETGID -j GRANT
# Sendmail LIDS rules (using infinite inheritance for the sendmail # children and delivery agents to work properly, but a lower inheritance # like 2 or 3 would probably work as well.) # Sendmail 用 LIDS ルール # (sendmail の子孫や配送エージェントが適切に動作するように # 無限の継承を使っていますが、2, 3 のより低い継承でもおそらく # 同じように動作するでしょう。) # Lock down /etc/mail if it's not already done elseware # どこか他で既になされていないなら、/etc/mail を読めるようにします<!--(★lock down)--> /sbin/lidsconf -A -o /etc/mail -j READONLY /sbin/lidsconf -A -o /usr/sbin/sendmail -j READONLY /sbin/lidsconf -A -s /usr/sbin/sendmail -o /etc/shadow -j READONLY -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o /etc/passwd -j READONLY -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o /etc/mail -j READONLY -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o /etc/mail/aliases -j WRITE -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o /etc/mail/aliases.db -j WRITE -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o CAP_SETUID -j GRANT -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o CAP_SETGID -j GRANT -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o CAP_SYS_ADMIN -j GRANT -i -1 /sbin/lidsconf -A -s /usr/sbin/sendmail -o CAP_NET_BIND_SERVICE 25-25 -j GRANT -i -1 # Depending on how you have the log files secured # (The maillog will normally get rotated out and this # rule will stop working when that happens unless you # stop the log rotation.) # ログファイルをどのように安全にしているかによって # (mail ログは通常ローテートされているでしょう。このルールは # ログのローテーションをやめない限り、それが起きた時点で機能 # しなくなります。 /sbin/lidsconf -A -s /usr/sbin/sendmail -o /var/log/maillog -j APPEND -i -1
/sbin/lidsconf -A -o /etc/apcupsd -j DENY /sbin/lidsconf -A -s /sbin/apcupsd -o /etc/apcupsd -j READONLY /sbin/lidsconf -A -s /sbin/apcupsd -o CAP_HIDDEN -i -1 -j GRANT
/sbin/lidsconf -A -s /sbin/pump -o CAP_NET_BIND_SERVICE 68-68 -j GRANT /sbin/lidsconf -A -s /sbin/pump -o CAP_NET_RAW -j GRANT /sbin/lidsconf -A -s /sbin/pump -o CAP_HIDDEN -j GRANT
/sbin/lidsconf -A -s /usr/sbin/snort -o CAP_DAC_OVERRIDE -j GRANT /sbin/lidsconf -A -s /usr/sbin/snort -o CAP_NET_RAW -j GRANT /sbin/lidsconf -A -s /usr/sbin/snort -o CAP_HIDDEN -j GRANT /sbin/lidsconf -A -s /usr/sbin/snort -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /usr/sbin/snort -o CAP_SETGID -j GRANT
/sbin/lidsconf -A -s /sbin/getty -o CAP_DAC_OVERRIDE -j GRANT /sbin/lidsconf -A -s /sbin/getty -o CAP_HIDDEN -j GRANT
/sbin/lidsconf -A -s /bin/login -o /etc/shadow -j READONLY /sbin/lidsconf -A -s /bin/login -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /bin/login -o CAP_SETGID -j GRANT /sbin/lidsconf -A -s /bin/login -o CAP_CHOWN -j GRANT /sbin/lidsconf -A -s /bin/login -o CAP_FSETID -j GRANT
/sbin/lidsconf -A -s /bin/su -o /etc/shadow -j READONLY /sbin/lidsconf -A -s /bin/su -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /bin/su -o CAP_SETGID -j GRANT
/sbin/lidsconf -A -s /usr/sbin/exim -o CAP_SETGID -j GRANT /sbin/lidsconf -A -s /usr/sbin/exim -o CAP_SETUID -j GRANT
/sbin/lidsconf -A -s /usr/sbin/in.qpopper -o /etc/shadow -j READONLY
/sbin/lidsconf -A -s /usr/sbin/proftpd -o CAP_SETGID -j GRANT /sbin/lidsconf -A -s /usr/sbin/proftpd -o CAP_SETUID -j GRANT /sbin/lidsconf -A -s /usr/sbin/proftpd -o CAP_SYS_CHROOT -j GRANT /sbin/lidsconf -A -s /usr/sbin/proftpd -o /etc/shadow -j READONLY