Так у 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
Тоді навіть я можу записати у файл та прочитати файл за допомогою cat
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 я додав у файл babin.txt 1 рядок
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
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-користувача
Якщо ви, звичайний користувач, якщо вам потрібно користуватися привілеєм 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
Користувачі судо мають співпрацю з групою користувачів користувача root, тому судо мають кореневу привілей.
Щоб дізнатися більше про судо
# man sudoers
Тут ми можемо побачити, що вони визначили, як звичайний користувач може мати права судо. Лише менше рядків я вже згадував.
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
.