ユーザー設定
新規ユーザーの追加
$ sudo adduser feelinguy
ユーザ `feelinguy' を追加しています...
新しいグループ `feelinguy' (1001) を追加しています...
新しいユーザ `feelinguy' (1001) をグループ `feelinguy' として追加しています...
ホームディレクトリ `/home/feelinguy' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
feelinguy のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
フルネーム []:
部屋番号 []:
職場電話番号 []:
自宅電話番号 []:
その他 []:
以上で正しいですか? [Y/n]
$ id feelinguy
uid=1001(feelinguy) gid=1001(feelinguy) groups=1001(feelinguy)
$ id pi
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),999(spi),998(i2c),997(gpio)
$ id pi | tr ',' '\n'
uid=1000(pi) gid=1000(pi) groups=1000(pi)
4(adm)
20(dialout)
24(cdrom)
27(sudo)
29(audio)
44(video)
46(plugdev)
60(games)
100(users)
101(input)
108(netdev)
999(spi)
998(i2c)
997(gpio)
新規に追加したユーザーを pi
と同じグループに所属させる。
usermod -aG GroupName[, ...] UserName
これで既存 GroupName のリストへ追加してね、となるらしい。
$ (gnames=$(
> id pi |
> tr ',' '\n' | # カンマを改行に置換
> sed 1d | # 一行目を削除
> sed 's/^[0-9]*(//' | # 先頭の数値と'('を削除
> sed 's/)$//' | # 最後の')'を削除
> tr '\n' ',' | # カンマ区切りで一行にまとめる
> sed 's/,$//' # 最後の','を削除
> )
> sudo usermod -aG $gnames feelinguy)
$ exit
ログアウト
Connection to xxx.local closed.
GroupName のリストを手打ちするのが危ういなーと思ったけど、
上記コマンドラインもどーだかねー。手打ちでいいね。
pi
ユーザーの削除
新規ユーザーで再ログイン。
$ sudo userdel -r pi
あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:
#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。
[sudo] feelinguy のパスワード:
userdel: pi のメールスプール (/var/mail/pi) がありません
日本語で警告されるとドキッとする。
ファイアーウォール
Firewalld と思ったが、今のところ外部に公開するものは無いので、
ブロードバンドルーターに任せよう。
NTP
$ timedatectl status
Local time: 日 2019-04-21 01:37:16 JST
Universal time: 土 2019-04-20 16:37:16 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Network time on: yes
なら有効になっているらしい。
有効化するには timedatectl set-ntp true
で。
設定は /etc/systemd/timesyncd.conf
へ。
$ sudo nano /etc/systemd/timesyncd.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.
[Time]
NTP=ntp.jst.mfeed.ad.jp
FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
設定を反映させる。
$ sudo systemctl restart systemd-timesyncd
Warning: systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
$ sudo systemctl daemon-reload
デバイス
SDカード
延命措置。
スワップ無効化
$ free -h
total used free shared buff/cache available
Mem: 927M 29M 829M 11M 68M 838M
Swap: 99M 0B 99M
$ sudo swapoff --all
$ sudo apt purge -y --auto-remove dphys-swapfile
$ sudo rm -fr /var/swap
$ free -h
total used free shared buff/cache available
Mem: 927M 31M 747M 11M 148M 834M
Swap: 0B 0B 0B
一時ファイル、ログとかは後回しでいいかな。
USBメモリ
USB3.0 64GB があるけど、ノートPC との相性が悪いんだよね。
USB2.0 なラズパイで使おう。
まず、デバイスの状態を調べて、
存在するのであればパーティションを削除する。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 57.7G 0 disk
└─sda1 8:1 1 57.7G 0 part
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 42.9M 0 part /boot
└─mmcblk0p2 179:2 0 29.7G 0 part /
$ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rm 1
(parted) print
Model: ELECOM MF-CAU31 (scsi)
Disk /dev/sda: 61.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
次に、MBR または GPT かを選択し、パーティションを作る。
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be
destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? y
(parted) mkpart
Partition name? []? data
File system type? [ext2]? ext4
Start? 0%
End? 100%
(parted) print
Model: ELECOM MF-CAU31 (scsi)
Disk /dev/sda: 61.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 61.9GB 61.9GB ext4 data
(parted) q
Information: You may need to update /etc/fstab.
そして、フォーマット。
$ sudo mkfs.ext4 /dev/sda1
mke2fs 1.43.4 (31-Jan-2017)
/dev/sda1 contains a ext4 file system
created on Sat Apr 20 22:20:02 2019
Proceed anyway? (y,N) y
Creating filesystem with 15119872 4k blocks and 3784704 inodes
Filesystem UUID: 7a8e352b-*****
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
$ blkid /dev/sda1 | tr ' ' '\n'
/dev/sda1:
UUID="7a8e352b-*****"
TYPE="ext4"
PARTLABEL="data"
PARTUUID="d617acd6-*****"
UUID
を /etc/fstab
に追記する。
自動マウント
$ sudo mkdir -p /media/feelinguy/data
$ sudo nano /etc/fstab
proc /proc proc defaults 0 0
PARTUUID=xxxxx-01 /boot vfat defaults 0 2
PARTUUID=xxxxx-02 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
UUID="7a8e352b-*****" /media/feelinguy/data ext4 defaults 0 2
最後の2つの数字は、
-
dump
のバックアップ対象 -0
:false,1
:true -
fsck
のチェック対象 -0
:false,1
:root,2
:true
だそうだ。
$ sudo reboot
...
$ lsblk /dev/sda1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda1 8:1 1 57.7G 0 part /media/feelinguy/data
$ sudo chown feelinguy:feelinguy /media/feelinguy/data
$ sudo chmod o-x /media/feelinguy/data
$ ls -l /media/feelinguy
合計 4
drwxr-xr-- 2 feelinguy feelinguy 4096 4月 21 00:18 data
再起動前に chown
chmod
したら、再起動後には元に戻されていた。
上記の様に順番を逆にしたら永続化された。よくわからん。
簡易操作
ssh -t
で疑似端末を割り当てることができるそうな。
$ ssh -t feelinguy@xxx.local 'sudo apt update'
feelinguy@xxx.local's password:
[sudo] feelinguy のパスワード:
...
パッケージはすべて最新です。
Connection to xxx.local closed.
$
鍵認証してないと、ありがたみが薄い。
セキュア・コピー
$ touch 空ファイル
$ ls
空ファイル
$ scp 空ファイル feelinguy@xxx.local:~/空ファイル
feelinguy@xxx.local's password:
空ファイル 100% 0 0.0KB/s 00:00
$
ここまでで、最低限のことはできそうかな。