Gentoo」カテゴリーアーカイブ

Gentoo Linuxおよび他のディストリビューションを含むLinux全般についてのカテゴリーです。

コマンドラインを使った全角⇔半角の変換方法

nkfsedを使ってコマンドラインから全角⇔半角の変換をする方法についてのまとめ。

全角⇒半角の変換

nkfを使う場合

全角から半角へはnkf-Zオプションで変換できます。

全角英数字を半角英数字に変換

$ echo 'あいうえお 123456 abcdef' | nkf -Z
あいうえお 123456 abcdef

全角英数字と全角スペースを半角に変換

$ echo 'あいうえお 123456 abcdef' | nkf -Z1
あいうえお 123456 abcdef

全角英数字と全角スペースを半角に変換(全角スペースは半角スペース2つに変換)

$ echo 'あいうえお 123456 abcdef' | nkf -Z2
あいうえお  123456 abcdef

sedを使う場合

$ echo 'あいうえお 123456 abcdef' | sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /'
あいうえお 123456 abcdef

半角⇒全角の変換

sedを使う場合

$ echo 'あいうえお 123456 abcdef' | sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 /'
あいうえお 123456 abcdef

数字だけ全角に変換したい場合

$ echo 'あいうえお 123456 abcdef' | sed 'y/1234567890/1234567890/'
あいうえお 123456 abcdef

※コマンドはすべて1行です。改行しないように注意してください。

Raspberry Piにプロキシサーバーをインストールする方法

Raspberry Piにプロキシサーバー「Squid」をインストールするメモ。

インストール

$ sudo apt install squid

設定

設定ファイルは/etc/squid/squid.confになります。
お好みのエディタで編集してください。

$ sudo vi /etc/squid/squid.conf

Squidの起動

$ sudo service squid start

起動後、設定ファイルをリロードしたい場合は次のようにします。

$ sudo service squid reload

Squidの設定メモ

使用ポートを3128番に設定して、すべてのアクセスを許可

http_port 3128

acl all src 0.0.0.0/0
http_access allow all

特定のIPアドレスからのアクセスのみ許可

http_port 3128

acl host src 192.168.0.12/32
http_access allow host

acl all src 0.0.0.0/0
http_access deny all

IPアドレスを範囲で許可したい場合は192.168.0.0/24192.168.0.1-192.168.0.255
のような形式で設定することもできます。

特定のドメインのみアクセスを許可

http_port 3128

acl allowlist dstdomain "/etc/squid/allowlist"
http_access allow allowlist

acl all src 0.0.0.0/0
http_access deny all

allowlist

www.example.com
.example.net

のように許可したいドメインを記述します。

.から始まるドメインはサブドメインすべてが許可される設定になります。

特定のIPアドレスから特定のドメインのみアクセスを許可

http_port 3128

acl allowlist dstdomain "/etc/squid/allowlist"
http_access deny !allowlist

acl host src 192.168.0.12/32
http_access allow host

acl all src 0.0.0.0/0
http_access deny all

その他の設定

以下は必要な場合のみ/etc/squid/squid.confに追加してください。

プロキシサーバーを経由しているという情報を隠したい場合

forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
visible_hostname unknown

リファラー情報を送信したくない場合

request_header_access Referer deny all

リンク

FrontPage – Squid Web Proxy Wiki
https://wiki.squid-cache.org/

Raspberry PiにFTPサーバーをインストールする方法

Raspberry PiでFTPサーバー(vsftpd)を運用する手順について。

インストール

$ sudo apt install vsftpd

設定

$ sudo vi /etc/vsftpd.conf

vsftpd.confで設定できる内容は以下のような感じです。

anonymous_enableAnonymousでのログインを許可する場合はYES
local_enableローカルユーザー(piやuseraddで作成したユーザー)でのログインを有効にする場合はYES
write_enableFTPサーバーへの書き込みを有効にする場合はYES
local_umaskumaskの設定(デフォルトは077)
chroot_local_userホームディレクトリより上の階層にアクセスできるようにする場合はYES
pasv_enableパッシブモードを有効にする場合はYES
vsftpd.confで設定できる主な内容

※パスワードを設定していない場合や忘れてしまった場合は、sudo passwd ユーザー名で設定できます。

FTPサーバーの起動

$ sudo service vsftpd restart

530 Login incorrect

FTPクライアントからユーザー名とパスワードを入力した際530 Login incorrectとなる場合はユーザー名かパスワードをミスタイプしているか可能性があるので再確認してみてください。

その他、該当ユーザーのログインシェルをnologingit-shellなどにしている場合も同様のエラーとなるようです。

$ sudo usermod -s /bin/bash ユーザー名

でログインシェルを変更できます。必要に応じて試してみてください。