chfnコマンドで等号を使用する方法は?

chfnコマンドで等号を使用する方法は?

私は次のようにユーザーのumask値を変更するためにchfnを試しました。

sudo chfn -o umask=022 username

しかし、私にはこのようなエラーがあります。

chfn: Office: '=' is not allowed

また、以下のように = 記号をエスケープしようとしましたが失敗しました。

sudo chfn -o umask\=022 username
sudo chfn -o "umask=022 username"

このコマンドを使用して等号をどのように使用またはエスケープできますか?

ありがとう

ベストアンサー1

chfn/etc/passwd4番目のフィールド(またはそれに対応する項目)の情報を変更します。ほとんどのデータは表示目的でのみ使用され、「ユーザー名またはコメントフィールド」とも呼ばれます。passwd(5)マニュアルページ

Debianマニュアルページchfn(1)しかし、その一部は「会計情報」用と言われている。確かにpam_umask.soまた、それを読んで、これがあなたが望むものだと思います。マニュアルページには、等号を許可しないという内容も記載されています。

これらのフィールドにはコロンを含めないでください。とは別にその他フィールドにはコンマや等号を含めないでください。

-o, --other OTHER
ユーザーの他のGECOS情報を変更します。このフィールドは他のアプリケーションによって使用されるアカウント情報を保存するために使用され、スーパーユーザーのみを変更できます。

chfnあなたのCentOSは他の構文に従い、「その他」部分を変更する方法を提供していないようです。 Debian でテストした結果chfn -o 'umask=022' usernameは次のとおりです。

username:x:1000:1000:Full name,,,,umask=022:/home/username:/bin/bash

したがって、欠落している機能の回避策は、ファイルを手動で編集(使用)し、chfn説明フィールドの4番目のカンマの後にvipw追加することです。umask=022

おすすめ記事