Разное

Linux user delete: Как удалить файл через терминал Linux

Содержание

Как удалить файл через терминал Linux

Эта небольшая заметка ориентирована на совсем начинающих. Сегодня мы рассмотрим как удалить файл linux через терминал. Для более опытных пользователей это элементарная задача, но новичкам надо с чего-то начинать. Знать как работать с файлами в консоли очень важно.

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

В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные, стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.

Удаление файлов в Linux

Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:

rm /home/user/file

Чтобы удалить все файлы, начинающиеся на слово file можно использовать специальный символ *, означает любой символ в любом количестве:

rm /home/user/file*

Эта команда удаления файла в linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилиты есть опция -i, которая заставляет программу спрашивать пользователя перед тем, как удалить файл linux:

rm /home/user/file*

rm: удалить пустой обычный файл «/home/user/file»?

Если файлов очень много, вы уверены в правильности команды и отвечать каждый раз y неудобно, есть противоположная опция — f. Будут удалены все файлы без вопросов:

rm -f /home/user/file*

Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:

rm -Rf /home/user/dir

Будет удалено все что находиться в папке dir, и эта папка. Только будьте бдительны, чтобы не получился знаменитый патч Брамина:

rm -Rf /*

Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.

Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:

find папка критерий действие

Например, мы хотим удалить файл linux по имени:

find . -type f -name "file" -exec rm -f {} \;

Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:

find . -type f -name "file" -delete

Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:

find . -regex '\./[a-f0-9\-]\.bak' - delete

Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:

find /path/to/files* -mtime +5 -exec rm {} \;

Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.

Чтобы полностью стереть файл, без возможности восстановления используйте команду shred. Во время удаления файлов с помощью утилиты rm удаляется только ссылка на файл, само же содержимой файла по-прежнему находиться на диске, пока система не перезапишет его новыми данными, а пока этого не случится файл можно легко восстановить. Принцип действия утилиты такой — после удаления файла, его место на диске несколько раз перезаписывается.

shred /home/user/file

Опцией -n — можно указать количество перезаписей диска, по умолчанию используется 3. А если указать опцию -z программа при последней перезаписи запишет все нулями чтобы скрыть, уничтожение файла.

Выводы

Вот и все. Теперь вы знаете как удалить файл в Ubuntu, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!

Удалить пользователя Linux — userdel и deluser

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

В ОС Linux стереть юзера утилитой – userdel. Пользователи некоторых дистрибутивов могут применять более понятную команду — deluser.

Синтаксис

Для удаления пользователей в операционных системах Линукс, используются две похожие команды userdel в Centos и deluser в Debian.

userdel

Рассмотрим синтаксис.

userdel [опции] имя пользователя

Опции:

  • f или —force — принудительное удаление.
  • -h или —help — справочная информация.
  • -r или —remove — стереть домашний каталог юзера.
  • -Z или —selinux-user стереть SELinux объекты юзера.

deluser

Параметры утилиты лежат в файле /etc/deluser.conf

Основные параметры:

  • REMOVE_HOME — очистить домашний каталог.
  • REMOVE_ALL_FILES — очистить все файлы.
  • BACKUP — бэкап файлов.
  • BACKUP_TO — папка для бэкапа.
  • ONLY_IF_EMPTY — очистить группу юзера при условии, что папка пустая.

Примеры

Для примера, удалим пользователя polzovatel

userdel polzovatel

При выполнении, утилита обратится к login.defs, который находится по адресу /etc/login.defs. Значения, записанные в данном файле, определяют начальные опции программы userdel. Если переменная USERGROUPS_ENAB имеет значение «yes», то будет удалена группа, с пользовательским именем, которое системный администратор вбил в команду. Но при условии, что больше в этой группе нет других пользователей.

Информация о пользователе будет также удалена из файлов:

  1. /etc/passwd;
  2. /etc/shadow;

Следует учитывать то, что в большинстве дистрибутивов Linux команда userdel не стирает домашний каталог и почтовый спул пользователя.

Для того, чтобы это исправить необходимо передать параметр –r. Выглядеть такая операция будет так:

userdel –r polzovatel

Но даже в таком виде утилита не удалит файлы из других файловых систем. Сделать это придётся вручную.

Если человек, запись которого необходимо удалить, зашёл в ОС, то уничтожить его аккаунт привычным способом не получится. Здесь существует два возможных пути решения:

  1. Выйти из ОС и принудительно закрыть все активные юзерские программы. Для этого понадобится утилита killall – sudo killall –u polzovatel. По выполнению этой команды, можно удалять учетку пользователя.
  2. Передать параметр –f утилите userdel. Эта опция позволяет в принудительном режиме избавиться от аккаунта, даже если человек залогинился или имеются активные пользовательские программы.

userdel –f polzovatel

Вывод

Как видите, стереть учетку юзера в Linux очень просто. Для этого достаточно знать, как вводятся простейшие команды в терминал, и как им передавать различные параметры. Даже начинающий сисадмин с лёгкостью справится с этим.

Скрытность в Linux. Заметаем следы

Файлы в Linux имеют 3 типа временных меток: время доступа (англ. access time, сокр. atime), время модификации (англ. modification time, сокр. mtime) и время изменения (англ. change time, сокр. ctime).

Однажды может возникнуть необходимость подделать временные меткикакого-либо файла.

Время доступа (atime), как и время модификации (mtime) могут быть легко изменены с помощью команды touch, но для подделки метки времени изменения (ctime) стандартного решения не существует.

Тем не менее, в качестве обходного пути, можно установить системное время в то значение на которое вы хотите изменить ctime файла, затем использовать команду touch на этом файле и потом откатить системное время обратно.

Из приведенной ниже статьи вы узнаете, как сохраняя анонимность изменять временные метки файла.

Узнать Временные Метки Файла

Чтобы получить информацию о текущий временных метках файла воспользуетесь командой stat :

$ stat file.txt
  File: ‘file.txt’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 804h/2052d	Inode: 2501536     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/     admin)   Gid: ( 1000/     admin)

Access: 2015-02-19 11:43:08.503408793 +0200
Modify: 2015-02-19 11:43:08.503408793 +0200
Change: 2015-02-19 11:43:08.503408793 +0200

Разница Между Временами «Доступа», «Модификации» и «Изменения»

Временная меткаКогда она обновляется?
atimeВремя доступа к файлу обновляется когда вы открываете файл либо когда он используется для других операций, например таких как: grep, cat, head и т.д.
mtimeВремя модификации файла обновляется когда вы изменяете его содержимое либо сохраняете файл.
ctimeВремя изменения файла обновляется когда меняются его атрибуты, такие как владелец файла, права, либо он перемещается на другую файловую систему. Также это время обновляется и при изменения времени модификации файла.

Изменение Времени «Доступа» и «Модификации» Файла

Изменить время доступа к файлу (atime) :

$ touch -a --date="1988-02-15" file.txt
$ touch -a --date="1988-02-15 01:00" file.txt
$ touch -a --date="1988-02-15 01:00:17.547775198 +0300" file.txt

Изменить время модификации файла (ctime) :

$ touch -m --date="2020-01-20" file.txt
$ touch -m --date="2020-01-20 23:05" file.txt
$ touch -m --date="2020-01-20 23:05:43.443117094 +0400" file.txt

Подделка Времени «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).

Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.

Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.

Сохраните текущую дату и время в переменную NOW :

$ NOW=$(date)

Установите поддельное системное время (необходим root) :

$ date --set "2030-08-15 21:30:11"

Используйте команду touch на файле для изменения всех временных меток на поддельные :

$ touch file.txt

Откатите время назад (необходим root) :

$ date --set "$NOW"

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

$ NOW=$(date) && date -s "2030-08-15 21:30:11" && touch file.txt && date -s "$NOW"

Заметаем Следы 😉

Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :

$ unset NOW

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :

Feb 24 06:32:46 centos7 systemd: Time has been changed
Aug 15 14:30:11 centos7 systemd: Time has been changed

Очистите историю входов в Linux (необходим root) :

$ echo > /var/log/wtmp
$ echo > /var/log/btmp
$ echo > /var/log/lastlog

Очистите историю текущей сессии :

$ history -r

 

В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.

Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.

И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.

КомандаЖурнал логовОписание
last/var/log/wtmpИстория успешных входов/выходов
lastb/var/log/btmpИстория неудавшихся попыток входа
lastlog/var/log/lastlogСписок последних подключавшихся пользователей

Удаление Информации о Последних Подключениях

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

# echo > /var/log/wtmp
# echo > /var/log/btmp
# echo > /var/log/lastlog

 

Полностью удалить историю Bash

Выполните следующую команду для полного удаления всей истории Bash :

$ history -cw
ОпцииОписание
-cОчистить файл истории
-wВнести команды текущей сессии в файл с историей

Удалить определенную строку из истории Bash

Наберите следующую команду для удаления конкретной строки (например с номером 352) из файла с историей Bash :
 $ history -dw 352
ОпцияОписание
-dУдалить строку с указанным номером из истории

Очистить историю команд текущей сессии

Выполните для удаления истории команд только текущей сессии :

$ history -r
ОпцияОписание
-rПрочитать файл с текущие историей и добавить его содержимое к списку истории команд

Не сохранять команду в истории Bash

Выполнить команду не занося ее в историю Bash :
$ <пробел>команда
Поставьте пробел перед любой командой и она не будет сохранена в истории Bash.

Не сохранять все команды текущей сессии в истории Bash

Отключение HISTFILE приводит к тому, что пока Вы не выйдите из текущей сессии, любые команды которые Вы будете выполнять не будут сохраняться в файле с историей bash_history :

$ unset HISTFILE

 

Команда сhmod (change mode) служит для изменения прав доступа к файлам и папкам.

Синтаксис

Команды chmod имеет следующий синтаксис :

$ chmod [options] permissions file[s]

 

Опции :

  • -R, —recursive; изменять файлы и директории рекурсивно
  • -f, —silent, —quiet; не выводить сообщения об ошибках

Показать текущие права на файл / директорию можно с помощью команды ls :

$ ls -l MyFile.txt
-rw-r—r— 1 john admin 0 2012-12-02 04:30 MyFile.txt
$ ls -ld MyDir
drwxr-xr-x 2 john admin 4096 2012-12-02 04:29 MyDir

или используя команду stat :

$ stat -c ‘%A %a %n’ MyFile.txt
-rw-r—r— 644 MyFile.txt
$ stat -c ‘%A %a %n’ MyDir
drwxr-xr-x 755 MyDir

Классы доступа

Классы доступа используются для того, чтобы определить какому пользователю назначаются права. Если класс доступа не указан, то по умолчанию используется класс “all”. Классы доступа представлены одной или несколькими из ниже перечисленных букв :

КлассClassОписание
uuserвладелец файла (папки)
ggroupпользователи, которые являются членами группы к которой принадлежит файл (папка)
oothersпользователи, которые не являются ни владельцем файла (папки), ни входят в группу файла (папки)
aallвсе три перечисленных выше класса, то же самое что ugo

Операторы

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

ОператорОписание
+добавить указанные права доступа к указанному классу
убрать указанные права доступа из указанного класса
=присвоить указанные права доступа

Права доступа

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

Права доступаNameОписание
rreadправа на чтение содержимого файла или директорию (просматривать файлы и поддиректории в папке)
wwriteправа на запись в файл или директорию (создавать файлы и поддиректории в папке)
xexecuteправа на исполнение файла в качестве программы/скрипта либо права на вход в директорию (просмотр дерева каталога)
Xspecial executeправа на вход в директорию и права на исполнение файла, в случае, если хотя бы одному классу уже назначено право на исполнение (для любого из user, group или other)

[X] сам по себе не является правом доступа, но тем не менее, может использоваться вместо x. Он на самом деле полезен только в случае использования оператора ‘+’ в сочетании с опцией -R, для того чтобы предоставить группе или остальным пользователям права доступа к дереву каталога, не давая прав на исполнение обычных файлов (например текстовых), что случится при применении команды ‘chmod -R a+rx’. Таким образом вместо нее можно использовать ‘X’, и соответственно выполнить ‘chmod -R a+rX’.

Числовые права доступа

Возможно использование прав доступа как в символьной, так и в числовой форме.

Числовая форма для прав доступа :

  • Первая цифра используется для обозначения user (пользователь)
  • Вторая цифра используется для обозначения group (группа)
  • Третья цифра используется для обозначения others (остальные)
#ПраваОписание
7rwxчтение, запись, исполнение
6rw-чтение, запись
5r-xчтение, запись
4r—чтение
3-wxзапись, исполнение
2-w-запись
1—xисполнение
0нет прав

10 Простых Примеров :

1. Добавить всем права на чтение файла :

$ chmod a+r file

2. Забрать права на исполнение файла у всех :

$ chmod a-x file

3. Добавить всем права на чтение и запись :

$ chmod a+rw file

4. Установить права на чтение и запись для владельца и забрать права у всех остальных :

$ chmod u=rw,go= file

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :

$ chmod -R u+w,go-w directory

6. Забрать у всех все права :

$ chmod file

7. Дать всем права на права на чтение, запись и выполнение файла :

$ chmod 777 file

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :

$ chmod 664 file

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :

$ chmod -R u+rwX,g-rwx,o-rwx directory

10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :

$ chmod -R a-x+X directory

 

В этой заметке Вы найдете различные примеры того, как выполнять команды на удаленном Linux сервере и получать результат локально.

Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.

Вы узнаете, как :

  • выполнить команду на удаленном Linux сервере;
  • запустить множество команд через SSH;
  • выполнить локальный скрипт на удаленном Linux сервере без его копирования.

Выполнение Команд на Удаленном Linux Сервере

$ ssh [user]@[server] ‘[command]’

Узнать uptime удаленного сервера

$ ssh [email protected] ‘uptime’

Перезагрузить удаленный сервер

$ ssh [email protected] ‘reboot’

Запуск Нескольких Команд через SSH

СПОСОБ 1 :

$ ssh [user]@[server] ‘[command 1]; [command 2]; [command 3]’

Узнать Uptime и Disk Usage

 $ ssh [email protected] ‘uptime; df -h’

СПОСОБ 2 :

$ ssh [user]@[server] ‘[command 1] | [command 2] | [command 3]’

Узнать Memory Usage и Load Average

$ ssh [email protected] ‘free -m | cat /proc/loadavg’

СПОСОБ 3 :

$ ssh [user]@[server] << EOF
 command 1
 command 2
 command 3
 EOF

Показать Версию Ядра, информацию о CPU и кол-во RAM

$ ssh [email protected] << EOF
 uname -a
 grep «model name» /proc/cpuinfo
 grep MemTotal /proc/meminfo
 EOF

Выполнение Локального Скрипта на Удаленном Linux Сервере

$ ssh [user]@[server] ‘bash -s’ < [local_script]

Запустить Локальный Скрипт ‘local_script.sh’ на Удаленной Машине

$ ssh [email protected] ‘bash -s’ < local_script.sh

 

Настройка истории команд в Bash осуществляется путем добавления переменных окружения в файл ~/.bashrc.

Чтобы изменения в ~/.bashrc вступили в силу, выполните :

source ~/.bashrc

1. Добавляем Отображение Даты и Времени в Bash History

Иногда очень полезно узнать время, когда какая-либо команда была выполнена.

Установите HISTTIMEFORMAT, чтобы сохранять время выполнения каждой команды.

Для этого добавьте следующую строку в файл ~/.bashrc :

export HISTTIMEFORMAT="%h %d %H:%M:%S "

Теперь, набрав history, Вы получите следующий вывод :

113  Jun 08 16:31:06 sudo ifconfig
114  Jun 08 16:31:10 top
115  Jun 08 16:31:19 ping 8.8.8.8
116  Jun 08 16:31:22 history

2. Увеличиваем Размер Хранимой Истории

Увеличьте HISTSIZE — количество команд, которые необходимо запоминать в списке истории (стандартное значение — 500).

export HISTSIZE=10000

Увеличьте HISTFILESIZE — максимальное количество строк, содержащееся в файле истории (стандартное значение — 500).

export HISTFILESIZE=10000

3. Добавляем Команды Bash в Файл с Историей

Bash перезаписывает файл .bash_history?

Чтобы добавлять новые команды в файл с историей, а не переписывать его каждый раз, добавьте следующую строку в ~/.bashrc :

shopt -s histappend

4. Мгновенно Сохранять Историю Команд

По умолчанию, Bash записывает историю команд в .bash_history, при завершении сессии.

Если сессия внезапно оборвется Вы потеряете текущую историю команд.

Используйте переменную $PROMPT_COMMAND, чтобы сохранять команды сразу после выполнения :

Добавьте следующую строку в файл ~/.bashrc, если переменная $PROMPT_COMMAND не была задана ранее :

PROMPT_COMMAND='history -a'

Добавьте следующую строку, если переменная $PROMPT_COMMAND уже была задана :

PROMPT_COMMAND='$PROMPT_COMMAND; history -a'

5. Контролируйте Bash History

HISTCONTROL — представляет из себя список опций, разделенных двоеточиями.

Они контролируют каким образом список команд сохраняется в истории.

ОпцияОписание
ignorespaceне сохранять строки начинающиеся с символа <пробел>
ignoredupsне сохранять строки, совпадающие с последней выполненной командой
ignorebothиспользовать обе опции ‘ignorespace’ и ‘ignoredups’
erasedupsудалять ВСЕ дубликаты команд с истории

Пример :

export HISTCONTROL=ignorespace:erasedups

6. Игнорировать Определенные Команды

HISTIGNORE — список шаблонов через двоеточие, используемых для принятия решения о сохранении строк с командами в списке истории.

Не сохранять команды ls, ps и history :

export HISTIGNORE="ls:ps:history"

Не сохранять команды начинающиеся с s :

export HISTIGNORE="s*"

7. Одна Команда — Одна Запись в Истории

Сохранять все строки многострочной команды в одной записи списка истории :

shopt -s cmdhist

Изменить Имя Файла с Историй Команд

Используйте HISTFILE для изменения имени файла, в котором сохраняется история команд. Стандартное значение ~/.bash_history.

export HISTFILE=~/.custom_file

Как добавить и удалить учетную запись пользователя в RHEL 6/7, CentOS 6/7, Oracle Linux 6/7

Эта статья объяснит и расскажет, как добавить и удалить учетную запись пользователя с помощью useradd (добавить) и userdel (удалить) из командной строки на Linux RHEL 6/7, CentOS 6/7, Oracle Linux 6/7 server.

1. Добавление нового пользователя в систему Linux.

a) Получить руководство пользователя:

 # человек useradd 
 useradd - создать нового пользователя или обновить информацию о новом пользователе по умолчанию 

b) Для создания новой учетной записи и домашнего каталога / home / john:

 # useradd --home / home / ehowstuff ehowstuff 

c) команда useraddd по умолчанию не устанавливает действующий пароль, и пользователь не может войти в систему, пока не будет установлен пароль.Для установки пароля пользователя введите следующую команду:

 # passwd ehowstuff
Смена пароля для пользователя ehowstuff.
Новый пароль:
Введите повторно новый пароль:
passwd: все токены аутентификации успешно обновлены. 

г) Проверьте значения в / etc / password:

 # cat / etc / passwd | grep ehowstuff
ehowstuff: x: 501: 501 :: / home / ehowstuff: / bin / bash
 

e) Проверьте значения в / etc / group:

 # cat / etc / group | grep ehowstuff
ehowstuff: x: 501:
 

е) Подтвердите адрес электронной почты пользователя, созданного для идентификатора ehowstuff:

 # ls / var / spool / mail | grep ehowstuff
ehowstuff 

Другие варианты использования:

-c, –comment КОММЕНТАРИЙ
Добавить значение, например полное имя, в поле GECOS.

-g, –gid ГРУППА
Укажите основную группу для учетной записи пользователя.

-G, –groups ГРУППЫ
Укажите список дополнительных групп для учетной записи пользователя.

-a, –append
Используется с опцией -G для добавления пользователя в указанные дополнительные группы без удаления пользователя из других групп.

-d, –home HOME_DIR
Укажите новый домашний каталог в новом месте. Необходимо использовать с опцией -d.

-m, –move-home
Перемещение домашнего каталога пользователя в новое место. Необходимо использовать с опцией -d.

-s, –shell SHELL
Укажите новую оболочку входа в систему для учетной записи пользователя.

-L, –lock
Заблокировать учетную запись пользователя.

-U, –unlock
Разблокировать учетную запись пользователя.

2. Удаление пользователя из системы Linux.

а) Получить руководство пользователя:

 # человек userdel 
 userdel - удалить учетную запись пользователя и связанные файлы 

б) userdel username удаляет пользователя из / etc / passwd, но по умолчанию оставляет неизменным домашний каталог.Правильная команда для удаления учетной записи пользователя, домашнего каталога пользователя и спула почты как часть процесса удаления:

 # userdel --remove ehowstuff 

или

 # userdel -r ehowstuff 

Предупреждение:
Когда пользователь удаляется с помощью userdel без указанной опции -r , в системе будут файлы, владельцем которых является неназначенный идентификатор пользователя. Это также может произойти, когда файлы, созданные удаленным пользователем, существуют за пределами их домашнего каталога.Эта ситуация может привести к утечке информации и другим проблемам безопасности.

Как добавить или удалить пользователя samba под Linux — The Geek Diary

Чтобы добавить нового пользователя для доступа к общему ресурсу samba, вам необходимо сначала создать учетную запись пользователя сервера с помощью команды «useradd», а затем использовать ту же учетную запись для добавления пользователь самбы. Следуйте инструкциям ниже, чтобы добавить пользователя john и предоставить ему доступ к общему ресурсу samba.

Добавление учетной записи пользователя Linux

Один из способов просмотра общего ресурса Samba — наличие учетной записи UNIX на сервере Samba.Это делается с помощью команд « useradd [имя пользователя] » и « passwd [имя пользователя] ». Если у вас уже есть учетная запись пользователя, созданная в системе, пропустите часть ниже и перейдите к непосредственному добавлению пользователя samba.

Установите пароль для нового созданного пользователя.

Добавление пользователя Samba

Если у пользователя есть локальная учетная запись, соответствующего пользователя Samba samba можно добавить с помощью команды smbpasswd -a . Команда smbpasswd при использовании с параметром -a добавляет нового пользователя samba, а также позволяет вам установить пароль для нового пользователя samba.Например, для пользователя john используйте следующую команду:

 # smbpasswd -a john
Новый пароль SMB:
Введите новый пароль SMB еще раз: 

Ключ -a добавляет john в список паролей Samba.

Чтобы изменить существующий пароль Samba пользователя Samba (снова используя пример пользователя john):

 # smbpasswd john
Новый пароль SMB:
Введите новый пароль SMB еще раз: 

Разрешение пользователю доступа к общему ресурсу samba

Настройте общий ресурс Samba в файле / etc / samba / smb.conf , чтобы позволить новому пользователю просматривать общий ресурс:

 # vi /etc/samba/smb.conf
[share1]
   comment = Общий каталог
   путь = / var / tmp / sharedir
   Действительные пользователи = Энтони  Джон 
   public = нет
   Writable = да 

Используйте testparm , чтобы показать обновленный общий ресурс. Перезагрузите файл конфигурации smb.conf с помощью следующей команды.
для RHEL / CentOS 6

для RHEL / CentOS 7

Удаление пользователя Samba

Чтобы удалить пользователя samba, выполните следующие действия.при необходимости убедитесь, что вы также удалили соответствующего пользователя UNIX с сервера.

1. Удалите пользователя samba (john) с помощью команды smbpasswd с опцией -x .

 # smbpasswd -x john
удалить пользователя unix (john) пользователемdel 

2. Теперь вы можете удалить пользователя ОС UNIX john вместе со всеми файлами, связанными с этим пользователем, например домашним каталогом, с помощью команды «userdel -r».

Как заблокировать или отключить учетную запись пользователя — The Geek Diary

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

1. Заблокируйте пароль

Чтобы заблокировать учетную запись пользователя, используйте команду usermod -L или passwd -l . Обе команды добавляют восклицательный знак («!») во втором поле файла / etc / passwd . Например:

или

2. Истек срок действия учетной записи пользователя

Команды passwd -l и usermod -L неэффективны, когда дело доходит до отключения / блокировки учетных записей пользователей.Эти команды не запрещают аутентификацию с помощью открытых ключей SSH (или других модулей PAM, кроме pam_unix, которые могут быть включены). Кроме того, изменение оболочки на / bin / false или / sbin / nologin нас не устраивает, поскольку это влияет только на интерактивный вход. Таким образом, чтобы полностью отключить учетные записи пользователей, вы можете использовать команду chage -E0 . Например:

Истечение срока действия учетной записи с использованием поля 8th в / etc / shadow (с использованием «chage -E») заблокирует все методы доступа, которые используют PAM для аутентификации пользователя.

3. Замена корпуса

Мы также можем изменить оболочку пользователя по умолчанию на / sbin / nologin , чтобы пользователь не получал оболочку входа в систему, когда он пытается войти в систему.

 # usermod -s / sbin / nologin [имя пользователя] 

Вы можете проверить 7-е и последнее поле в / etc / passwd на предмет смены оболочки на / sbin / nologin.

Убедитесь, что учетная запись заблокирована или отключена.

Для каждого из описанных выше методов вы можете проверить, заблокирована / отключена ли учетная запись пользователя, используя следующие методы.

1. Проверьте, не заблокирована ли учетная запись пользователя.
Проверьте наличие флага * LK * в выводе команды ниже, который указывает, что учетная запись заблокирована.

 # passwd --status root
root  * LK *  19.07.2017 0 45 7-1 (пароль установлен, шифрование SHA512) 

2. Проверьте, не истек ли срок действия учетной записи.
Проверьте строки Срок действия пароля истекает и Срок действия учетной записи истекает , чтобы проверить, не истек ли срок действия пароля учетной записи.

 # chage -l корень
Последняя смена пароля: 19 июля 2017 г.
  Срок действия пароля истекает: 2 сентября 2017 г. 
Пароль неактивен: никогда
  Аккаунт истекает: 2 сентября 2017 г. 
Минимальное количество дней между сменой пароля: 0
Максимальное количество дней между сменой пароля: 45
Количество дней предупреждения до истечения срока действия пароля: 7 

3.корень / etc / passwd
корень: x: 0: 0: корень: / корень: / sbin / nologin

userdel: удалить учетную запись пользователя и связанные файлы

userdel: удалить учетную запись пользователя и связанные файлы

Команда для отображения руководства пользователя userdel в Linux: $ man 8 userdel

НАЗВАНИЕ

userdel — удалить учетную запись пользователя и связанные файлы

ОБЗОР

userdel [параметры] ВХОД

ОПИСАНИЕ

userdel

— это утилита низкого уровня для удаления пользователей.В Debian администраторам обычно следует использовать
делюсер (8)
вместо.

В
userdel
команда изменяет файлы системной учетной записи, удаляя все записи, которые относятся к имени пользователя
ВХОД . Указанный пользователь должен существовать.

ОПЦИИ

Параметры, применимые к
userdel
команда:

-f , -force

Эта опция принудительно удаляет учетную запись пользователя, даже если пользователь все еще находится в системе.Это также заставляет
userdel
для удаления домашнего каталога пользователя и почтового спула, даже если другой пользователь использует тот же домашний каталог или если почтовый спул не принадлежит указанному пользователю. Если
USERGROUPS_ENAB
определяется как
да
в
/etc/login.defs
и если существует группа с тем же именем, что и удаленный пользователь, то эта группа будет удалена, даже если она все еще является основной группой другого пользователя.

Примечание:
Этот вариант опасен и может привести к нестабильному состоянию вашей системы.

-h , —help

Показать справочное сообщение и выйти.

-r , — удалить

Файлы в домашнем каталоге пользователя будут удалены вместе с самим домашним каталогом и почтовой буфером пользователя. Файлы, расположенные в других файловых системах, придется искать и удалять вручную.

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

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