Назад | Перейти на главную страницу

Разрешения файла RHEL

Я добавил файл в /etc/init.d но заметил, что файл не зеленого цвета, как другие файлы, когда я ls -l Что мне сделать, чтобы он стал «зеленым» или добавить необходимые права доступа к файлам?

Почему файлы вообще зеленые?

Зеленый цвет, о котором вы говорите, субъективен для человека, который собрал ваш дистрибутив Linux, и не имеет фиксированного значения в мире Linux. Однако при обычном использовании он обычно связан с исполняемыми файлами. В комментарии выше Игнасио просил вас посмотреть глубже. Пример:

# ls -l
-rwxr-xr-x. 1 root root  1729 Dec  8 06:10 acpid

Что ты видишь? Если вы посмотрите на левую сторону, там есть три набора разрешений. В этом случае пользователь root может выполнять, читать и писать, члены корневой группы могут читать и выполнять, а все остальные могут читать и выполнять. Первое тире слева предназначено для специальных разрешений, каталогов и символических ссылок.

Так как же это изменить? Есть два основных способа, каждый из которых включает команду chmod (режим изменения). Вы можете chmod u + x file, чтобы позволить владельцу выполнять разрешения для файла, или вы можете сделать chmod a + x, чтобы разрешить всем, включая владельца и группу, разрешения на выполнение, или вы можете выполнить chmod 550, чтобы дать владельцу и группе прочитать и выполнить разрешения.

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

Чтобы ответить на ваш вопрос

Все, что вам нужно сделать, это запустить следующую команду от имени пользователя root.

chmod 755 /etc/init.d/yourscript

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

Задний план

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

Все пользователи могут иметь следующие права доступа к файлам и каталогам:

  • Читать
    • Папка: вы можете видеть файлы в папке
    • Файл: вы можете прочитать файл
  • Напишите
    • Папка: вы можете создавать файлы, перемещать файлы и т. Д.
    • Файл: вы можете изменить данные в файле.
  • Выполнить
    • Папка: вы можете перейти в папку
    • Файл: вы можете запустить файл как программу.

Эти права даны 3 группам людей:

  • Владелец
  • Группа
  • Другое (все остальные)

В системе Linux, когда вы выполняете ls -l в /etc/init.d, вы получаете такие результаты, как:

$ ls -l /etc/init.d/
-rwxr-xr-x 1 root root 2787 05.11.2009 08:03 umountfs
-rwxr-xr-x 1 root root 2075 14.10.2009 00:16 umountnfs.sh

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

Список разрешений разделен на четыре части. Первая буква - это тип файла. Если это файл, это прочерк. Если это каталог, это d. Если это ссылка, это буква l. Следующие три буквы обозначают права владельца. rwx означает, что пользователь может читать, писать и выполнять. Следующие три буквы обозначают разрешения группы. Группа в этом случае может только читать выполнение (r-x). W заменяется тире, что означает, что это запрещено. Наконец, всем, кто не принадлежит к группе, даются разрешения на чтение и выполнение (r-x).

Изменение разрешений и владения

Теперь, когда мы рассмотрели определение разрешений, мы можем их изменить.

chmod

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

chmod 755 /etc/init.d/yourscript

Первый аргумент (755) дает разрешения, а следующие аргументы - это список файлов для изменения.

Список 755 разрешений - это короткий способ сказать -rwxr-xr-x. Первое число - это разрешение для владельца, второе - разрешение для группы. и третий - разрешение для других. Каждое число представляет собой rwx.

Номера разрешений:

  • Выполнить 1
  • Напишите 2
  • Читать 4

Сумма номеров разрешений используется в команде chmod. Итак, 7 - это все права (4 + 2 + 1), а 5 - чтение и выполнение (4 + 1).

Итак, сложив все вместе 755 - это

  • Все разрешения для владельца
  • Прочитать и выполнить для группы
  • Прочтите и выполните всех остальных

Chown

chown - это инструмент для смены владельцев и групп. Это намного проще, чем chmod.

chown root.root /etc/init.d/yourscript

Первый аргумент - это user.group. Следующие аргументы - это файлы, которые нужно изменить. Это так просто.

chown root.root /etc/init.d/file    
chmod 755 /etc/init.d/file