Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Права доступа в linux
- На основе http://habrahabr.ru/post/109392/
- =========================================================
- $ ls -l /bin/bash
- - rwx r-x r-x 1 root wheel 430540 Dec 23 18:27 /bin/bash
- | ||| ||| |||
- | ||| ||| |||
- | ||| ||| права для всех остальных юзеров
- | ||| |||
- | ||| права группы файла
- | |||
- | права владельца файла
- |
- | [r - чтение][w - запись][x - исполнение]
- |
- тип файла
- - обычный файл
- 'd' директория
- 'l' символическая ссылка
- 'c' устройство символьного ввода-вывода
- 'b' устройство блочного ввода-вывода
- 'p' FIFO
- 's' сокет
- ==========================================================
- groups [USER] - узнать группу, в которой состоишь
- chown USER FILE[S] - сменить юзера FILE[S] на USER
- chgrp GROUP FILE[S] - сменить группу у FILE[S] на GROUP
- chown USER:GROUP FILE[S] - сменить разом и юзера и группу
- chown -R USER DIR - сменить юзера рекурсивно у всех объектов в папке DIR
- chmod +x FILE[S] - сделать FILE[S] исполняемым(и) для юзера, группы и остальных
- chmod go-w FILE[S] - убрать право на запись у группы и остальных
- ==========================================================
- chmod [TYPE][=+-][PERM]
- |||| ||| ||||
- |||| ||| r - read
- |||| ||| w - write
- |||| ||| x - execute
- |||| |||
- |||| + - включить
- |||| - - отключить
- |||| = - при отсутствии TYPE, применить PERM для всех
- |||| если TYPE есть, применить только для TYPE
- ||||
- g - группа
- u - юзер
- o - остальные юзеры
- ==========================================================
- Числовые режимы
- Режим Число
- rwx 7
- rw- 6
- r-x 5
- r-- 4
- -wx 3
- -w- 2
- --x 1
- --- 0
- $ chmod 0755 scriptfile.sh
- $ ls -l scriptfile.sh
- -rwxr-xr-x 1 drobbins drobbins 0 Jan 9 17:44 scriptfile.sh
- Значение первого знака в числовом режиме
- suid sgid sticky режим
- on on on 7
- on on off 6
- on off on 5
- on off off 4
- off on on 3
- off on off 2
- off off on 1
- off off off 0
- ==========================================================
- umask - значение показывает, какие права отключаются для
- создаваемых файлов.
- Например, 0022 (в большинстве Linux-дистрибутивов):
- ||||
- |||запрещена запись для остальных(w)
- ||запрещена запись для группы
- |для юзера ничего не меняется
- должен тут быть
- ( http://unix.stackexchange.com/questions/84676/how-is-umask-calculated-in-linux )
- ==========================================================
- suid
- $ ls -l /usr/bin/passwd
- -rwsr-xr-x 1 root wheel 17588 Sep 24 00:53 /usr/bin/passwd
- |
- бит suid, означает что эта программа будет работать от имени root.
- ==========================================================
- Предупреждение о suid/sgid
- Важно!
- Немного разрозненная, но в то же время очень важная информация о suid и sgid. Во-первых, биты suid и sgid занимают те же поля в выводе команды ls -l. Если бит x тоже задан, соответствующие биты будут показаны как s (в нижнем регистре). Однако, если бит x не задан то он будет отображаться как S (в верхнем регистре).
- Важно!
- Еще одно важное замечание: suid и sgid бывают удобны во многих ситуациях, но неправильное их использование может привести к появлению уязвимостей в защите системы. Лучше всего иметь как можно меньшее количество suid программ. Команда passwd — одна из немногих, которая должна быть suid.
- ==========================================================
- Способ установки и удаления битов suid и sgid чрезвычайно прост. Вот так мы задаем бит suid:
- # chmod u+s /usr/bin/myapp
- А в следующем примере мы снимаем флаг sgid с директории. Вы увидите, как бит sgid работает с директориями немного ниже:
- # chmod g-s /home/drobbins
- ==========================================================
- Директории и флаг sgid
- Если для директории установлен флаг sgid, то создаваемые файлы внутри
- наследуют группу директории:
- # mkdir /home/groupspace
- # chgrp mygroup /home/groupspace
- # chmod g+s /home/groupspace
- ==========================================================
- Sticky бит
- Если у директории установлен sticky бит, то файлы в ней могут
- изменять только владельцы файлов и root.
- Команда:
- chmod +t /tmp
- ==========================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement