If Linux was popular would there be more viruses

I have heard the comment many times that if Linux was as popular as Windows it would have just as many viruses. While I do agree it would have more I do not agree it would be to the same extent. Currently windows has approximately 60,000 viruses compared to Linux having around 40. I have heard a few estimates so I do not know how accurate those numbers are but the scale is tipped that far. So do these numbers reflect the fact that Linux is not as popular as windows. I don't think so and heres why.

Windows has always been the user friendly operating system. Because of this user friendliness security concerns have been ignored. One thing right off the bat you notice between a windows and Linux system is in Linux the root account is downright voodoo to use while by default Windows makes its users administrators. Many people not familiar to Linux don't know the difference but theres a huge one. Even the limited windows accounts have access to modify important system files. The best way to explain this is to explain the way a Linux system works compared to Windows. Since MAC OSX is a BSD based OS its very similar to Linux in regards to what I am about to share.

In windows a system has a drive that corresponds to a drive letter. For example c:\ is normally the drive that is used to store system and user files. If another hard drive is added it normally gets assigned another drive letter d:\ for example. In a windows system the most important operating system files are mostly located in c:\windows\ and user files are located in c:\documents and settings\{user profile}\ finally most programs are located in c:\program files\. On 64bit systems this has been modified to be two separate directories c:\program files\ for 64 bit software and c:\program files {x86}\ for older 32 bit programs. This sounds organized but its not because many files are mixed up and in different places on many windows systems. Also administrators and limited users both have access to modifying files in all of these directories, while limited accounts don't have full access a system can still be destroyed by a limited account. Also on a windows system executable files are mixed up with user settings, registry hives as well as user data.

Now a Linux system is a much different animal and many new users to Linux are stumped by this when they first start because of how accustomed they are to Windows. I know I was completely confused by the Linux file system when I first started using it until I understood how it worked and why.

The Linux file system starts at / or {root} No drive letters, just /. In the root directory there are several directories that have different reasons as well as different rights management's. These are bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/ Sound confusing yet, well don't worry its not that bad. Each directory has a specific purpose and this is one of the big reasons Linux is a more secure environment.


/sbin/ contains many of the critical operating system files as well as commands that can only be used by the root or administrator account.


/bin/ contains commands that can be used by a limited user account.


/boot/ this is where the Linux kernel is located as well as backups on the hard drives boot sector.


the /dev/ directory contains files that correspond with devices on your computer. I don't want to get to involved with how Linux works but basically the Linux operating system has nothing but files and directories so if you want to make a device work the operating system must write to its device file, this is where those files are stored.


The /etc/ directory is where the systems configuration files are stored.


the /home/ directory is where each user profile is stored. An example of this would be /home/{user profile}/ This directory would contain each users specific configuration files as well as data.


The /lib/ directory is where all the shared resources or libraries are stored.


The /lost+found/ directory stores partial files that are recovered after a system failure. This can include a power failure.


The /mnt/ directory is a location for mounting file systems. When you plug a USB drive in to a Linux system it will normally auto mount the file system in this directory. Many new distributions have a directory called /media/ that takes the place of the /mnt/ directory. They basically have the same purpose.


The /opt/ directory is the locating that many programs not being part of the original distribution are stored.


The /proc/ directory isn't really a directory as much as its a dynamic file system that is used to keep track of system state and other things.


The /root/ directory is where the user files and configuration files for the root user are stored.


The /tmp/ directory is a temporary directory.


The /usr/ directory is where all the programs for the system are stored.


Finally the /var/ directory stores mail printer spools and the system logs.

Now as you can see the Linux file system is a lot more organized Even better each directory has specific permissions. while the /usr/ directory can be read by a limited user it cannot be changed. Each programs configuration is stored in the users specific /home/{user profile}/ directory. So when a program is executed it cannot even write to its own directory but must use a temporary file system or directory to write to.

No how does this make Linux more secure then Windows or the better question if Linux had as many users as Windows would it have just as big of a virus problem. The quick answer is no.

Now for the long answer on the next page.

On a Linux system when a program is downloaded from the Internet it is not automatically executable also it cannot be installed on the system without root or administrators permissions. So how does this make it safer? On windows files that are executable can be ran by any user and from any location. While there are some restrictions and modern versions of windows are getting better at this a limited user can still install a program. On a Linux system only the root account can install software to the system. Now that does not mean that the user cant execute a file its just that program cannot harm the core operating system.

So if Linux was as popular as Windows would it have the same virus problem. No it would not. The reason is Linux is a very hostel environment for a virus to be able to replicate. Now while there would be an increase in viruses that would effect Linux they would never get out of hand like they do on Windows. Most viruses would be stopped very quickly. If you don't believe me just look at some of the user and security enhancements in Windows 7. I have been very pleased by the steeps Microsoft is taking to make Windows more secure but honestly its the same stuff Linux has been doing for decades. The only problem is Microsoft is trying to make it to user friendly and that in turn effects security and creates a breading ground for viruses.

Also another thing that Linux has over Windows is Windows is created by Microsoft, a single company so their operating system in nature has no diversity. Linux on the other hand has hundreds of distributions created by hundreds of different companies. All containing diversity from one another. If a virus was to affect one distribution it would not affect all. Just like in the animal kingdom diversity protects species from viruses wiping out an entire species the Linux operating system has the same diversity. Also if a virus was able to affect a specific distribution by its open source nature the fix can be created much more efficiently many times before an exploit is able to be used by a virus. This lowers the chance of many if not all zero day viruses.

Linux was never intended to be a desktop operating system. However, it does a great job of being one. As Android has shown us, malware is not unheard of on Linux. Where we go from here depends on how much to its core Linux stays. If it continues to get easier then it may be possible that some day you will see the same kinds of infections that you see in Windows today. I guess we will just have to wait and see.


Add comment

Comments do not require an account. Anyone is welcome and encouraged to leave a comment.

However, If you are a spammer all comments require admin approval so your wasting your time and mine.
No one will ever see it. Please stop posting spam.


Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.