Sudo
を指定してコマンドを実行するたびに、.Sudo_as_admin_successful
というファイルがホームディレクトリに作成されます。私が知る限り、これは起動時にbashが出力するこのメッセージを無効にするという唯一の目的のために存在します。
To run a command as administrator (user "root"), use "Sudo <command>".
See "man Sudo_root" for details.
/etc/bash.bashrc
の関連するセクションをコメントアウトすることでそのメッセージを停止することは可能ですが、Sudo
は依然としてホームディレクトリに迷惑なファイルを作成します。
このWebページ は、admin
グループから自分自身を削除することで作成中のファイルを停止できることを示唆していますが、私はそのようなグループにはいません– id
は、 josh
、adm
、cdrom
、Sudo
、dip
、plugdev
、lpadmin
およびsambashare
およびadmin
Sudo
は/etc/group
にありません。
このファイルの作成を停止する方法はありますか?
これは この質問 の複製ではないと思います。これは、_ [によって作成されているファイルを停止できるのではなく、bashによって印刷された通知を消すことができるかどうかを尋ねていたSOME_VARIABLE] _。
plugins/sudoers/sudoers.c
ソースコードファイルの次のセクションに基づくと、Sudo
を再コンパイルせずにUSE_ADMIN_FLAG
プリプロセッサマクロを未定義にすることはできないようです。
また、admin
andSudo
の両方のグループメンバーシップをチェックしていることにも注意してください。変更ログをチェックしていませんが、Sudo
が特権ユーザーのデフォルトグループになったときに後者のチェックが追加されたと思われます。おそらく、互換性のためにファイル名は引き続きadmin
を参照します。
1229 #ifdef USE_ADMIN_FLAG
1230 static int
1231 create_admin_success_flag(void)
1232 {
1233 struct stat statbuf;
1234 char flagfile[PATH_MAX];
1235 int len, fd = -1;
1236 debug_decl(create_admin_success_flag, SUDOERS_DEBUG_PLUGIN)
1237
1238 /* Check whether the user is in the admin group. */
1239 if (!user_in_group(Sudo_user.pw, "admin") &&
1240 !user_in_group(Sudo_user.pw, "Sudo"))
1241 debug_return_int(true);
1242
1243 /* Build path to flag file. */
1244 len = snprintf(flagfile, sizeof(flagfile), "%s/.Sudo_as_admin_successful",
1245 user_dir);
1246 if (len <= 0 || (size_t)len >= sizeof(flagfile))
1247 debug_return_int(false);
1248
1249 /* Create admin flag file if it doesn't already exist. */
1250 if (set_perms(PERM_USER)) {
1251 if (stat(flagfile, &statbuf) != 0) {
1252 fd = open(flagfile, O_CREAT|O_WRONLY|O_EXCL, 0644);
1253 if (fd != -1)
1254 close(fd);
1255 }
1256 if (!restore_perms())
1257 debug_return_int(-1);
1258 }
1259 debug_return_int(fd != -1);
1260 }
1261 #else /* !USE_ADMIN_FLAG */
1262 static int
1263 create_admin_success_flag(void)
1264 {
1265 /* STUB */
1266 return true;
1267 }
1268 #endif /* USE_ADMIN_FLAG */