ハードウェア本記事はQNAPにSSHで接続してユーザー管理をするために、私が試行錯誤したときの記録です。不明なところがたくさんあるので、もしよろしければアドバイスを頂けると幸いです。組み込みコマンドの表示まとめきっかけ今までQNAPのユーザー登録は、管理コンソールのGUIの「ユーザーのインポート/エクスポート」からcsvを投入して対応していた。ところが、この方法ではユーザーが削除出来ないユーザーをグループから除外できないという問題があるため、これらの操作は手動での対応となり、正直に言うとちゃんと削除しているか怪しい。今後もユーザーの部署移動や増減は発生するし、どんどん悪化して行く恐れがあるので解消しておきたい。QNAPはTelnetやSSHで接続して、コマンドで操作することができるらしいので試してみることにした。私がSSHを使用するのはこれが初めてなルーキーなので、本書の内容が必ずしも適切とは限らないことに留意すること。Update(1803)以降はOpenSSHクライアントの機能がデフォルトで導入状態されており、何も考えなくてもsshコマンドが使える。Update(1709)では、以下の手順を踏めばSSHクライアントが利用できるようになった。PCの場合は、自力でSSHをするソフトを入手してインストールする必要があるが、私には必要なかったので試していない。インストール方法はググればいくらでもでてくるので省略する。QNAPのコマンドはbusyboxが提供しているらしい?(よく分かってない)SSHでログイン※実際のサーバーのIP/ユーザー名とは異なります。PowerShellを起動してsshと入力したら解説が出てきた。local_tun[:remote_tun]]これを参考に、それっぽいのを打ち込んでみた。admin色々やってたら、こんなエラーが出た。'192.168.1.123(192.168.1.123)'の信頼性は確立できません。YK1g4mOvWauaiisXJlERwzdyUOExHJbZA1OnfVJA。'192.168.1.123'(RSA)を恒久的に追加しました。'192.168.1.123'これは私の手に負えそうにない。ログインでググって出てきた例を色々試すことにした。admin@192.168.1.123hogehogeコマンド一覧まず、どこから手を付けたら良いのやら。コマンドリファレンスみたいなものが公開されているのでは?と思ったが、上手く見つけられない。listとかhelp的なコマンドで一覧が出てくるのでは?と思ったが、そんな都合よくは出てこない。Linuxコマンドに広げて、コマンド一覧の取得方法を調べてみたが、QNAPで動くサンプルが見つけられなかった。コマンド一覧で検索していたら以下のサイトにコマンドのリストを発見した。http://qnap.web.fc2.com/04/0017.htmlこの中からuserとかgroupとか、それっぽい名前を探して適当に使ってみる。豆知識コマンド名だけを打ち込むと解説文が出てくるclsと入力するとコマンドのログがリセットされるあたりまえって言わないで!ユーザーを追加コマンドユーザーの追加はadduserを使うらしい。passwor成功例ただの追加ならこれで出来た。admin実際にユーザーが作成された。自動的にユーザー名と同じ名前のグループが作成され、グループに追加されていた。use説明欄に書き込むQNAPのユーザー管理画面には「説明」欄がある。他のOSでもあるように、好きな言葉を書ける欄だ。文章を追記すれば良いことがわかった。fieldとなっているが、見かけない言葉なので調べてみた。https://uc2.h2np.net/index.php/GECOS%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89というわけでGECOS情報とは、コメントフィールドのことらしい。グループを指定グループの指定をしない場合、自動的にユーザー名と同じグループが作成され登録状態となるが、-Gで明示的に指定することができるらしい。一部のLinuxでは-Nで自動作成を拒否できるようだが、QNAPは対応していなかった。それなのに、明示的にグループを指定する場合は、先にグループを用意しておかないとエラーが出てしまった。GroupEEEでも、よく見ると-Gの解説にはっきりと書いてあった。groupなんともチグハグな仕様である。後述するが複数のグループに同時に追加するような事はできなかった。ユーザーを削除ユーザーの削除はdeluserを使用するらしい。findなので、失敗したのかと思いきや正常に削除されたときのメッセージらしい。/etc/config/group失敗例ユーザーが存在しない時、以下のようになる。aaaまた、自動作成されたユーザー名と同一のグループは、ユーザー削除とともに削除された。グループを追加グループを作成するにはaddgroupを使う。単純に実行すると以下のようになる。失敗したとも言わない。#作成されたグループは、完全に空っぽの状態。いずれのユーザーも追加されていない。失敗例すでに存在するものを作ろうとすると、以下のようにエラーが出た。削除する時はdelgroupを使う。成功例こちらも成功したら何も返事はない。#失敗例グループが無い時は叱られる。GroupAAAグループ内にユーザーが存在する時、以下のようになる。'ccc'を持っています。)どうにかしてグループを空っぽにする必要があるようだ。作成済みのユーザーをグループに追加するには、適したコマンドが見つからない。CSVからのインポートの場合は、単純に同じユーザーとグループの組み合わせを複数行にして送ればよかったのだが、adduserコマンドは同じユーザーに二度使うとエラーとなるため追加できなかった。useadduserでグループを複数指定出来ないかと思ったが、最初の1つ目しか認識されなかった。Group2-Gを繰り返せばよいのかと思ったのだが、今後は最後の1つしか認識されなかった。Group2別のサイトを参考にコマンドをあたっていたらusermodが使える事が判明した。accounthttps://eng-entrance.com/linux-command-groupmodしかし、使い方がわからん。GroupAAAとか、それっぽいのを作ってみたが、GroupAAAは存在ません。いうエラーで進まなかった。一度登録したユーザーをグループから除外するには、適したコマンドが見つからない。調べているとgroupmodやmodgroupの事例が見つかったが、QNAPはどちらも使えなかった。したらusermodで出来るのかもしれないが、やはり使い方がわからない。参考までにaliasコマンドでエイリアスを一覧表示できた。usb_qa_status'組み込みコマンドの表示helpコマンドで組み込みコマンドを一覧表示できた。}まとめユーザーが削除出来ないについては、コマンドで削除できるようになった。ユーザーをグループから除外できないについては、グループの増減が自在にできないので難しそうだ。変更だけならユーザーを削除して登録し直せば良い。新たな問題が発生した。ユーザーを複数のグループに所属させることができない不用意にユーザーを、削除して追加するようなプログラムにしたら、手動で登録したグルーピングが消えてしまう。QNAPのお勉強はまだまだ続きそうです。Tumblr関連記事2019-10-31Realforceを買ってみた。普通のとゲーミングと高級キーボードの違いとはこんばんわ。本日はかの有名メーカーの高級...2019-10-21Outlookでメール受信者がローカルパスをクリックできるようにするマクロを作ってみた本ブログ初のOutlook用マクロのご紹介。Part3游ゴシック大嫌いな同志諸君!お久しぶりです。...www.excel-chunchun.com週1回の更新を目指して活動中です。ヶ月)私がExcelを使っていて気になったことを記事に書いていきます。VBAを使い初めて、もう10年ほど経ちましたが、楽しくて楽しくて毎日自宅でもVBA書いてます。自作PCとかサーバー立てたりするのも好きなのでPCとかサーバーのことも書くかもしれません。記事の元ネタは主にTwitterの方で呟いてますので、最速で情報を仕入れたい方は是非フォローしてください。part12019-11-12SpecialFoldersの引数にString型変数を指定すると意図した通りに動かない2019-11-03ワークシート用ユーザー定義関数は使い方を誤ると危険である2019-10-28VBAのコメントの書き方の試行錯誤2019-10-27VBAでの広域コメントアウトの代替案2019-10-26VBAで戻り値のある複数シートをコピーする関数を作ってみた2019-10-22Outlookでメール受信者がローカルパスをクリックできるようにUNCパス化するマクロを作ってみた2019-10-21Outlookでメール受信者がローカルパスをクリックできるようにするマクロを作ってみた2019-10-20VBAでWin32APIの64bit対応自動変換プログラムを作ってみた2019-10-06ワークシート用ユーザー定義関数を揮発性にする方法2019-10-04VBAによる安定したワークシート用ユーザー定義関数の作り方2019-10-02VBA関数のライブラリ名やモジュール名の省略を検知するアイディア2019-09-29EnumWindowsを使って別プロセスのExcelを取得してみた2019-09-24エクセルマクロで野生のマグロを駆逐するミニゲームを作ってみた2019-09-19VBAでIIF関数が全ての項を評価してしまうのは当然である2019-09-16VBAの裏技?コロンで好きな位置にブレークポイントを設置する2019-09-15VBAのStopとDebug.Assertステートメントの違い2019-09-13VBAのInStr関数の不思議な挙動について調べてみた2019-09-08VBAで文字列中の文字をカウントする関数を作ってみた2019-08-31VBAで環境に依存しないWindowsMediaPlayerの使い方もっと見る最新記事(ハードウェア)2019-10-31Realforceを買ってみた。TS-932X-2Gを購入しました。広告プライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。