スポンサーリンク

ユーザ情報を取得しようと考えるとき、c言語だとまず思い浮かべるのが getpwent(3)とかだ。perlでも同様にgetpwentを使えばいい。

全ユーザのエントリをダンプするサンプル。

use strict;
use warnings;
use User::grent;

while (my @ent = getpwent) {
	my ($name, $password, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = @ent;
	printf "%s,%s,%s,%s,%s,%s,%s,%s,%s\n",
		$name, $password, $uid, $gid, $quota, $comment, $gcos, $dir, $shell;
}

$USERのエントリを取得するサンプル。

use strict;
use warnings;
use Env qw(USER);

my $username = $USER;
my @ent = getpwnam ($username);
if (@ent == 0) {
	die "can not get getpwnam[$username]\n";
}
my ($name, $password, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = @ent;
printf "%s,%s,%s,%s,%s,%s,%s,%s,%s\n", $name, $password, $uid, $gid, $quota, $comment, $gcos, $dir, $shell;

getpwentが返す値は以下の通り。

1 ユーザ名
2 ユーザのパスワード
3 ユーザID
4 グループID
5 quota
6 コメント
7 本名
8 ホームディレクトリ
9 シェルプログラム

参考

perldoc -f getpwent


スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー