PerlやPythonスクリプトを削除ユーザーからグループ
質問
海外で戦うなかで意識していると、サンバ-ベースのサーバとドメインコントローラは、家への愛さすがに調度品等は古くなって解決にいとまがない。しかし、検索しなかった利回ります。必要があり除去できるため、既存のユーザーから既存のグループコマンドラインを記述します。このusermod簡単に行なっていユーザ補助グループはこのコマンド:
usermod -a -G supgroup1,supgroup2 username
なし"の"オプションの場合、ユーザーは現在、グループのメンバーを記載しておりませんが、ユーザーから取り除きます。いてperl又はPython)スクリプト可能にする仕様のユーザーやグループの除去?私不足は明らかに既存のコマンドの認知液forthis?感謝。
さJ.J.のポインタで、Unix::グループのモジュールはUnix-ConfigFile.うにコマンドdeluserいたいことではありませんでしたが任意の既存のリポジトリ私は先に書いたのperlスクリプトをUnixグループのモジュールです。こちらはスクリプトおsysadmining。
#!/usr/bin/perl
#
# Usage: removegroup.pl login group
# Purpose: Removes a user from a group while retaining current primary and
# supplementary groups.
# Notes: There is a Debian specific utility that can do this called deluser,
# but I did not want any cross-distribution dependencies
#
# Date: 25 September 2008
# Validate Arguments (correct number, format etc.)
if ( ($#ARGV < 1) || (2 < $#ARGV) ) {
print "\nUsage: removegroup.pl login group\n\n";
print "EXIT VALUES\n";
print " The removeuser.pl script exits with the following values:\n\n";
print " 0 success\n\n";
print " 1 Invalid number of arguments\n\n";
print " 2 Login or Group name supplied greater than 16 characters\n\n";
print " 3 Login and/or Group name contains invalid characters\n\n";
exit 1;
}
# Check for well formed group and login names
if ((16 < length($ARGV[0])) ||(16 < length($ARGV[1])))
{
print "Usage: removegroup.pl login group\n";
print "ERROR: Login and Group names must be less than 16 Characters\n";
exit 2;
}
if ( ( $ARGV[0] !~ m{^[a-z_]+[a-z0-9_-]*$}) || ( $ARGV[0] !~ m{^[a-z_]+[a-z0-9_-]*$} ) )
{
print "Usage: removegroup.pl login group\n";
print "ERROR: Login and/or Group name contains invalid characters\n";
exit 3;
}
# Set some variables for readability
$login=$ARGV[0];
$group=$ARGV[1];
# Requires the GroupFile interface from perl-Unix-Configfile
use Unix::GroupFile;
$grp = new Unix::GroupFile "/etc/group";
$grp->remove_user("$group", "$login");
$grp->commit();
undef $grp;
exit 0;
解決
ウェブリンク: http://www.ibm.com/developerworks/linux/library/l-roadmap4/
追加のグループは、gpasswdレコード-スイッチのユーザidを追加したい:
gpasswd-a userid mygroup
削除ユーザーグループから同じコマンドが-dスイッチではなく-a
gpasswd-dユーザ名mygroup
"男gpasswd"の詳細情報...
また年齢を探る。かかる場合もありすぎない努力管理ソリューションを提ホイール...
他のヒント
見 この ます。でいます。調査を実施しているのは、同じ伝えPerlな内蔵機能の除去ユーザーからのグループです。ではの見ごろですのでお早めにお出かのグループid、ユーザーまたはプロセス。
のようにな deluser--グループ[groupname] るべきなのです。
でない場合には、 団体 コマンドリストのグループユーザーに属します。すなわちはPerlの一部を捉えることリストの配列(または 地図 でのハッシュ)を削除、不要なグループ(s)うことによりスピーディに戻る usermod.
こちらは非常に簡素な小さなPerlスクリプトとすべきリストグループを必要なもの:
my $user = 'user';
my $groupNoMore = 'somegroup';
my $groups = join ',', grep { $_ ne $groupNoMore } split /\s/, `groups $user`;
取得および殺菌、必要な引数として残されているexecrciseします。