- Linux Root Folders Explained
- Linux Root folders
- / – The Root
- /bin – Binaries
- /boot – Boot Files
- /dev – Device Nodes
- /etc – Configuration Files
- /home – Users’ Folder
- /lib – Libraries
- /lost+found – Recovered Files
- /media – Automatic mount point
- /mnt – Manual mount point
- /opt – Optional Software
- /proc – Kernel Files
- /root – Root Home
- /run – Early temp
- /sbin – System Binaries
- /srv – Service Data
- /tmp – Temporary Files
- /usr – User Binaries
- /var – Variable Files
- Conclusion
- Общие папки Linux
- Общие папки в Linux
- Linux directory structure: /home and /root folders
- A brief intro to /home directory in Linux/Unix
- OK, what are user home directories for?
- The properties of /home folder?
- Allow all users to create files in a directory, but only the owner can delete
- 2 Answers 2
Linux Root Folders Explained
In this post, you will finally get the Linux root folders explained. You will learn how these folders are used by your Linux system and how you can use them.
When you open your file manager, you are usually located in your home directory. But if you go two levels up, you will see this set of directories:
This post exactly about all these directories. You can watch the video where these Linux root folders explained or continue reading below.
Linux Root folders
I won’t use the terminal here and I will show you some visual presentation. But you are of course are encouraged to open the terminal and explore all these directories. Let’s get started.
/ – The Root
Everything begins in your system from this directory. All your folders, hard drives, USB drivers, everything is located in this root folder. You cannot go above this directory.
Also, the root directory is designated by the slash sign.
The concept of the root directory may be difficult to understand for Windows users who are used to see something like disk C, disk D and disk E. In Linux, every disk is a represented as a folder that is mounted under this root directory.
This Linux Directory Structure may look like a mess, but believe me when you learn it, you will realize how much sense it makes.
/bin – Binaries
The /bin folder contains programs that are essential for the system to boot and run. So, if you destroy this folder, your system won’t boot and run.
These programs are stored in the binary format. In other words, they are not in text format. You cannot open and read the content of these programs. The advantage of such format is that a computer can read and execute these programs very fast.
/boot – Boot Files
It is easy to guess from the name. This folder is needed to boot your system. It contains the Linux kernel, initial RAM disk image for drives need at boot time, and the bootloader.
I also would like to point out that within this boot folder, you can find the grub folder that contains grub configuration files.
If you read my Arch Linux post, you should remember than I used this command to generate the GRUB configuration file.
The boot folder also contains the Linux kernel.
/dev – Device Nodes
Here, I need to introduce another important concept of Linux – everything is a file. The /dev folder contains files for all devices your Linux is able to recognize.
If you have some Linux experience, you may recall that when you mount a hard drive, you use a name such as /dev/sda1 . The sda is the name of a first hard drive recognized by your Linux kernel and it is located in the dev folder. When the disk is mounted, you see it as a folder in that mounting point.
You can also find here USB devices, CPU etc.
/etc – Configuration Files
The /etc folder comprises all system-wide configuration files and some shell scripts that are executed during the system boot. All files here are text files, so they are human readable.
If you ever did any system-wide configuration, you probably edited some files here.
For example, there is /etc/fstab file that contains a table of storage devices and their mounting points.
/home – Users’ Folder
The home directory contains a home folder for each regular user on your Linux system. For example, I have tow folders in my /home folder. ALU is my home folder. The second folder belongs to another user, whom I named User2. So, the home folder of every user is named by its username.
You have as many folders as many users you have on your system.
These users’ folders are where users store their private data such as documents, videos, picture, music etc. When you open your file manager or your terminal by default you are located in you user’s home folder. It is also often marked as
/lib – Libraries
You already know the /bin directory that contains programs, this /lin folder contains libraries required by those programs from the /bin folder.
A library is a set of functions that are shared between programs. Thus, this /lib folder is also essential for your system to work correctly.
/lost+found – Recovered Files
You will have this directory if you use the ext4 file system. Most of the modern Linux distros use ext4, so most likely you have this folder. This is a file system specific folder that is used for data recovery in case of file corruption. Unless something bad has happened, this folder should be empty on your system.
This /lost+found folder is produced on every separate partition. So, if your /home folder is on a separate partition, you should have this /lost+found folder in your home directory too.
/media – Automatic mount point
This folder is used for automatic mounting of removable media such as USB drives, CD-ROM etc. For example, if your system is configured for automatic mounting, when you insert a USB drive it will be mounted to this folder.
/mnt – Manual mount point
The /mnt folder is similar to the /media folder, it is also used to mount devices, but usually, it is used for manual mounting. You, of course, can manually mount your devices to /media , but to keep some order in your system it is better to separate these two mounting points.
/opt – Optional Software
This folder is not essential for your system to work. Usually, it is used to install commercial programs on your system. For example, my Dropbox installation is located in this folder.
/proc – Kernel Files
This is a virtual file-system maintained by the Linux kernel. Usually, you do not touch anything in this folder. It is needed only for the kernel to run different processes.
/root – Root Home
This is the home directory of your root user. Don’t mix it with the / root directory. The / directory is the parental directory for the whole system, whereas this /root directory is the same as your user home directory but it is for the root account.
If you log in as a root, you will be located in this directory by default. This is a folder for private data and account specific setting of your root account.
/run – Early temp
The /run is a recently introduced folder that is actually a temporary file-system. It is used to store temporary files very early in system boot before the other temporary folders become available.
/sbin – System Binaries
Similar to /bin this folder contains binaries for essential system tasks but they are meant to be run by the super user, in other words, the administrator of the system.
/srv – Service Data
This directory contains service files installed on your system. For example, if you installed a web-served on your Linux system, it will be located in this folder.
/tmp – Temporary Files
This is just a place where programs store temporary files on your system. This directory is usually cleaned on reboot.
/usr – User Binaries
This is probably the largest folder after your home folder. It contains all programs used by a regular user.
I would like to stop little more on sub-directories of this /usr folder.
/usr/bin contains the programs installed by your Linux distribution. There are usually thousands of programs here.
The libraries for this /usr/bin executables are located in the /usr/lib folder.
The /usr/local doesn’t have any programs by default, but if you compile and install a program system-wide it will be placed here.
The most useful folder is /usr/share . It contains all the shared data used by the programs from /usr/bin .
All default configuration files, themes, icons, wallpapers, sound files are stored here, one more folder I would like to mention here is the /usr/share/doc folder, where you can find the documentation files for programs installed on your system.
/var – Variable Files
The /var contains files that are of variable content, so their content is not static and it constantly changes. For example, this is where the log files are stored. If you don’t know, a log file is a file that records all events happening in your system while it is running. These log files often help to find out if something is not working correctly in your system.
Conclusion
Now you have some clue about all those folders in your Linux system.
Please, feel free to add anything in the comments bellow in case I missed something.
Источник
Общие папки Linux
Если вы администрируете какой-либо сервер, у вас может возникнуть необходимость создать общую папку, к которой будут иметь доступ все пользователи на сервере. Например, необходимо, чтобы они имели возможность создавать в ней файлы и все эти файлы были доступны всем пользователям на сервере.
В этой небольшой статье мы рассмотрим как настраиваются общие папки Linux с помощью стандартной системы полномочий Linux.
Общие папки в Linux
Как вы знаете, в Linux есть своя система полномочий для файлов и папок, в которой можно разрешить чтение, запись и выполнение для пользователя владельца, определённой группы пользователей и всех остальных. Если вы забыли как это работает ознакомьтесь со статьей Права доступа к файлам и Группы пользователей Linux.
Сначала давайте создадим саму папку:
sudo mkdir /var/share
Если надо разрешить доступ к папке всем, то достаточно установить такие права:
sudo chmod ugo+rw -R /var/share
sudo chmod 766 -R /var/share
Эти две команды аналогичны. Они включают для владельца файла полный доступ к нему, а для группы и всех остальных — только чтение и запись. Опция -R позволяет применить изменения рекурсивно ко всем подпапкам и файлам в этом каталоге. Для того чтобы разрешить вообще всё используйте маску прав 777:
sudo chmod 777 -R /var/share
Теперь все пользователи смогут не только создавать и читать файлы в этой папке, но и выполнять их.
Если же надо чтобы папка была доступна только нескольким пользователям, надо объединить их в группу. Например, в группу project. Если такой группы не существует, создайте её:
sudo groupadd project
Для добавления пользователя в группу используется команда usermod. Например, для пользователей losst и losst1 команды будут выглядеть так:
usermod -aG project losst
usermod -aG project losst1
Затем группу папки надо изменить на project. Для этого можно воспользоваться командой chgrp:
sudo chgrp project -R /var/share
Осталось сделать права для этой папки. Кроме стандартных прав, которые разрешают чтение, запись и выполнение файлов для группы project нам необходимо установить SGID бит. Если этот флаг устанавливается для файла, то он позволяет выполнять этот файл с правами группы файла, но если он устанавливается для папки, то все файлы и папки, создаваемые в ней будут получать ту же группу что и у этой папки. Это как раз то, что нам надо:
sudo chmod ug+rwx -R /var/share
sudo chmod +s -R /var/share
sudo chmod 2774 /var/share
Маска прав 774 разрешает всё группе и владельцу, и разрешает только чтение всем остальным. Можно запретить им и чтение заменив 4 на 0, получится 770. После этого оба пользователя losst и losst1 смогут создавать файлы в этой папке, а также оба получат доступ к созданным файлам.
Как видите всё очень просто. А если вам надо создать общую папку, доступную по сети посмотрите на статью про настройку NFS или Samba.
Источник
Linux directory structure: /home and /root folders
This is our 6 th post on understanding first level directories in /. Knowing these folders in detail or at least what each is meant for will help you understand Linux/Unix in whole. we already covered below directories, please have a look at those to understand them. In this post we will see two more directories ie /home and /root directory. These directories are meant for similar purpose. The /root is meant for just root user and /home is for all the remaining users.
A brief intro to /home directory in Linux/Unix
The /home directory is a place where by default all user home directories are created.
OK, what are user home directories for?
These directories are a kind of personal place(Working space) for all the users other than root. There will be a separate folder for each user in /home directory. For example if you have a user called ‘Tom’, then his default home directory is /home/tom. We can change this default folder when creating user in Linux. Our Tom user can do what ever he wants in /home/tom folder where he have full rights on the files he created and owned in that folder.
The properties of /home folder?
1) A separate sub folder ie /home/ is present for each user.
2) Only user who owns this sub folder can access its content other than root user. So, tom user can not access Barbi user home directory content which is located at /home/barbi.
3) All his terminal properties, command history file, application setting files(
/.ssh) etc everything is located in this folder.
4) System admins when try to implement quota for users they will implement it on /home directory. This /home directory should be mounted on a separate partition.
Each user home directory is important and frequently used directory for that user, we have alias name for it. This alias is set to
so that when ever user wants to navigate to his home directory, he do not have to use /home/ but just use below short cuts.
Источник
Allow all users to create files in a directory, but only the owner can delete
How can I use, preferably a single chmod command, which will allow any user to create a file in a directory but only the owner of their file (the user who created it) can delete their own file but no one else’s in that directory.
I was thinking to use:
As the user can create a file and delete it, but won’t that allow the user to delete other people’s files?
I only want the person who created the file to be able to delete their own file. So, anyone can make a file but only the person who created a file can delete that file (in the directory).
2 Answers 2
The sticky bit can do more or less what you want. From man 1 chmod :
The restricted deletion flag or sticky bit is a single bit, whose interpretation depends on the file type. For directories, it prevents unprivileged users from removing or renaming a file in the directory unless they own the file or the directory; this is called the restricted deletion flag for the directory, and is commonly found on world-writable directories like /tmp.
That is, the sticky bit’s presence on a directory only allows contained files to be renamed or deleted if the user is either the file’s owner or the containing directory’s owner (or the user is root).
You can apply the sticky bit (which is represented by octal 1000, or t ) like so:
Источник