質問: 実行中の C プログラムでユーザーのホーム ディレクトリを取得するにはどうすればよいですか? Linuxでは?コードは Unix にも適用できますか?さらに、プログラムが root ユーザーによって実行される場合、/root ディレクトリにファイルやフォルダーを作成することは許可されますか?
回答:
ユーザーのホーム ディレクトリに移動するには、次の手順に従います。
サンプル コード スニペットは次のとおりです。
<code class="cpp">#include <unistd.h> #include <sys/types.h> #include <pwd.h> struct passwd *pw = getpwuid(getuid()); const char *homedir = pw->pw_dir;</code>
注: マルチスレッド アプリケーションの場合、 getpwuid_r を利用することをお勧めします。
/root ディレクトリについて:
はい、プログラムが実行されている場合は、/root ディレクトリにファイルやフォルダを作成することは通常許容されます。 root ユーザーとして。ただし、注意を払い、そうすることによる潜在的なセキュリティへの影響を考慮することが重要です。
以上がLinux で C を使用してユーザーのホーム ディレクトリを取得する方法と、ルート ユーザー アクセスに関する潜在的なセキュリティ上の考慮事項の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。