[JM:03599] Re: GID まわりのサーバーエラーへの対処について(sg)

アーカイブの一覧に戻る
IIJIMA Hiromitsu delmo****@denno*****
2022年 5月 10日 (火) 12:00:44 JST


いいじまです。

> sg は newgrp へのシンボリックリンクになっているようですが、

はい。これは私も別の場所で確認しました。

> だからといって単純に同一コマンドと解するのは、一般には
> 拙速です。実際に shadow の該当ソースをぱらぱらと覗いて
> みましたが、呼び出しプログラム名が newgrp か sg かで
> ロジック切り替えを行っていますね。

はい。そういうロジックの有名な例としては gzip/gunzip/zcat などがありますね。
あとは、Linuxだとshの実体もbashだったりしますし。

> 私も別解を試してみました。
> sg linuxjm -c <command>
> とすることは、結局
> newgrp linuxjm && <command>
> とすることと同じであったわけです。

sgだとコマンドの実行後は元のグループに戻りますが、newgrpは一方通行のはずです。
  $ id
  $ sg linujm -c true
  $ id
  $ newgrp linuxjm && true
  $ id

なので、cronで実行するのであれば
> cron 実行コマンドに
> newgrp linuxjm && <command>
> と書いてもたぶん動くのでしょう。
で問題ないと思いますが(∵コマンドの終了後はroot権限の親プロセスに戻る)、一般論としてもし元に戻って処理を続ける必要がある場合は
  $ (newgrp linuxjm && <command> )
あるいは
  $ sh -c 'newgrp linuxjm && <command>'
といった処理をすることになるのかもしれません。

P.S.
メーラーの設定をいじってみました。
今回は何も操作しなくてもUTF-8で流れているはずです。
https://osdn.net/users/delmonta/pf/top/wiki/trap20220506
あとは他所への投稿で問題が起きないかだ…。

-- 
飯嶋 浩光/でるもんた・いいじま @ PC 
IIJIMA Hiromitsu, aka Delmonta
Email <delmo****@denno*****>



linuxjm-discuss メーリングリストの案内
アーカイブの一覧に戻る