Linux / UNIX List User Dot-Files

last updated in Categories , , , , , , , , ,

How do I list only user dot-files from $HOME under UNIX and Linux operating systems? How do I ensure that user Dot-Files are not World-writable?

Use the ls command and shell GLOB characters to list only user Dot-Files, enter:

ls -ld /root/.[A-Za-z0-9]*
ls -ld $HOME/.[A-Za-z0-9]*

Sample Outputs:

-rw-r--r--  2 root  wheel  1455 Jun 12 18:47 /root/.cshrc
-rw-------  1 root  wheel  2650 Jul 28 06:26 /root/.history
-rw-r--r--  1 root  wheel   299 Jun 12 18:40 /root/.login
-rw-------  1 root  wheel    57 Jun 12 22:07 /root/.mysql_history
-rw-r--r--  2 root  wheel   260 Jun 12 18:40 /root/.profile

Run chmod command on misconfigured file to remove group- or world-writable permissions, enter:

# chmod go-w $HOME/.dot-file-name

Owners can run the same command to fix permission issue.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

7 comment

    1. ls -ld \.*
      lists ‘.’ and ‘..’ as well. The point here is avoid including these two.

      The find command works.

  1. find ~ -name \.\* -exec chmod go-w {} \;
    Since I don’t know any dot file or dot directory that contains less than 2 letters, what I do is :
    chmod -R go-w ~/.??*
    But in a script, Alexei find’s syntax is smarter indeed.

    Still, have a question? Get help on our forum!