Tag: find

  • Linux/UNIX – power of find

    [adsense id=”0514458240″ width=”468″ height=”60″]

    Recently I discovered that my files were either owned by the wrong user or that they did not have the correct permissions to do what was needed. I needed to consolidate all of these under one user and set all the files to the same permissions. The Linux/UNIX find command allowed me to first identify all those files as well as correct them.

    To identify the files in question i.e. those now owned by “me” OR (-o) not owned by “mygroup” group.

    
    $ find $HOME \( -not -owner me -o -not -group mygroup \) -ls
    
    

    To identify the files that did not have a specific permission

    
    $ find $HOME -not -perm 750 -ls
    
    

    We could have also tried to find all files that are not owned by me or mygroup and with permissions that do not permit me to view i.e. others = read (Octal 4)

    
    $ find $HOME \( -not -owner me -o -not -group mygroup \) -a -not -perm +004 -ls
    
    

    Once we have correctly verified that these are the correct files and could be changed we issue the following commands:

    
    $ find $HOME \( -not -owner me -o -not -group mygroup \) -exec chown my:mygroup {} \; -ls
    
    

    and the permissions

    
    $ find $HOME -not -perm 750 -exec chmod 750 {} \; -ls