Sobes.tech
Junior

Как да променя правата за достъп до файл?

sobes.tech AI

Отговор от AI

В системите Linux/Unix се използват три типа права: четене (read), писане (write) и изпълнение (execute), както и три категории потребители: собственик на файла (owner), група (group) и други (others).

Правата могат да бъдат променяни с командата chmod.

1. Числов метод:

# r=4, w=2, x=1
# Всяка цифра съответства на сумата от правата за собственик, група и други
# Например: 777 (rwx за всички), 755 (rwx за собственик, rx за група и други)
chmod 755 име_на_файл

2. Символен метод:

# u (owner), g (group), o (others), a (всички - ugo)
# +, - (добавяне/премахване на право), = (установяване на конкретни права)
# r (read), w (write), x (execute)
chmod u+x име_на_файл         # Добавяне на право за изпълнение за собственик
chmod g-o-w име_на_файл      # Премахване на право за писане за група и други
chmod a=rw- име_на_файл       # Установяване на права за четене и писане за всички, премахване на x

Примери:

  • Направете файла изпълним само за собственик:
    chmod u+x име_на_файл
    
  • Установете права за четене и писане за собственик, четене за група и други:
    chmod 644 име_на_файл
    

Допълнителни опции:

  • -R: рекурсивна промяна на правата (за директории и съдържанието им).
    chmod -R 755 име_на_директория
    

Правата за достъп могат да бъдат прегледани с командата ls -l.

# Пример за изход от ls -l
# -rwxr-xr-x 1 потребител група 1024 11 Ное 10:00 име_на_файл

Където:

  • Първият символ - показва, че това е файл. d означава директория.
  • Следващите три символа (rwx) са правата за собственик.
  • Следващите три (r-x) са правата за групата.
  • Последните три (r-x) са правата за другите.