#author("2024-10-11T07:32:03+09:00","default:nobuoki","nobuoki") #author("2025-04-14T16:31:37+09:00","default:nobuoki","nobuoki") * 困ったこと [#aaae57eb] [[ゼロトラスト>https://www.ntt.com/business/lp/zero-trust.html]]とやらで会社のPC(Windows10)の自由度が低下しました - local admin 権限が無くなった -- レジストリを操作するアプリ、システム環境変数を変更するアプリはインストールできない -- symlink や junction が作れなくなった - ファイル書き込みは %userprofile% 以下のみ -- C:\ とか C:\Program Files あたりにアプリケーションを入れたりできない - 全ての通信は基本的にVPN経由になった(かつ、透過型プロキシを経由するっぽい) -- 53, 80, 443 /tcp 以外のダイレクトアクセスが禁じられた --- ssh(22/tcp), rdp(3389/tcp), proxy(8080, etc.) などなど、とにかく透過型プロキシに持ってかれる - curl/wget で https の証明書エラー(透過型プロキシでhttpsを終端している) ←よくあること(ゼロトラストとは関係ない) こんな状況でも出来ることはあります * 環境変数の編集ダイアログを開きたい [#da961292] 設定 > システム > 詳細情報 > システムの詳細設定 ←ここで管理者パスワードを求められて行く手を阻まれます なので直接ダイアログを表示しましょう。Win-R(ファイル名を指定して実行)で rundll32 sysdm.cpl,EditEnvironmentVariables あるいはコマンドプロンプトで setx 変数名 値 setx だと環境変数の削除が出来ないようです(ヌル値を設定できるけど、環境変数自体は残ってしまう) * Cygwin 使いたい [#pf458397] パラメータ付きでインストーラを起動(コマンドプロンプトで) setup-x86_64.exe --no-admin ** インストール後の設定 [#d555b95c] 社内プロキシの証明書をCygwinに導入 - 入手方法の例:[[会社のプロキシ:Zscaler環境下でAWS CLIやGitが繋がらない場合 #Git - Qiita>https://qiita.com/satoushina/items/56831655a141ec80917d]] #prism(bash){{{ cer=/path/to/ca.cer cp -v "$cer" /etc/pki/ca-trust/source/anchors/ bash -x /usr/bin/update-ca-trust -o /etc/pki/ca-trust/extracted # --no-admin の場合 }}} - 社内プロキシの証明書が手に入らない場合のワークアラウンド #prism(bash){{{ $ echo 'check_certificate = off' | tee ~/.wgetrc $ echo 'insecure' | tee ~/.curlrc $ git config --global http.sslVerify false $ pip3 config set global.trusted-host "pypi.org files.pythonhosted.org pypi.python.org" }}} ユーザー名を変える #prism(bash){{{ $ mkpasswd -c | sed -E 's/^.[^:]+/お好きなユーザ名/' | tee /etc/passwd # cygwinを再起動すると変わっている }}} ** 小ネタ [#h8318522] - [[mr/cygwinのsocatでsocks使いたい]] ** Permission denied [#m8f7bdde] こんなエラーが出たら *** その1:互換性のトラブルシューティングでどうにかする [#m5208101] #prism(bash){{{ $ teip --help bash: /usr/local/bin/teip: Permission denied }}} exeファイルをエクスプローラーで右クリック -> 互換性のトラブルシューティング(Y) -> ... -> 推奨設定を利用する で使えることがあります。 動作実績 - [[greymd/teip: Masking tape to help commands "do one thing well">https://github.com/greymd/teip]] - [[nkf Network Kanji Filter プロジェクト日本語トップページ - OSDN>https://ja.osdn.net/projects/nkf/]] -- [[ nkf-2.1.5.tar.gz のミラー>https://ftp.iij.ad.jp/pub/osdn.jp/nkf/70406/nkf-2.1.5.tar.gz]] -- 参考:[[OSDNのミラーコンテンツ 2023/11/19 · GitHub>https://gist.github.com/shujisado/2864e2475567fbbad8f8bacdb290d48a]] *** その2:scoopで代替コマンドを入れる [#x13f67ec] #prism(bash){{{ $ /usr/bin/grep -V bash: /usr/bin/grep: Permission denied }}} + scoop install grep する + PATH の優先順位を変える -- /cygdrive/c/Users/あなたのユーザーID/AppData/Local/scoop/shims をPATHの先頭に入れる ** cygwin から shellcheck.exe 使いたい [#jcab42d1] - shellcheck.exe にパスを通す - 対象ファイル名をWindowsのパスに変えてあげる bash: #prism(bash){{{ shellcheck(){ args=() for arg in "$@"; do args+=("$(cygpath -w -- "$arg")"); done command shellcheck "${args[@]}" } }}} vim コマンドモード: !shellcheck "$(cygpath -w "%")" * scoop 使いたい [#ccd0aeaf] powershellで #prism(powershell){{{ Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser cd $env:LocalAppData irm get.scoop.sh -outfile 'install.ps1' .\install.ps1 -ScoopDir "$env:LocalAppData\scoop" }}} ScoopDir は暗号化対象外のディレクトリを指定する - [[GitHub - ScoopInstaller/Install: 📥 Next-generation Scoop (un)installer>https://github.com/ScoopInstaller/Install#readme]] たまにこんなエラーも出たりするが、他のマシンからひっぺがして耐える - [[scoop update でnewフォルダが存在しないエラーの暫定解決方法 #Git - Qiita>https://qiita.com/maztake/items/f521067cf97afcdba09d]]