Run a loop that will search for a file to thousand machine and know who owns the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Run a loop that will search for a file to thousand machine and know who owns the file
# 1  
Old 05-22-2019
Run a loop that will search for a file to thousand machine and know who owns the file

Run a loop that will search for a file to thousand machine and know who owns the file

Code:
[user@adm:~]$ for i in abc{01..02}
> do
> echo -n $i
> ssh $i "sudo find / -name .ssh -exec ls -l {} \;|grep id"
> done
abc01-rw-------. 1 root root 1675 Nov 10  2018 id_rsa
abc01-rw-------. 1 root root 1675 Nov 14  2018 id_rsa
abc01-rw-------. 1 root root 1675 Nov 20  2018 id_rsa
abc02-rw-------. 1 root root 1675 Nov 10  2018 id_rsa
abc02-rw-------. 1 root root 1675 Nov 11  2018 id_rsa

I was hoping for an output like this
user1
abc01-rw-------. 1 root root 1675 Nov 10  2018 id_rsa
user2
abc01-rw-------. 1 root root 1675 Nov 14  2018 id_rsa
user3
abc01-rw-------. 1 root root 1675 Nov 20  2018 id_rsa

user1
abc02-rw-------. 1 root root 1675 Nov 10  2018 id_rsa
user2
abc02-rw-------. 1 root root 1675 Nov 11  2018 id_rsa

[user@adm:~]$

# 2  
Old 05-22-2019
Without knowing what operating system(s) those thousand machines are running and what the naming conventions on each of those thousand machines is for user's home directories, there isn't much chance that we can help you with a request like this. Knowing what shell you'll be using on the machine where you are running this script and on each of the thousand machines you'll be querying could also make a bg difference.

And, of course, this assumes that the directory named .ssh in each user's home directory is owned by that user (and not by root). One might also want to know if any user names on those thousand machines contains the string id.
# 3  
Old 05-24-2019
names can be anyone. rhel is the OS.
# 4  
Old 05-24-2019
In your sample in post #1 the file owner is root.
Perhaps you want to display the pathname?
Code:
for host in ...
do
  printf "%s \n" "$host"
  ssh -x "$host" 'sudo find / -maxdepth 6 -type f -path "*/.ssh/*id*" -exec ls {} \;'
done

Notes:
printf is better than echo -n.
Better limit the search depth, otherwise it can run for hours.
# 5  
Old 05-26-2019
You could also try:

Code:
for host in ....
do
  printf "\nHost: %s\n" "$host"
ssh "$host" 2>/dev/null <<'EOF'
   ls -l $(awk -F: '{ print $6"/.ssh/id*" }' /etc/passwd) 2> /dev/null
EOF
done

# 6  
Old 05-29-2019
It did not give me the owner.

comp2
/root/.ssh/id_rsa

comp1
/root/.ssh/id_rsa
# 7  
Old 05-29-2019
Who, if not "root", could be the owner?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search file in the whole machine

friends I need to find a file as I can do this is on AIX I find the function find (2 Replies)
Discussion started by: tricampeon81
2 Replies

2. Shell Programming and Scripting

Get vaule and from file and need to run in loop

Hi All, I have a command which provide this output symaccess -sid 624 show PG_E36_PG6P -type port |grep FA FA-5G:1 FA-6G:0 FA-11G:0 FA-12G:1 I need to use the value in loop like this (5 Replies)
Discussion started by: ranjancom2000
5 Replies

3. Shell Programming and Scripting

Bash loop to search file

In the bash when the user inputs an id to search for the bash currently closes, and if a match is found outputs a new file (match.txt). Is it possible to have not close the bash but rather, on the screen "searching for match" and if a match is found "match found in line.." is displayed... (3 Replies)
Discussion started by: cmccabe
3 Replies

4. Shell Programming and Scripting

Run script to export the data to ixf file in loop

Hi, I am trying to export the data to an .ixf file. I have read the table names from a .dat file and those table name should be passed to the select * from schema.TABLENAME query . I am trying the below loop while read TABLE; do db2 EXPORT TO ~/data_export/$TABLE.ixf OF IXF MESSAGES... (5 Replies)
Discussion started by: vikyalex4
5 Replies

5. Shell Programming and Scripting

Need help to run query in loop for all acct nbr in a file..

I have a txt file with contents of acct nbr's like: 22222222222 33333333333 33445566778 I need to write a script which takes each acct nbr in the file and run the query like: select seq_nbr from event where acct_nbr='22222222222' and the query's output should be passed to a... (2 Replies)
Discussion started by: Rajesh Putnala
2 Replies

6. Shell Programming and Scripting

Need help to run query in loop for all acct nbr in a file..

I have a txt file with contents of acct nbr's like: 22222222222 33333333333 33445566778 I need to write a script which takes each acct nbr in the file and run the query like: select seq_nbr from event where acct_nbr='22222222222' and the query's output should be passed to a... (0 Replies)
Discussion started by: Rajesh Putnala
0 Replies

7. Shell Programming and Scripting

File 1 Column 1 value search in File 2 records, then loop?

Summary: I planned on using Awk to grab a value from File 1 and search all records/fields in file 2. If there is a match in File 2, print the first column value of the record of the match of File2. Continue this search until the end of file 2. Once at the end of file 2, grab the next value in... (4 Replies)
Discussion started by: Incog
4 Replies

8. Shell Programming and Scripting

Search two file types within a for loop

I need to search for a csv and a dat file within a for loop then output them to a log table. I can do it individually but I want them together. See below code: check csv count=0 for file in $(ls *.csv) ; do count=`expr $count + 1` ... (4 Replies)
Discussion started by: Pablo_beezo
4 Replies

9. Shell Programming and Scripting

How to run a loop for assigning strings which are present in a file to an array

Hi Forum, I am struggling with the for loop in shell script. Let me explain what is needed in the script. I have a file which will conatin some strings like file1 place1 place2 place3 checkpoint some other text some more text Now what my requirement is the words ... (2 Replies)
Discussion started by: siri_14
2 Replies

10. Shell Programming and Scripting

how to search a keyword within a file using a for loop

hi guys i have a problem here, im trying to stablish a relationship between a text file and an input user for example the script is going to prompt the user for some football team and what the script is going to do is return the colums in which that input is located so far this is what i have ... (6 Replies)
Discussion started by: lucho_1
6 Replies
Login or Register to Ask a Question