summaryrefslogtreecommitdiff
path: root/LINUX/BEGIN.md
blob: d5b76157b6deee59c5d74bf6cf3d873a60dadf26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
/boot - 500Mb - ext2
/ 20Gb - ext4
swap = озу
/home - остальное

```sh
# Изменение текстового редактора по умолчанию:
sudo update-alternatives --config editor
```

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install mc ranger nload tmux wireguard samba gpg pass smartmontools lm-sensors

# Диски:
mkdir 1Tb-a 1Tb-temp 2Tb-a 2Tb-b
sudo blkid
lsblk
# редактируем /etc/fstab, монтируем диски и RAID по UUID:
sudo mount -a
sudo systemctl daemon-reload

# Samba:






sudo apt-get install -f
# Эта команда подтянет нужные пакеты и переустановит проблемный.


# Какая версия установлена:
lsb_release -a
```

## КОНСОЛЬ клавиши##
```sh
Ctrl-a - перейти в начало
Ctrl-e - перейти в конец

Ctrl-w - вырезать слово перед курсором
Ctrl-k - вырезать от курсора и до конца строки
Ctrl-u - вырезать от курсора и назад до начала строки
Ctrl-y - вставить вырезанное
Ctrl- <- (Alt- )
Ctrl- -> (Alt- )

Ctrl-u - очищает слева от курсора
Ctrl-k - очищает справа от курсора
Ctrl-r - поиск по истории команд

history - список всех введенных команд

reset - исправить вывод

mkdir 123/name/345 -p  - создать папку с полным путем

cat /var/log/syslog | grep ssh
```
## Файловая система SWAP ( файл подкачки ) ##
```sh
# Создание swap-пространство на разделе hda3
mkswap /dev/hda3

# Включить swap-пространство, расположенное на разделе hda3
swapon /dev/hda3

# Активировать swap-пространства, расположенные на разделах hda2 и hdb3
swapon /dev/hda2 /dev/hdb3
```
## TERMINAL ##
```bash
# добавить сторонний репозиторий:
sudo add-apt-repository ppa:name_rep/ppa

# Обновление информации о пакетах и обновление самих пакетов
sudo apt update && sudo apt upgrade -y

# Установка пакетов
sudo apt install -y htop curl wget build-essential git openssh-server
sudo apt install nload git tmux vim mc wireguard gpg pass

# Редактор по умолчанию:
update-alternatives --config editor

# Печатаем сразу в файл
echo «Hello World !» > /tmp/file.txt


cat /etc/*-release
whoami
whatis
whereis

# - выводит файл в консоль
cat (-n) 

# - выводит текст задом на перед
tac 

# - поиск в тексте
grep <какой> file.txt 

# найти и вывести все что начинается с '#':
sudo grep -v ^#/etc/ssh/sshd_config 

# + убрать все пустые строки в выводе:
sudo grep -v ^#/etc/ssh/sshd_config | grep -v ^$

# + посчитать кол-во строк в выводе:
sudo grep -v ^#/etc/ssh/sshd_config | grep -v ^$ | wc -l

# посчитать общее кол-во строк в файле:
sudo wc -l /etc/ssh/sshd_config

# - если текст длинный и перемещаемся кнопками вверх и вниз если нажать "/" то откроется строка для поиска в этом файле "n" - перемещаемся в поиске вперед и "ctrl+n" - назад "q" - выход
less 

# - последние или первые 10 строк файла `"-f"` онлайн просмотр
tail / head 

# - создание каталога с путем
mkdir -p 

# - переместить/переименовать
mv 

# - просмотр сразу 2 каталогов
ls dir1 dir2 

# - копирование `-r` - копируем каталог
cp 

# - удаление каталога
rm -r 
```
## GROUP ##
```sh
groupadd # — не выводит ничего при создании группы; лучше при использовании в скрипте, так как нет лишнего вывода на терминал

addgroup # — выводит создаваемый <gid> при создании группы.
--gid 5555 # - можно задать при создании

groupdel
delgroup

# Чтобы пользователю добавить дополнительную группу можно воспользоваться командой 
usermod -aG
-a #— добавляет к текущим группам пользователя дополнительные. Без этой опции группы заменяются на новые, а с этой опцией к старым группам добавляются новые;
-G #— указывает, что работать будем с дополнительными группами а не с первичной.
#(`usermod -aG testgroup alex`)
# Утилитой <usermod> нельзя удалять дополнительные группы, можно только не используя опцию **-a**, написать список групп в которые должен будет входить данный пользователь, не указав ту группу, из которой вы хотите удалить пользователя.

# Если мы хотим поменять пользователю первичную группу, то нужно использовать опцию -g:
usermod -g testgroup alex

id alex
# uid=1000(alex) gid=1002(testgroup) группы=1002(testgroup),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)`

# И вернем все как было:
usermod -g alex alex

# Еще один способ добавить пользователя в дополнительную группу (и наверное более запоминающийся) это использовать утилиту adduser, при этом утилите вначале передается имя пользователя, затем группы:
adduser alex testgroup

# Удалить пользователя из группы можно командой deluser:
deluser alex testgroup

# И так, для добавления или удаления пользователя в дополнительную группу я бы рекомендовал использовать команды adduser и deluser. А для изменения первичной группы команду usermod -g.
```
## PASSWD ##
```sh
passwd - изменить пароль текущему пользователю

/etc/passwd
/etc/group
/etc/shadow

# В passwd хранится информация о пользователях в системе, вот информация о пользователе alex:
grep alex /etc/passwd

alex:x:1000:1000:Alexandr,,,:/home/alex:/bin/bash

# То что после имени идет буква «x» означает что пароль зашифрован в файле shadow.

# В /etc/group хранится информация о группах в системе, вот информация о группе alex и о дополнительных группах пользователя alex:
grep alex /etc/group

cdrom:x:24:alex
floppy:x:25:alex
audio:x:29:alex
dip:x:30:alex
video:x:44:alex
plugdev:x:46:alex
netdev:x:109:alex
alex:x:1000:

# Здесь вначале идет имя группы, потом символ «x» обозначает что пароль зашифрован, затем gid, затем пользователи Linux для которых эта группа является дополнительной. Таким образом группа alex имеет gid=1000, а пользователь alex входит в дополнительные группы cdrom, floppy и так далее.

# В /etc/shadow хранятся соленые хэши паролей пользователей, вот например строка для alex:
grep alex /etc/shadow

alex:$y$j9T$STsC82fbWIlhONPF0rXcm1$a.c./bIw7BUBiewrYoKnEBGBAH3Z5UGsWCFQsW3HOR8:19006:0:99999:7:::

# Строка файла содержит поля разделённые двоеточиями, в полях находится следующая информация:

- имя пользователя;
- хеш пароля;
- дата последней смены пароля в днях начиная с 1 января 1970 года, чем больше число, тем новее пароль;
- минимальный срок действия пароля, если 0 то неограничен;
- максимальный срок действия пароля;
- период предупреждения о необходимости сменить пароль;
- период неактивности пароля — у меня пустое поле, период неактивности отсутствует;
- дата истечения срока действия учётной записи — у меня пустое поле, учётная запись никогда не устаревает;
- зарезервированное поле для использования в будущем.
```