Windows」タグアーカイブ

Explorerナビゲーションウィンドウ修正

ナビゲーションウィンドウからライブラリとホームグループを削除。
*.regファイルを作成し、以下の内容で実行。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]
“Attributes”=dword:b090010d

[HKEY_CURRENT_USER\Software\Classes\CLSID\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}\ShellFolder]
“Attributes”=dword:b094010d

上記、環境によって消えない。
以下を実行。

Windows Registry Editor Version5.00

[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]
“Attributes”=dword:b090010d

[HKEY_CLASSES_ROOT\CLSID\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}\ShellFolder]
“Attributes”=dword:b094010d

お気に入りも削除

Windows Registry Editor Version5.00

[HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder]
“Attributes”=dword:a9400100

お気に入りは結合エラーがでた。
regeditからアクセス許可を与えたら実行できた。

ちなみに、a0900100で復活する。

以下はWin10にて設定。

ナビゲーションのマイコンピュータ以下のミュージックやピクチャなど削除

HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows>CurrentVersion>Explorer>MyComputer>NameSpace
から以下を消す(リネーム)
{088e3905-0323-4b02-9826-5d99428e115f}
{24ad3ad4-a569-4530-98e1-ab02f9417aa8}
{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
{d3162b92-9365-467a-956b-92703aca08af}
{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}

OneDrive非表示
HKEY_CURRENT_USER>Software>Classes>CLSID>{018D5C66-4533-4307-9B53-224DE2ED1FE6}
System.IsPinnedToNameSpaceTree
を0へ

以下も同じように。

Creative Cloud Files
{0E270DAA-1BE6-48F2-AC49-4D4FA7552B34}

Dropbox
{E31EA727-12ED-4702-820C-4B6445F28E1A}

レジストリの設定について

HKEY_CLASSES_ROOT:コンピュータが使う設定
HKEY_CURRENT_USER:ログインユーザの設定
HKEY_LOCAL_MACHINE:全ユーザの設定
HKEY_USERS:ユーザに関する設定
HKEY_CURRENT_CONFIG:起動時に読み込まれる設定

上3つは似た設定が多く、通常、
CURRENT_USER
の方が優先される。

HKEY_CLASSES_ROOT
は、
HKEY_CURRENT_USER\Software\Classes

HKEY_LOCAL_MACHINE\SOFTWARE\Classes
を合わせたもの。ここを直接編集する必要はない模様。

GWXをリネーム・削除

まだGWXUXWorker関連のスタートアップが生きていたので。

C:\Windows\System32\GWX
を右クリック。
プロパティ>セキュリティ>詳細設定>所有者>編集
にて、TrustedInstaller から自身を所有者に変更。

プロパティ>セキュリティ
まで戻り、自身のアクセス許可を変更。

AutoHotkey TeamViewerのスポンサーセッションを消す

セキュリティソフトを一時停止。
プロンプトは管理者権限で起動(もしかしたら大丈夫かも)

test.ahk

上記ファイルを作成し、
C:\Program Files\AutoHotkey\Compiler
に移動。

コマンドプロンプトから、
cd C:\Program Files\AutoHotkey\Compiler
Ahk2Exe.exe /in test.ahk /out test.exe
にてtest.exeができる。

ログオフする前にクリックしておくと10秒後にウィンドウを消す。

最初はC#だったが、これじゃ消えない。

Windows 拡張子の関連付け

コマンドでの設定

拡張子とファイルタイプの関連付けを確認
assoc
assoc .txt

独自に定義する場合は、拡張子=ファイルタイプ
assoc .mytext=mytextfile

削除する場合、
assoc .mytext=

ファイルタイプで起動するプログラムの確認
ftype
ftype textfile

ファイルタイプとプログラムの関連付け
ftype mytextfile=notepad.exe %1

削除の場合
ftype mytextfile=

この設定方法は優先度が低いので、ほとんどの場合
他のソフトに持っていかれる。

優先度が高いのは、
コントロールパネル > 既定のプログラム > ファイルの種類またはプロトコルのプログラムへの関連付け
の設定で変更する方法。

通常であれば、コントロールパネルからの設定がいい。

実際レジストリの色々な箇所で設定されている。

優先度の高い箇所
HKEY_CURRENT_USER
Software
Microsoft
Windows
CurrentVersion
Explorer
FileExts
.txt
UserChoice
Progid

ここでは、Application\EmEditor.exeとなっていた。
上記のFileExtsの中で.txt自体を削除してしまうとassocで定義されている
notepadになった。

その次は、以下でここがassocで設定するファイルタイプ
HKEY_LOCAL_MACHINE
SOFTWARE
Classes
.txt

Windows ルーティングテーブル

ルーティング

A地点
グローバルIP: aaa
ローカル2: 192.168.2.0/24
ローカル3: 192.168.3.0/24
ローカル4: 192.168.4.0/24

ローカル1: 192.168.1.0/24
GW: 192.168.1.199

——————————————————–

B地点
グローバルIP: bbb
ローカル: 192.168.102.0/24
GW: 192.168.102.1

——————————————————–

A地点にWGが設置されている。B地点でPCのWGクラアントを起動すると、
NIC2が作られIPが192.168.113.2となる。

NIC2では手動ではGWを設定していないがtracertすると、
192.168.113.1を経由している。グローバルIPもaaaとなっている。

試しに、NIC1(ローカルのwifi)のメトリックを1、
NIC2のメトリック値を2等にしてみるが、tracertするとやはりA地点のWGを経由している。

WGのクライアントを起動するとルートテーブルが書き換わる模様。

宛先/ネットマスク/ゲートウェイ/インターフェース

先ず、全て削除
route f
すると、接続がなくなるので、
route add 0.0.0.0 mask 0.0.0.0 192.168.102.1
を追加する。そうすると復活。

個別に削除の場合、以下のような書き方で行ける。
route delete 0.0.0.0 mask 128.0.0.0 [192.168.102.1]

追加は以下のような書き方
route add 0.0.0.0 mask 192.0.0.0 192.168.102.1 [if 6]
route add 192.168.1.0 mask 255.255.255.0 192.168.113.1

変更(変更はゲートウェイとメトリックのみ)
route change 0.0.0.0 mask 128.0.0.0 192.168.113.1 [metric 100]
route change 128.0.0.0 mask 128.0.0.0 192.168.102.1

今回は、上記のroute change 128.0.0.0だけでOKだった。

メトリック値の確認

netstat -r, route print

リンク上はルータを介さない接続のこと
宛先、マスクが0.0.0.0のものがデフォルトルート

宛先+マスクが送付先
その送付先に送る場合通るのがゲートウェイで
送り出す側のIPアドレスがインターフェース

CIDR

IPアドレスは32bitで、8ビットずつ4組、10進法で表示している。
192.168.1.1 = 8bit . 8bit . 8bit . 8bit

CIDR表記はスラッシュ後にネットワーク部のビット数を書く。

/0 だと ホスト.ホスト.ホスト.ホスト
/8 だと ネット.ホスト.ホスト.ホスト
/16だと ネット.ネット.ホスト.ホスト
/24だと ネット.ネット.ネット.ホスト
/32だと ネット.ネット.ネット.ネット

SoftEtherをUbuntuとWinにインストール

WindowsにServerとClient

SoftEther VPN Serverをダウンロードする。
インストールするソフトウェアで”SoftEther VPN Server”を選択する。
管理者パスワードを設定する。(ユーザーのパスワードとは別なので注意)
リモートアクセス VPN サーバーを選択する。
仮想HUB名を設定する。(特に変更の必要なし)
ダイナミック DNS ホスト名を変更する。
IPsec,L2TP,EtherIP,L2TPv3はチェックしない。
VPN Azureを有効にする。
ユーザーを作成する。
ローカルブリッジで、LANカードを選択する。
SoftEther VPN サーバー管理マネージャを起動し、”接続設定の編集”から、”管理者パスワードを保存しない”にチェックする。
接続設定名を変更し、”このコンピュータ(localhost)に接続(443ポート)”にチェックする。

Clientの設定

SoftEther VPN Clientをダウンロードする。
インストールするソフトウェアで”SoftEther VPN Client”を選択する。
新しい接続を作成を実行し、仮想LANカードを作成する。
仮想LANカードにIPを設定する。(現在利用しているのとは別ネットワーク)
新しい接続を作成。ダイナミックDNSのIPを指定し、ポートを443に仮想HUBを自動で表示される。
サーバーで作成したユーザー、パスワードを入力する。
高度な通信設定で、コネクション(8本)&(SSL接続)&(データ圧縮)を指定する。
接続し、スタートアップ接続を指定する。

常時起動しているPCは、接続中の画面とエラー画面を非表示にチェックし、
再接続の時間を、3600秒(1時間)へ設定する。

UbuntuにServer

wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/32bit_-_Intel_x86/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x86-32bit.tar.gz

tar -zxvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x86-32bit.tar.gz

cd vpnserver

make

もしmakeで落ちるなら、
sudo apt-get install build-essential
を実行してみる。

sudo ./vpnserver start

仮想ブリッジの作成

まず、追加設定を読む。br0の仮想ブリッジは最終的には利用していない。

sudo apt-get install bridge-utils

/etc/network/interfacesの編集し、

ここでの設定した内容に以下を追加。

service networking restart

Win端末からSoftEther VPN Server Manager for Windowsを実行

接続名は適当
ホスト名はUbuntu側のIP
ポートは1194
であとはそのまま接続。

管理者パスワードを設定する指示があり、
簡易セットアップが開くので、リモートアクセスVPNサーバーにチェックして次へ。

仮想HUBを聞かれるのでそのままVPNで、
次のページに表示されるダイナミックDNS情報メモしておく。

次のIPsecはそのままOK。

次のVPN Azureは無効でもいいけど、ここでは有効にして、
ホスト名をメモしておく。

次のページでユーザ作成をおこなう。
ユーザ名を入力して、認証をパスワードにし、パスワードを入力してOK。

ローカルブリッジ設定を開き、仮想HUBを選択して、
新しいtapデバイスとのブリッジ接続で、追加する。
デバイス名は、ここではvpnとした。

以下のコマンドを実施(しなくても繋がった?)
sudo brctl addif br0 tap_vpn

Ubuntuにつなぐクライアントの設定

今回Winのクライアント.

仮想LANカードを作成しIPは192.168.103.2

新しい接続で、ホスト名にダイナミックDNSのIP、
或いはグローバルIPを入力。参考

ポートは1194

仮想HUBはVPN

ユーザ認証にubunt側で作成したユーザ情報を入力

とりあえずこれでつながる。

/etc/rc.local に vpnserver のスタートを追記しておく。

こちらも参考

追加設定

br0に違うセグメントのアドレス(103)を固定しているのに、
vpnserver側のセグメント(102)が見える。

少し考えて。

brctl showとすると、br0というブリッジができており、interfaceはtab_vpnとなっている。

そもそも、tapデバイスがvpnserver側の内部(ubuntu)と通信できない?と考え、
tap_vpnをブリッジ(br0)してbr0にipを固定していた。
(vpnserverの実際のnicとtapデバイスをブリッジ(br0)するという説明が多いので、後々調べる予定)

今回はvpnserver機だけクライアントから見えればいいので、もっと単純に考え、
tapデバイス(仮想lanカードのようなもの?)については、
softether側でsoftetherの仮想hubとtapデバイスでブリッジが作成されているのだから、
tapデバイスに103のセグメントで固定アドレスをすれば解決なのでは?

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
address 192.168.102.15
netmask 255.255.255.0
gateway 192.168.102.1
dns-nameservers 192.168.102.1
wpa-ssid xxx
wpa-ap-scan 1
wpa-key-mgmt WPA-PSK
wpa-psk xxx

auto tap_vpn
iface tap_vpn inet static
address 192.168.103.1
netmask 255.255.255.0

予想通り、これで繋がった。
ただ、これでもクライアントからvpnserver側のセグメント(102)が見える。

ip6を無効

/etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
sudo sysctl -p

APIPAの無効化

ネット上だとcentばかりでubuntuはほとんどなかったが、

/etc/networks
をコメントアウトすると表示が変わる。

sudo route del -net 169.254.0.0 netmask 255.255.0.0
かあるいは、
sudo route del -net link-local netmask 255.255.0.0
で消えた。

この時点でもvpnserver側のセグメント(102)が見えるが、
そもそも、クライアントからnet viewすると見えるので、
IP云々よりWinのブラウズリストの関係かと思う。

恐らく、WINSサーバがいなければブロードキャストで通信するので、
プロトコルを調べてufwで弾くことに。

ファイアーウォール(ufw)で設定

/etc/default/ufw
IPV6=no

重複ナンチャラがでるので、
sudo rm apache2-utils.ufw.profile
を削除。

sudo ufw status
状態確認

sudo ufw enable
有効化

sudo ufw reload
リロード

ufw delete 1
ルール削除の場合。

以下、ルール追加
sudo ufw limit from 192.168.102.0/24 to any port 22

sudo ufw allow 137/udp
(これをやらないとwinのブラウジングが止められる)

sudo ufw allow 138/udp
sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
(sambaで必要)

137/UDPが原因だった。とりあえずこれで解決。

sudo ufw allow 80/tcp
sudo ufw allow 3000/tcp
(rails用)

ログのパス(syslogにでているけど)
/var/log/ufw.log

iptables: Chain already existsとエラーがでる場合。
sudo ufw disable
sudo iptables -F
sudo iptables -X
sudo ufw enable

ファイルのアクセス権限設定

ps -aux
で表示された、vpnserverのプロセスを落とす

vpnserverに移動する。
sudo chmod 600 *
sudo chmod 700 vpncmd
sudo chmod 700 vpnserver

Robocopy

MIR
ミラーリング

R
リトライ

W
失敗時の待機時間

NP
完了率を表示しない

FFT
FAT時間での比較

B
バックアップモード

XA:SH
ファイル除外指定(システム属性、隠し属性)

コピーもとコピー先は基本的にフォルダを指定する。
特定のファイルだけコピーしたい場合などはファイル名を指定する。

Sambaのインストール

sudo apt-get install samba

必要なフォルダ作成

mkdir xxx
chmod ugo+rwx /xxx
フルアクセスにする。

設定ファイル

sudo vim /etc/samba/smb.conf

[global]
の中に以下追記。

unix charset=UTF-8
dos charset=CP932

security = user(デフォルト)

ゲストアカウントの許可について、
security=shareはverによってはダメなので、
代替として「security=user」+「map to guest=Bad User」の組み合わせ

securityの選択肢、
security = share パスワードだけ(Samba 3.6.0以降deprecated)
security = domain ドメインコントローラ
security = server ほかのSMBサーバにより
security = ads AD(アクティブディレクトリ)ドメインのドメインコントローラ
などある。

guest account = nobody
ゲストどのLinuxアカウントとして扱うか。

map to guest = bad user (もともと記述済み)
不正なパスワードは拒否だが、ユーザが存在しない場合ゲストとして扱う。

map to guestの選択肢、
Never=不正なパスワードによるユーザーのログイン要求を拒否。
Bad User=指定されたユーザーが存在しなかった場合はguest accountで指定したユーザーとして扱う。
Bad Password=不正なパスワードによるユーザーのログイン要求を guest accountで指定したユーザーとして扱う。

以下を最終行に追加。

[share]
[]は共有名となる。
path = /home/xxx
writable = yes
guest ok = yes (public = yesのエイリアス)
force create mode = 0777 (作成したファイルに付加されるアクセス権)
force directory mode = 0777 (作成したディレクトリに付加されるアクセス権)
share modes = yes (他人が開いているかどうかチェック。verによっては使えない)
vfs objects = recycle (ゴミ箱機能)

ちょっと設定が違うタイプ。

[private]
path = /home/xxx
writable = yes
guest ok = yes
force create mode = 0777
force directory mode = 0777
share modes = yes
vfs objects = recycle
browseable = no

アクセスについて

sambaのアカウントとlinuxのアカウントは別管理される。sambaでフォルダごとのユーザー管理が手間の場合、browseable = noとすると見えなくはなる。

Winから手動アクセスがないのなら、フォルダのアクセス管理で対応するのもひとつ。
chmod ugo+rwx /xxx

起動

testparm
で設定をチェックできる。

sudo /etc/init.d/smbd start
sudo /etc/init.d/nmbd start

Win7では接続できてWin10で接続できないのでWin10で色々やってみた。

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi

を走らせてSMB1とした。

処理後、管理ツール、サービス、Workstation、依存関係から確認できる。
が、接続できない。空のパスワードがダメかと思ったがHOMEのためローカルセキュリティポリシーが使用できないため、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\limitblankpassworduse」
の設定値を0にしてみた。が、接続できない。

そういえばsambaとは関係なく以前も同じような症状があったと思い出し、資格情報マネージャ、Windows資格情報に、ユーザー名:guest、パスワード:空白で追加してみたら繋がった。

設定

comment
共有フォルダのコメント設定。
path
共有したいディレクトリのパス名を設定。
public
パスワードなしでのアクセスを認める。securityをshare以外に設定したときは意味を持たない。
guest ok
ゲストユーザでの接続を許可。
guest only
ゲストユーザのみ接続を許可。
guest account
ゲストとして接続するときのユーザ名を設定。
read only
共有フォルダへの書き込みを許可しない。
writable
共有フォルダに書き込めるように設定。
create mask
共有フォルダに作成されるファイルのパーミッションを3桁で指定。
directory mask
共有フォルダに作成されるディレクトリのパーミッションを3桁で指定。
force user
接続したときのユーザ名を無視して、指定したユーザとして操作。ファイルを作成したときは指定したユーザの所有になる。
browseable
共有フォルダの一覧に表示させる。noを指定すると隠し共有になる。
valid users
指定したユーザだけが利用できる。
invalid users
指定したユーザは利用できない。
write list
指定したユーザだけに書き込みを許可。
hosts allow
指定したホスト(IPアドレスも可)だけに利用を許可する。
hosts deny
指定したホスト(IPアドレスも可)からの利用を拒否する。

CentOSの場合(抜粋)

インストール
yum install samba

インストール確認
systemctl status smb nmb

自動起動
systemctl enable smb nmb

自動起動確認
systemctl is-enabled smb nmb

ファイアーウォール確認
firewall-cmd –list-all

ファイアーウォール追加
firewall-cmd –add-service=samba –permanent

ファイアーウォール再起動
firewall-cmd –reload

設定ファイル
/etc/samba/smb.conf