@
обозначает символическую ссылку. Ваш ls
, вероятно, является псевдонимом для ls -F
(и дополнительных флагов). Если вы unalias ls
или явно выполните / bin / ls
, вы не увидите декорации типа файла. ls -l / dev / stdin
, чтобы увидеть цель символьной ссылки. / dev / stdin
ссылается на / proc / self / fd / 0
( / dev / stdin
- это ссылка на / dev / fd / 0
и / dev / fd
- это ссылка на / proc / self / fd
). / proc / self
- это каталог на procfs , где ядро предоставляет информацию о вызывающем процессе (т.е. каждый процесс получает информацию о себе при чтении из / proc / self
). Подкаталог fd
содержит запись для каждого дескриптора открытого файла в процессе, который представляет собой (несколько магическую) символическую ссылку, указывающую на файл, открытый процессом. Я нашел решение в конце концов, совершенно забыл обновить его здесь Решение следующее:
1 :определить владельцев для всех и сделать группу владельцев наследуемой
- sudo chown -R admin:www-data /var/www/html
- sudo chmod g+s /var/www/html (inherit owner group)
2 :применить разрешение по умолчанию для папок и файлов (750 и 640 соответственно; по умолчанию должно быть защищено)
- sudo chmod -R 750 /var/www/html
- sudo find /var/www/html -type f -print0 | sudo xargs -0 chmod 640 (apply for files only)
** repeat file permissions for each sub-directory
3 :применить разрешение для файлов и папок с возможностью записи
- sudo chmod -R 770 /var/www/html/images
- sudo find /var/www/images -type f -print0 | sudo xargs -0 chmod 660
4 :применить правила автоматического наследования (ACL)
- setfacl -Rdm u::rwX,g::rwX,o::- /path/to/parent (Capital X only apply to directories)
5 :проверить ACL:
- getfacl /var/www/html
Надеюсь, это ответ на вопрос