• ベストアンサー

UNIXユーザを、perlとブラウザを使って作成・削除・パスワード変更できる?

OSは、Fedora Core2です。 タイトルの通り、ブラウザを介してperl上からユーザーを追加したり、削除したり、パスワードの変更をしてみたいのですが、そのようなことは可能でしょうか? /etc/passwd、shadowを触ると言うことは、root権限が無いと書き換えれないですし、apacheで稼働しているwwwサービスで、perlを使って、それを書き換えることができるかどうかが疑問に思っています。 商用サービスに頼らざるを得ないのでしょうか?もちろんフリーで紹介しているサイトがあればいいのでしょうが、ご存じでしたら、サイトをご紹介下さい。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Leonhard
  • ベストアンサー率100% (1/1)
回答No.3

>webminは使わず、あくまでperlを使ったブラウザベースで管理が行えるようにしたいです。 webminはすべてperl5で記述されています。

参考URL:
http://jp.webmin.com/modules/newbb/
apricot777
質問者

お礼

perl5だったんですね。メールアカウントの為にunixユーザを追加するためのものだったのですが、mysqlを利用した仮想ユーザと、webインターフェースで運用することにしました。ありがとうございました。

その他の回答 (2)

  • umota
  • ベストアンサー率46% (150/324)
回答No.2

> OSは、Fedora Core2です。 UNIX ユーザ ?、 他のホスト(UNIX マシン)のユーザ追加ですか? 自サーバの Linux ユーザを追加するなら 危険を承知のうえで sudo で root 権限の実行が可能です。

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

webminを使う

参考URL:
http://jp.webmin.com/modules/newbb/
apricot777
質問者

補足

タイトルの通り、webminは使わず、あくまでperlを使ったブラウザベースで管理が行えるようにしたいです。

関連するQ&A

  • PerlでLinuxのユーザー認証・管理プログラム

    ブラウザでLinuxのユーザー名とパスワードと入力して、 ユーザー認証してログイン後、Linuxユーザーの パスワードを自分で変更できるプログラムが作りたいのです。 /etc/passwdにパスワードが直接記録されていれば簡単なのでしょうが、 シャドウパスワードなので苦労しています。LinuxはFedora Core3です。 まず、/etc/shadowに記録されているような、 $1$ではじまる暗号化されたシャドウパスワードをPerlで作るには どのようにしたらいいのでしょうか。 pwconvのソースをみたらどんなアルゴリズムかわかると思い、 shadow-utilのSRPMをインストールしてみたりしましたがわかりませんでした。PHPのメーリングリストに $salt = substr(md5(microtime()), 0, 9); return crypt($password, "$1$" . $salt); このようなコードがあったのですが、これでは$saltが毎回 代わってしまい、よくある $salt=substr(暗号化されたパスワード,0,2); if(crypt($pass,$salt) ne 暗号化されたパスワード){ &err("パスワードが違います"); } のような認証ができないのではないかと思いました。 Linuxではどのようなアルゴリズムでシャドウバスワード を作り、パスワードの認証をしているのでしょうか。 つまり、簡単にいうとPerlでシャドウパスワードを使った Linuxユーザーのパスワード認証と パスワード変更ができないか、ということなのです。 また、Perlでシャドウパスワードなど作らなくても system()などを使ってLinuxのコマンドを使えば 各ユーザーの認証やパスワードの変更がブラウザでできるという場合は、 教えていただけないでしょうか。 どうかご教示ください。よろしくお願いします。

  • /etc/passwd,shadowの役割

    http://www.linux-beginner.com/linux_other6.html のリンクで/etc/passwdと/etc/shadowがなぜ分かれたのか理解しましたが、 実際sshでログインする時って/etc/passwdしか使ってないように見えます。 /etc/shadowはいつ使われますでしょうか。 僕が検証した結果です。 /etc/nsswith.conf shadowを空欄 -> ssh root@xxx -> 可能 /etc/nsswith.conf shadowをfiles -> ssh root@xxx -> 可能 /etc/nsswith.conf shadowをfiles ldap -> ssh ldapuser@xxx -> 可能 /etc/nsswith.conf paawdを空欄 -> ssh root@xxx -> 不可能 /etc/nsswith.conf paawdをfiles -> ssh ldapuser@xxx -> 不可能 /etc/shadowはログインとは関係なく他の用途で使われてるのでしょうか。

  • 管理者ユーザを作ったつもりなのですが

    管理者グループに、新規testユーザを作成しました。 そのtestユーザでshadowファイルを確認しようとしたところ 権限がないと表示されました。 その理由が分からないのです。 [root@host ~]#useradd -g root test [root@host ~]#su test [test@host root]$ cat /etc/shadow cat: /etc/shadow: 許可がありません [test@host root]$ ls -l /etc/shadow ---------- 1 root root 734 1月 19 17:36 2013 /etc/shadow rootグループにtestユーザを割り当てたので、 testユーザでshadowファイルを見れると思っていのですが見れないのです。 理由がわからないのです。 /etc/shadowファイル所有者がrootだからでしょうか? rootグループにtestを参加させているだけではだめなのでしょうか? ご教授お願いします。

  • rootに他の名前をつける

    セキュリティの為、rootに他の名前をつけてroot権限はそのままにする。 また、他の一般ユーザーにroot権限をもたせることを したいのですが、可能でしょうか? 一般ユーザーにをrootグループに所属させても/etc/shadowファイルを見ることはできませんでした。

  • CENTOSでadduserで作成したユーザでログインできない

    *環境 CENTOS4 GNOME bash *症状 [root@myhost ~]# su - hoge su: パスワードが違います ・ルートユーザにもかかわらず一般ユーザにログインできない ・CENTOSのグラフィックログインで一般ユーザで入れない(rootのみ入れる) *ためしたこと root でGUIログインののち、 ユーザ追加 #adduser hoge # id hoge uid=508(hoge) gid=508(hoge) 所属グループ=508(hoge) パスワード設定 # passwd hoge Changing password for user hoge. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. shadow確認 # cat /etc/shadow | grep hoge hoge:$1$XkexNO3i$HRO.MkHbbZPn2sImrUJ9O/:13650:0:99999:7::: passwd確認 # cat /etc/passwd | grep hoge hoge:x:508:508::/home/hoge:/bin/bash homeディレクトリ確認 # ls -la /home/ | grep hoge drwx------ 3 hoge hoge 4096 5月 18 01:12 hoge 上記設定のあと、 # su hoge su: パスワードが違います となってしまいます。 初歩的な質問ですが困り果てております よろしくおねがいします。 ちなみにnologinは作成されていません。 # ls /etc/nologin ls: /etc/nologin: そのようなファイルやディレクトリはありません

  • LinuxOSのユーザ・パスワードを元にPHPで認証を行うには?

    LinuxOSのユーザ・パスワードを元にPHPで認証を行うには? 曖昧なタイトルで申し訳ありません. 環境は以下の通りです. CentOS5.4 Apache 2.2 PHP 5 MySQL5 現在,LinuxOSに存在するユーザ毎にウェブベースのコントロールパネルを設けたいため,ユーザ認証を掛けたいと思っているのですが,どのような方法で認証を実装すれば,LinuxOSで使用されている/etc/passwdと/etc/shadowを元にした認証が可能なのか分からず,質問させていただきました. 流れとしては以下の通りです. ユーザ名・パスワードを入力 → ユーザが存在しなかったりパスワードが違えば認証拒否 ↓ Linuxにユーザが存在していて,且つシステムパスワードと一致すれば承認. この認証はPAM認証(?)で可能でしょうか? また,そうであれば,PHPからPAM認証を行うには,どのような環境整備が必要でしょうか? 参考サイトでもかまいませんので,ご教授いただけると幸いです. よろしくお願いします.

    • ベストアンサー
    • PHP
  • ブラウザからPerlのプログラムを実行したい。

    インターネット経由で、テレビの番組表をダウンロードし、 「出演者」、「ゲスト」、「サラウンド放送」、「タイトル」 などを指定してマッチする番組をピックアップするPerlのプログラムを作成したのですが、プログラムに渡す引数やオプションが多すぎて、非常に使いづらいので、インターフェースを改善したいと考えました。 よくあるショッピングサイトのような感じで、ブラウザを(オプションや引数などの)入力インターフェースとして利用したいと考えたのですが、「Apache」でそのようなことが可能でしょうか? また、そのような利用法は一般的でしょうか?

    • ベストアンサー
    • Perl
  • Linuxでユーザ権限の確認コマンド

    初歩的な質問です。 宜しくお願いします。 vipwコマンドで、 /etc/passwdのファイル編集画面を起動しました。 ユーザ一覧が表示されているのですが、 どのユーザにroot権限が割り振られているのか確認する術はございますでしょうか。

  • suアカウント

    android2.2端末でadb shell中からsuコマンドを実行すると  su: unknown id: root と表示されます。 rootアカウントがないわけは無いと思い、/etc/passwdを見ようと思いましたがファイル自体が存在しません。 タスクマネージャ上では「スーパーユーザーv3.0.7)」が動作している状況です。 root権限が必要なTitanium Backupを起動すると「root権限を取得できませんでした」と出ます。 (root権限を与えていいかのダイアログがでない) rootという名称でないアカウントがrootなのでしょうか? 何か確認方法があったら教えて下さい。

  • /homeディレクトリなどのユーザ情報関連ファイルのコピーについて

    お世話になります。 現在、Aというサーバー(Linux)が稼動しているとします。 新たにBというサーバー(Linux)を作成し、 Aサーバーのユーザ情報関連(/homeディレクトリや/etc/passwdなど)を、 Bサーバーにも同じように設定したいんですが、 一番、手軽な方法は何でしょうか? 個人的には、rsyncでAサーバーの/homeディレクトリ以下をBサーバーにコピーすればいいのかな?と思っているのですが、いかがでしょうか? また、ユーザ情報をコピーする際、 /homeディレクトリ、/etc/passwd、/etc/group、/etc/shadow をコピーすればよろしいのでしょうか? その他、必要なファイル・ディレクトリがあれば 教えてください。 よろしくおねがいします。