Да, у root есть все права на что угодно
Здесь вы можете видеть, что я создал тест имени каталога и коснулся файла lonston.txt и перечислил файлы
root@system99:/tmp# mkdir test && touch lonston.txt && ls -l
total 4
-rw-r--r-- 1 root root 0 Feb 27 16:35 lonston.txt
drwxr-xr-x 2 root root 4096 Feb 27 16:35 test
Затем я изменил разрешение файла и каталога на нулевое разрешение, используя 000, и перечислил, чтобы увидеть разрешение
root@system99:/tmp# chmod 000 lonston.txt && chmod 000 test && ls -l
total 4
---------- 1 root root 0 Feb 27 16:35 lonston.txt
d--------- 2 root root 4096 Feb 27 16:35 test
Тогда даже я могу написать в файл и прочитать файл с помощью кошки
root@system99:/tmp# echo "Yes root have all Privileges than other user's, let we see the permission of user's too" > lonston.txt
root@system99:/tmp# cat lonston.txt
Yes root have all Privilages than other user's, let we see the permission of user's too
Даже я могу попасть в каталог с разрешением d --------- (null) 000, даже у root нет прав на чтение или запись.
root@system99:/tmp# cd test/
root@system99:/tmp/test# pwd
/tmp/test
Даже я могу создавать файлы и папки после смены разрешения с любого
root@system99:/tmp/test# touch /tmp/test/lonston/testdir/babin.txt
root@system99:/tmp/test# ls -l /tmp/test/lonston/testdir/
total 0
-rw-r--r-- 1 root root 0 Feb 27 16:39 babin.txt
Теперь здесь мы можем увидеть разрешение с 400
root@system99:/tmp/test# chmod 400 babin.txt
Список, чтобы увидеть разрешение файла
root@system99:/tmp/test# ls -l
total 8
-r-------- 1 root root 34 Feb 27 16:42 babin.txt
drwxr-xr-x 3 root root 4096 Feb 27 16:38 lonston
Используя vim im я добавил 1 строку в файл babin.txt
root@system99:/tmp/test# vim babin.txt
Но, находясь в режиме vim, он заметит нас W10: Предупреждение: изменение файла только для чтения, но он все еще доступен для записи
Теперь мы можем катать файл для вывода
root@system99:/tmp/test# cat babin.txt
hi this is the write persmission
this is added while the file have 400 permission
Затем я вышел из системы от пользователя root до обычного пользователя и перечислил файл с нулевым разрешением, что в корне тоже
root@system99:/tmp# exit
exit
Перейдите в каталог / tmp
sysadmin@system99:~$ cd /tmp/
sysadmin@system99:/tmp$ ls -l
total 8
---------- 1 root root 88 Feb 27 16:36 lonston.txt
d--------- 2 root root 4096 Feb 27 16:35 test
Но при чтении файла от обычного пользователя мы не можем
sysadmin@system99:/tmp$ cat lonston.txt
cat: lonston.txt: Permission denied
sysadmin@system99:/tmp$ cd test/
cat: test/: Permission denied
Вот и все, надеюсь, вы получили силу пользователя root
Если вы являетесь обычным пользователем, если вам нужны права суперпользователя, нам нужно использовать sudo, он спросит пароль sudo
пример :
sysadmin@system99:/tmp$ sudo cat lonston.txt
[sudo] password for sysadmin:
Yes root have all Privilages than other user's, let we see the permission of user's too
У пользователя Sudo есть совместная работа с группой корневых пользователей, поэтому у sudo есть привилегия root.
Чтобы узнать больше о судо
# man sudoers
Здесь мы можем видеть, что они определили, как обычный пользователь может иметь права Sudo. Только меньшее количество строк, которые я упомянул здесь.
sysadmin@system99:/tmp$ sudo cat /etc/sudoers
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
В целом, мы можем читать, редактировать или удалять файлы, даже root. У них нет разрешения на чтение.
CAP_DAC_OVERRIDE
дает им одним махом все привилегии, которые им необходимы для отмены любого другого механизма безопасности в системе.CAP_DAC_OVERRIDE
в основномCAP_DO_WHATEVER_YOU_WANT
.