Закончен модуль chmod, апдейт структуры репозитория
This commit is contained in:
parent
4ded2c1f13
commit
3bb3f4df5d
14
README.md
14
README.md
|
@ -10,18 +10,18 @@
|
||||||
- [Настройка SSH](linux/ssh.md)
|
- [Настройка SSH](linux/ssh.md)
|
||||||
- [Копирование файлов на удалённый сервер через SSH](linux/scp.md)
|
- [Копирование файлов на удалённый сервер через SSH](linux/scp.md)
|
||||||
|
|
||||||
## Базы данных
|
## [Базы данных](databases)
|
||||||
|
|
||||||
- [Базы данных](databases/db.md)
|
- [PostgreSQL](databases/postgresql.md)
|
||||||
|
|
||||||
## Программирование
|
## [Программирование](programming)
|
||||||
|
|
||||||
- [Работа с библиотеками](programming/libs.md)
|
- [Работа с библиотеками](programming/libs.md)
|
||||||
|
|
||||||
### Язык программирования D
|
### [Язык программирования C](programming/c)
|
||||||
|
|
||||||
- [Проект dub.json](programming/dub.md)
|
- [Компиляция C](programming/c/c_compilation.md)
|
||||||
|
|
||||||
### Язык программирования C
|
### [Язык программирования D](programming/d)
|
||||||
|
|
||||||
- [Компиляция C](programming/c_compilation.md)
|
- [Проект dub.json](programming/d/dub.md)
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Базы данных
|
||||||
|
|
||||||
|
- [PostgreSQL](postgresql.md)
|
|
@ -1,8 +1,6 @@
|
||||||
# Базы данных
|
# PostgreSQL
|
||||||
|
|
||||||
## PostgreSQL
|
## Установка
|
||||||
|
|
||||||
### Установка
|
|
||||||
|
|
||||||
Установка `PostgreSQL` в `Ubuntu`:
|
Установка `PostgreSQL` в `Ubuntu`:
|
||||||
|
|
||||||
|
@ -21,7 +19,7 @@ sudo eopkg it postgresql postgresql-contrib
|
||||||
|
|
||||||
В процессе установки создаётся учётная запись `postgres`, которая связана с используемой по умолчанию ролью `postgres`.
|
В процессе установки создаётся учётная запись `postgres`, которая связана с используемой по умолчанию ролью `postgres`.
|
||||||
|
|
||||||
### Использование
|
## Использование
|
||||||
|
|
||||||
После установки, чтобы подключиться к СУБД PostgreSQL необходимо открыть `shell` из под пользователя `postgres`:
|
После установки, чтобы подключиться к СУБД PostgreSQL необходимо открыть `shell` из под пользователя `postgres`:
|
||||||
|
|
||||||
|
@ -43,7 +41,7 @@ psql
|
||||||
sudo -u postgres psql
|
sudo -u postgres psql
|
||||||
```
|
```
|
||||||
|
|
||||||
### Создание новой роли
|
## Создание новой роли
|
||||||
|
|
||||||
После входа в оболочку под пользователем `postgres`, можно создать новую роль с помощью следующей команды:
|
После входа в оболочку под пользователем `postgres`, можно создать новую роль с помощью следующей команды:
|
||||||
|
|
||||||
|
@ -66,7 +64,7 @@ createdb user
|
||||||
|
|
||||||
При этом должен существовать пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.
|
При этом должен существовать пользователь Linux с тем же именем, что и имя роли и базы данных в Postgres.
|
||||||
|
|
||||||
### Смена пароля
|
## Смена пароля
|
||||||
|
|
||||||
Для установки/смены пароля выполнить в `psql` команду:
|
Для установки/смены пароля выполнить в `psql` команду:
|
||||||
|
|
||||||
|
@ -76,7 +74,7 @@ createdb user
|
||||||
|
|
||||||
где `user` - имя пользователя, у которого необходимо сменить пароль.
|
где `user` - имя пользователя, у которого необходимо сменить пароль.
|
||||||
|
|
||||||
### Удалённый доступ
|
## Удалённый доступ
|
||||||
|
|
||||||
Для открытия удалённого доступа необходимо отредактировать файл `/etc/postgresql/14/main/postgresql.conf`, где `14` - версия PostgreSQL:
|
Для открытия удалённого доступа необходимо отредактировать файл `/etc/postgresql/14/main/postgresql.conf`, где `14` - версия PostgreSQL:
|
||||||
|
|
||||||
|
@ -102,7 +100,7 @@ sudo systemctl restart postgresql.service
|
||||||
sudo service postgresql restart
|
sudo service postgresql restart
|
||||||
```
|
```
|
||||||
|
|
||||||
### Восстановление бэкапа
|
## Восстановление бэкапа
|
||||||
|
|
||||||
Восстановление бэкапа из файла `*.sql`:
|
Восстановление бэкапа из файла `*.sql`:
|
||||||
|
|
||||||
|
@ -110,7 +108,7 @@ sudo service postgresql restart
|
||||||
psql -f backup.sql
|
psql -f backup.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
### Возможные ошибки
|
## Возможные ошибки
|
||||||
|
|
||||||
При подключении к удалённой БД может возникнуть ошибка:
|
При подключении к удалённой БД может возникнуть ошибка:
|
||||||
|
|
144
linux/chmod.md
144
linux/chmod.md
|
@ -8,17 +8,30 @@
|
||||||
chmod опции права /путь/к/файлу
|
chmod опции права /путь/к/файлу
|
||||||
```
|
```
|
||||||
|
|
||||||
|
где `опции`:
|
||||||
|
|
||||||
|
- `-c` - выводить информацию обо всех изменениях
|
||||||
|
- `-f` - не выводить сообщения об ошибках
|
||||||
|
- `-v` - выводить максимум информации
|
||||||
|
- `-R` - включить поддержку рекурсии
|
||||||
|
|
||||||
## Права и пользователи
|
## Права и пользователи
|
||||||
|
|
||||||
Основные права на файл (директорию):
|
Основные права на файл (директорию):
|
||||||
|
|
||||||
|Символ|Атрибут|
|
||Атрибут|Описание|
|
||||||
|-:|-|
|
|:-:|:-:|-|
|
||||||
|Первый символ|`r` - чтение (*reading*)|
|
|Первый символ|`r`| чтение (*reading*)|
|
||||||
|Второй символ|`w` - запись (*writing*)|
|
|Второй символ|`w`| запись (*writing*)|
|
||||||
|Третий символ|`x` - выполнение (*execution*)
|
|Третий символ|`x`| выполнение (*execution*)|
|
||||||
||`s` - атрибуты SUID или SGID позволяющие запускать файл на выполнение с правами владельца файла или группы соответственно
|
|
||||||
||`t` - устанавливая `t-бит` на каталог - меняется правило таким образом, что удалить файл может только владелец этого файла|
|
Расширенные права:
|
||||||
|
|
||||||
|
|Права|Числовое значение|Относительный режим|Применение к файлам|Применение к каталогам|
|
||||||
|
|:-:|:-:|:-:|-|-|
|
||||||
|
|`SUID`|`4`|`u+s`|Пользователь выполняет файл с разрешениями владельца файла|Нет смысла применять|
|
||||||
|
|`SGID`|`2`|`g+s`|Пользователь выполняет файл с разрешениями владельца группы|Файлы, созданные в каталоге получают одного и того же владельца группы|
|
||||||
|
|`sticky bit`|`1`|`+t`|Нет смысла применять|Запрещает пользователям удалять файлы от других пользователей|
|
||||||
|
|
||||||
Категории пользователей, для которых вы можете установить эти права на файл:
|
Категории пользователей, для которых вы можете установить эти права на файл:
|
||||||
|
|
||||||
|
@ -41,6 +54,20 @@ chmod опции права /путь/к/файлу
|
||||||
001 --- --- --x │
|
001 --- --- --x │
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Расширенные права:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
400 --s ── SUID
|
||||||
|
200 --s ── SGID
|
||||||
|
100 --t ── sticky bit
|
||||||
|
```
|
||||||
|
|
||||||
|
Если в триаде присутствует право на выполнение (`x`), то символ устанавливает строчный, иначе - заглавный:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
drwSr-sr-T 2 alexander alexander 4096 мая 10 19:36 folder
|
||||||
|
```
|
||||||
|
|
||||||
Комбинации прав:
|
Комбинации прав:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -72,3 +99,106 @@ rwx 7 (4 + 2 + 1) 111
|
||||||
|
|
||||||
## Использование
|
## Использование
|
||||||
|
|
||||||
|
Установка|добавление|изменение|удаление прав может осуществляться как установкой цифровым значением, так и символьным:
|
||||||
|
|
||||||
|
- Установка: `=`
|
||||||
|
- Добавление: `+`
|
||||||
|
- Удаление: `-`
|
||||||
|
|
||||||
|
Например, установка прав:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
u=rwx,g=rx,o=rx
|
||||||
|
```
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
```sh
|
||||||
|
u=rwx,go=rx
|
||||||
|
```
|
||||||
|
|
||||||
|
Добавление прав:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
u+s,go+w
|
||||||
|
```
|
||||||
|
|
||||||
|
Удаление прав:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
ug-wx,o=
|
||||||
|
```
|
||||||
|
|
||||||
|
## Примеры
|
||||||
|
|
||||||
|
Установка прав на чтение и запись пользователю и группе и на только чтение всем остальным:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod 664 file
|
||||||
|
```
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod ug=rw,o=r file
|
||||||
|
```
|
||||||
|
|
||||||
|
результат:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
-rw-rw-r-- 1 alexander alexander 0 мая 10 19:05 file
|
||||||
|
```
|
||||||
|
|
||||||
|
Установить права на чтение, запись и выполнение только пользователю:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod 700 file
|
||||||
|
```
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod u=rwx,go= file
|
||||||
|
```
|
||||||
|
|
||||||
|
результат:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
-rwx------ 1 alexander alexander 0 мая 10 19:05 file
|
||||||
|
```
|
||||||
|
|
||||||
|
а теперь добавить только на выполнение группе и всем остальным:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod 711 file
|
||||||
|
```
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod go+x file
|
||||||
|
```
|
||||||
|
|
||||||
|
результат:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
-rwx--x--x 1 alexander alexander 0 мая 10 19:05 file
|
||||||
|
```
|
||||||
|
|
||||||
|
Установить права на каталог (`drwxr-xr-x`), чтобы удалить файл внутри каталога мог только владелец файла:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod 1755 folder
|
||||||
|
```
|
||||||
|
|
||||||
|
или
|
||||||
|
|
||||||
|
```sh
|
||||||
|
chmod +t folder
|
||||||
|
```
|
||||||
|
|
||||||
|
результат:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
drwxr-xr-t 2 alexander alexander 4096 мая 10 19:36 folder
|
||||||
|
```
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Программирование
|
||||||
|
|
||||||
|
- [Работа с библиотеками](libs.md)
|
||||||
|
|
||||||
|
## [Язык программирования C](c)
|
||||||
|
|
||||||
|
- [Компиляция C](c/c_compilation.md)
|
||||||
|
|
||||||
|
## [Язык программирования D](d)
|
||||||
|
|
||||||
|
- [Проект dub.json](d/dub.md)
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Язык программирования C
|
||||||
|
|
||||||
|
[Компиляция C](c_compilation.md)
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Язык программирования D
|
||||||
|
|
||||||
|
[Проект dub.json](dub.md)
|
Loading…
Reference in New Issue