71 команда linux на все случаи жизни. ну почти

Как использовать команду su

Общий синтаксис suкоманды выглядит следующим образом:

su  ]

Когда вызывается без какой-либо опции, поведение по умолчанию suдля запуска интерактивной оболочки от имени пользователя root:

su

Вам будет предложено ввести пароль пользователя root, и в случае аутентификации пользователь, выполняющий команду, временно станет пользователем root.

Переменные среды сеанса shell ( SHELL) и home ( HOME) задаются из записи замещающего пользователя /etc/passwd, и текущий каталог не изменяется.

Чтобы подтвердить, что пользователь изменился, используйте команду whoami:

whoami

Команда выведет имя пользователя, выполняющего текущий сеанс оболочки:

root

Наиболее часто используемый вариант при вызове suесть -, -l, –login. Это делает оболочку оболочкой входа в систему со средой, очень похожей на реальную регистрацию, и изменяет текущий каталог :

su -

Если вы хотите запустить еще одну оболочку вместо одной , определенной в файле passwd, используйте -s, вариант –shell. Например, чтобы переключиться на root и запустить оболочку zsh, вы должны набрать:

su -s /usr/bin/zsh

Для того, чтобы сохранить всю окружающую среду ( HOME, SHELL, USER, и LOGNAME) вызывающего пользователя использовать -p, вариант –preserve-environment.

su -p

При использовании параметра -, -p игнорируется.

Если вы не хотите, чтобы запустить интерактивную оболочку и только запустить команду в качестве заменителя пользователя, используйте -c, вариант command. Например, чтобы вызвать команду ps от имени пользователя root, введите:

su -c root

Чтобы переключиться на другую учетную запись пользователя, передайте имя пользователя в качестве аргумента su. Например, чтобы переключиться на пользователя andreyex, вы должны набрать:

su andreyex

Разрешения Linux

Прежде чем идти дальше, давайте кратко объясним модель разрешений Linux.

В Linux каждый файл связан с владельцем и группой и ему назначены права доступа для трех разных классов пользователей:

  • владелец файла.
  • члены группы.
  • все остальные.

Существует три типа разрешений, которые применяются к каждому классу:

  • разрешение на чтение.
  • разрешение на запись.
  • разрешение на выполнение.

Эта концепция позволяет вам указать, каким пользователям разрешено читать файл, записывать в файл или выполнять файл.

Чтобы просмотреть права доступа к файлу, используйте команду ls:

ls -l dirname
drwxr-xr-x 12 andreyex users 4.0K Apr  8 20:51 dirname
|     
| |  |  |        |       |       
| |  |  |        |       +-----------> Group
| |  |  |        +-------------------> Owner
| |  |  +----------------------------> Others Permissions
| |  +-------------------------------> Group Permissions
| +----------------------------------> Owner Permissions
+------------------------------------> File Type

Первый символ представляет тип файла, который может быть обычным file ( -), directory ( d), символической ссылкой ( l) или любым другим специальным типом файла.

Следующие девять символов представляют разрешения, три набора по три символа в каждом. Первый набор показывает права владельца, второй – права группы, а последний набор – права доступа для всех остальных.

Символ r с восьмеричным значением 4 стоит для чтения, w с восьмеричным значением 2 для записи, x с восьмеричным значением 1 для разрешения на выполнение и ( -) с восьмеричным значением 0 для без разрешений.

Есть также три типа разрешений специального файла: setuid, setgid и Sticky Bit.

В приведенном выше примере ( rwxr-xr-x) означает, что владелец имеет разрешения на чтение, запись и выполнение ( rwx), группа и другие пользователи имеют разрешения на чтение и выполнение.

Если мы представим права доступа к файлу с помощью числовой записи, мы подойдем к числу 755:

  • Владелец: rwx=4+2+1 = 7
  • Группа: r-x=4+0+1 = 5
  • Другое: r-x=4+0+1 = 5

Когда они представлены в цифровом формате, разрешения могут иметь три или четыре восьмеричных цифры (0-7). Первая цифра представляет специальные разрешения, а если она опущена, это означает, что никаких специальных разрешений для файла не установлено. В нашем случае так 755 же, как 0755. Первая цифра может быть комбинацией 4 для setuid, 2 для setgidи 1 для Sticky Bit.

Права доступа к файлам можно изменить с помощью команды chmod, а владельца – с помощью команды chown.

Goodbye IPv4. Hello IPv6.

It’s called IPv6 and it offers a maximum number of IP address for today and for the future.

Whereas IPv4 supports a maximum of approximately 4.3 billion unique IP addresses, IPv6 supports, in theory, a maximum number that will never run out.

A theoretical maximum of 340,282,366,920,938,463,463,374,607,431,768,211,456. To be exact. In other words, we will never run out of IP addresses again.

An IPv6 address consists of eight groups of four hexadecimal digits. If a group consists of four zeros, the notation can be shortened using a colon to replace the zeros. Here’s an example IPv6 address:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

If you have question about IPv6 and want to learn more, visit our Learning Center, where you can read an IPv6 Q&A for everybody.

Should you hide your IP address?

Your IP address is your passport to the Internet. But it also gives away your location and is used to profile your individual online activity.

That’s why you might consider hiding it.

Can you do that?

Yes! And you can learn how right here.

Получить SID локального пользователя

Чтобы получить SID локальной учетной записи на данной машине, можно воспользоваться утилитой wmic, обращающейся к WMI хранилищу. Для локального пользователя test_user команда будет такой:

wmic useraccount where name=’test_user’ get sid

1 wmic useraccount where name=’test_user’get sid

В этом примере SID  пользователя — S-1-5-21-1175651296-1316126944-203051354-1005

Если нужно узнать SID текущего пользователя, выполните такую команду:

wmic useraccount where name=’%username%’ get sid

1 wmic useraccount where name=’%username%’get sid

На PowerShell скрипт, выдающий тот же результат можно реализовать с помощью двух классов SecurityIdentifier и NTAccount.

$objUser = New-Object System.Security.Principal.NTAccount(«LOCAL_USER_NAME»)
$strSID = $objUser.Translate()
$strSID.Value

1
2
3

$objUser=New-ObjectSystem.Security.Principal.NTAccount(«LOCAL_USER_NAME»)

$strSID=$objUser.Translate(System.Security.Principal.SecurityIdentifier)

$strSID.Value

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *