As much as I'd like to help, not knowing how "an LDIF export from an LDAP directory" looks like stops me. Posting input and desired output samples will definitely help.
Sure, I can do that. Below is the current format of the LDIF output file. It can be modified in terms of the attributes but overall it's the same as the below.
Each object is separated by an empty line. The first line is the full DN of the object and each preceding line is in the form of "attribute = value". Here is an example of how two user objects would be represented. The LDIF only contains user objects.
As you can see, not every attribute is represented, for example, user2 has no 'employeenumber' and so the attribute is not listed.
I am trying to find a way to convert automatically into standard CSV format.
Code:
uid=user1,cn=users,dc=domain,dc=com
givenname=User
salesorg=2010
sn=One
telephonenumber=+15555555555
l=Melville
employeetype=E
mail=user1@domain.com
uid=user1
c=United States
postalcode=11747
cn=User One
preferredlanguage=en_US
employeenumber=01000527
st=NY
uid=user2,cn=users,dc=domain,dc=com
givenname=User
salesorg=2010
sn=Two
employeetype=R
mail=user2@domain.com
uid=user2
c=United States
preferredlanguage=en_US
cn=User Two
Moderator's Comments:
Please use code tags as required by forum rules!
Last edited by RudiC; 05-04-2016 at 10:27 AM..
Reason: Added code tags.
Hi There
I needed to write a Unix shell script which will pick up the data from a .CSV file and reformat it as per the requirement and write it to another .CSV file.
Currently I am in the proess of Data Import to "Remedy System" (A one kind of incident mangement Application) and this... (8 Replies)
HI guys,
I have created a script to read 1 column in a csv file and then place it in text file.
However, when i checked out the text file, it is not in a column format...
Example:
CSV file contains
name,age
aa,11
bb,22
cc,33
After using awk to get first column
TXT file... (1 Reply)
Hi all,
I have written a shell script to search a specified directory (e.g. /home/user) for a list of specific words (shown as ${TMPDIR}/wordlist below). The script works well enough, but I was wondering if there was a way to display the line number that the word is found on?
Thanks!
cat... (1 Reply)
Hi All,
I have created a Unix Shell script whch creates a *.csv file and export it to Excel.
The problem i am facing is that Users wants one of the AMOUNT field in comma separted values. Example :
if the Amount has the value as 3000000 User wants to be in 3,000,000 format.
This Amount format... (2 Replies)
Hi Unix Gurus,
I tried to convert the attached xhtml table content into csv file using unix shell script (lynx -dump filename) and got the below results:
Title ID Owner Priority Estimate Project Change Date Changed By
Complexity Create Date Created By Detail Estimate Total De tail... (6 Replies)
Hi There
I need a script which will pick up the data from a .CSV file and reformat it as per the requirement and write it to another .CSV file.
I am using an application that will only take data in a particular format and need something that will convert without manual intervention.
The... (4 Replies)
User Aia had created this below script to help translate LDIF files to CSV format, and it works very well (thanks again Aia if you are reading this)
Here is the original thread.
https://www.unix.com/shell-programming-and-scripting/265753-ldap-data-csv-format.html?referrerid=302170129
However... (2 Replies)
I am new to html and need to convert the attached csv file data to html format ; running into issues. please assist.
#!/bin/ksh
echo "<html>" ;
echo "<head><style> table {border-collapse: collapse;} table, td, th {border: 1px solid black;} </style></head>"
echo "<title> REPORT </title>"
echo... (0 Replies)
HI ,
I m looking for help here!!!
Can we filter the below log data into CSV format ?
timestamp INFO <text > - Some text Drive ..
Need a format of separate field such as
1 2 3 4 ... (2 Replies)
I m looking for help here!!!
Can we filter the below log data into CSV format ?
1 2 3 4 5 6 7 8
timestamp INFO <text > - Some text (1 Reply)
Discussion started by: MohSalNiz
1 Replies
LEARN ABOUT DEBIAN
linux::usermod
usermod(3pm) User Contributed Perl Documentation usermod(3pm)NAME
Linux::usermod - modify user and group accounts
SYNOPSIS
use Linux::usermod;
$user = Linux::usermod->new(username);
$grp = Linux::usermod->new(groupname, 1);
$user->get(gid); # equal to $user->get(3);
$user->get(uid); # equal to $user->get(2);
$grp->get(gid); # equal to $user->get(2);
$grp->get(users);# equal to $user->get(3);
#lock and unlock user account
$user->lock();
$user->unlock();
#get password(passwd file)
$user->get(ppassword);
#get encoded password(shadow file)
$user->get(password);
#set encoded password
$user->set(password);
$grp->set(password);
#set shell / group administrator
$user->set(shell);
$grp->set(ga);
#set group users
@users = qw(user1 user2);
$grp->set(users, "@users");
Linux::usermod->add(username);
#or
Linux::usermod->add(username, password, uid, gid, comment, home, shell);
#where the password goes in shadow file and gid becomes
#equal to uid unless specified and uid is becoming the
#first unreserved number after 1000 unless specified
#or
@users = qw(user1 user2 user3);
Linux::usermod->grpadd(groupname, gid, "@users")
#where the password goes in gshadow file and gid becomes
#equal to the second argument or the first unreserved number
#after 100
#delete user/group
Linux::usermod->del(username);
Linux::usermod->grpdel(groupname);
#all fields are returned from the class methods fields/gfields
print $user->get($_) for (Linux::usermod->fields);
print $grp->get($_) for (Linux::usermod->gfields);
#set working passwd and shadow files
#$Linux::usermod::file_passwd = "./my_passwd";
#$Linux::usermod::file_shadow = "./my_shadow";
#$Linux::usermod::file_group = "./my_group";
#$Linux::usermod::file_gshadow= "./my_gshadow";
DESCRIPTION
This module adds, removes and modify user and group accounts according to the passwd and shadow files syntax (like struct passwd from
pwd.h). It is not necessary those accounts to be system as long as $Linux::usermod::file_passwd, $Linux::usermod::file_shadow,
$Linux::usermod::file_group, $Linux::usermod::file_gshadow are not in "/etc" directory.
METHODS
new
Linux::usermod->new(username)
Linux::usermod->new(grpname, 1)
If group object second 'true' argument must be given
add (username, ...) Class method - add new user account; arguments are optional, except username; they may be (username, password,
uid, gid, comment, home, shell)
del (username) Class method - removes user account
tobsd converts user fields in shadow / master.passwd file to bsd style
get if used with user object returns one of the following fields:
'name' or 0 The user's name
'ppassword' or 1 The "passwd" file password
'uid' or 2 The user's id
'gid' or 3 The user's group id
'comment' or 4 The comment about the user (real username)
'home' or 5 The user's home directory
'shell' or 6 The user's shell
'sname' or 7 The user's name in shadow file
'password' or 8 The 13-character encoded password
'lastchg' or 9 The number of days since January 1, 1970 of the last password changed date
'min' or 10 The minimum number of days required between password changes
'max' or 11 The maximum number of days the password is valid
'warn' or 12 The number of days before expiring the password that the user is warned
'inactive' or 13 The number of days of inactivity allowed for the user
'expire' or 14 The number of days since January 1, 1970 that account is disabled
'flag' or 15 Currently not used
if used with group object returns one of the following fields:
'name' or 0 The group name
'ppassword' or 1 The group password
'gid' or 2 The group id number
'users' or 3 The group members (users)
'sname' or 4 The group name in gshadow file (the same as 'name')
'password' or 5 The encrypted group password
'ga' or 6 The group administrators
'gu' or 7 The group members (users) (the same as 'users')
argument can be either string or number
set (field)
set a field which must be string of characters:
@user_fields = Linux::usermod->fields; #user fields
@group_fields = Linux::usermod->gfields; #group fields
grpadd (groupname)
grpdel (groupname)
lock (username) Lock user account (puts '!' at the beginning of the encoded password)
unlock (username) Unlock user account (removes '!' from the beginning of the encoded password)
users Class method - return hash which keys are all users, taken from $file_passwd
grps Class method - return hash which keys are all groups, taken from $file_group
FILES
/etc/passwd /etc/shadow /etc/group /etc/gshadow
unless given your own passwd, shadow, group, gshadow files which must be created
TO DO
Groups and user accounts consistency checks
SEE ALSO getpwent(3), getpwnam(3), usermod(8), passwd(1), gpasswd(1)BUGS
None known. Report any to author.
AUTHOR
Vidul Petrov, vidul@abv.bg
(C) 2004 Vidul Petrov. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.8.8 2008-01-11 usermod(3pm)