No Such Blog or Diary
チョーク折れまくり
- 2017-06-29 (Thu)
- 一般
どうも講義室のチョークがぽきぽき折れまくって困る.力のかけ過ぎな気もするのだけど,こんなに折れやすかったっけ? と悩むくらいに折れまくる.
湿気てる?
- Comments: 0
- TrackBack (Close): -
BrainFuck で golf る
- 2017-06-28 (Wed)
- 一般
30バイトの BrainFuck プログラムで意味のある単語を出力したいけれど難しいねという問題.大学の略称3文字でも 40バイトくらい必要なので悩ましい.
とりあえず,Unicode 対応の BrainFuck とかあれば漢字一文字で意味のある出力ができるかもなぁと思った今日このごろ.
そして自分でインタプリタを書き始めるも putwchar の使い方がよくわからず失敗する.つーか,locale 周りが全く分かってない.
- Comments: 0
- TrackBack (Close): -
LDAP で ssh の公開鍵管理
- 2017-06-26 (Mon)
- ソフトウェア ( Linux/coLinux )
ホームディレクトリを共有しないマシン達で ssh の公開鍵だけでも共有したいなと.何やら LDAP に置けるらしいのでやってみた.
とりあえず,LDAP サーバでスキーマ追加.sshPublicKey を持ち得る ldapPublicKey というオブジェクトクラスを定義する.
cat > openssh-lpk.ldif <<'EOF' dn: cn=openssh-lpk,cn=schema,cn=config objectClass: olcSchemaConfig cn: openssh-lpk olcAttributeTypes: ( 1.3.6.1.4.1.24552.500.1.1.1.13 NAME 'sshPublicKey' DESC 'MANDATORY: OpenSSH Public key' EQUALITY octetStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 ) olcObjectClasses: ( 1.3.6.1.4.1.24552.500.1.1.2.0 NAME 'ldapPublicKey' SUP top AUXILIARY DESC 'MANDATORY: OpenSSH LPK objectclass' MAY ( sshPublicKey $ uid ) ) EOF sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f openssh-lpk.ldif
次に,ssh サーバにスクリプトを置いて LDAP から鍵を取れるようにする(ドメインとかはテキトウな値を書いている).
cat > get_pubkey_LDAP <<'EOF'
#!/bin/bash
if test ${EUID:-${UID}} != 0; then
echo "run as root"
exit 0
fi
if test "x$1" = "x"
then
echo "usage: $0 UID"
exit
fi
uid=$1
dcs="dc=fuga,dc=hoge,dc=jp"
ldapsearch -x -H ldapi:/// -b $dcs -LLL -D cn=admin,$dcs -w admin_pass_here "(& (objectClass=posixAccount) (uid=${uid}))" "sshPublicKey" | sed -e '1d;s/^ //' | sed -e 'H;$!d;g;s/\n//g' | sed -e 's/sshPublicKey: /\n/g' | sed -e '1d'
EOF
chmod 700 get_pubkey_LDAP
sudo cp get_pubkey_LDAP /etc/ssh/get_pubkey_LDAP
そして /etc/ssh/sshd_config にこのスクリプトを使うように追記:
AuthorizedKeysCommand /etc/ssh/get_pubkey_LDAP AuthorizedKeysCommandUser root
もともと ~/.ssh/authorized_keys が有効なら,これで authorized_keys と LDAP と両方見に行ってくれる.
あとはユーザアカウント毎に鍵を LDAP に入れる.そのためにまずアカウントを ldapPublicKey クラスに入れる:
username="your_account_name" dcs="dc=fuga,dc=hoge,dc=jp" cat << << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here dn: uid=$username,ou=people,$dcs changetype: modify add: objectClass objectClass: ldapPublicKey EOF
そしてユーザの鍵を追加する:
username="your_account_name" dcs="dc=fuga,dc=hoge,dc=jp" pubkey=$( cat $YOUR_PUBLIC_KEY ) cat << EOF | ldapadd -x -H ldapi:/// -D cn=admin,$dcs -w admin_pass_here dn: uid=$username,ou=people,$dcs changetype: modify add: sshPublicKey sshPublicKey: $pubkey EOF
なお,LDAP に鍵は複数個登録可能.あとは ssh サーバに置くスクリプトが複数の鍵に対応してればいい(と思う).
- Comments: 0
- TrackBack (Close): -
作業が捗る
- 2017-06-25 (Sun)
- 一般
日曜の大学は静かでいいなと.平日休んで土日に出勤しても良いような気もするのだけど,実際問題としてどうなんだろう?
就業規則で休日がどう定義されているかと裁量労働制の適用時にどういう扱いなのかか.でも振替の処理があるから特定の期間で日数だけあってれば問題ないような.そのうち給与まわりの部署にでも問い合わせて見ようかね.
まあ,毎日講義があったら無理だけど.
- Comments: 0
- TrackBack (Close): -
Facebook テロ
- 2017-06-24 (Sat)
- 一般
Facebook が「知り合いかも」とかいうデスクトップ通知が出てくるのだけど,夜に来た通知に乗ってる顔写真が怖いとビビる.写真は適切に設定しなければならないなと思う今日このごろ.
- Comments: 0
- TrackBack (Close): -