Я развернул на сервере Ubuntu Digital Ocean веб-приложение, но оно было запущено в / root / appfolder.
Я пробовал chmod 744 / root
, а также разрешение 744 для конкретной папки внутри root, но я не могу получить к нему доступ с помощью своего пользователя. Я хочу сделать возможным, чтобы другие разработчики подключились к серверу по ssh и имели доступ к папке.
Может быть, мне нужно создать ссылку на эту папку, чтобы каждый пользователь имел ее в своем домашнем каталоге? До этого момента я не имел ни малейшего представления о том, какой должна быть наиболее безопасная или передовая практика, не говоря уже о том, что мне все равно отказывают в доступе к этой папке с использованием другого пользователя, даже после того, как я дал ему привилегию чтения.
Решение
chmod 744 / root
дает вам разрешение на чтение, а не на его открытие (выполнение). Мне просто пришлось переопределить разрешения иchmod -R o + x / root
, и все готово.
chmod 744 /root дает разрешение на чтение, но не на открытие (выполнение). Мне просто пришлось переопределить разрешения и chmod -R o+x /root и все готово.
Единственными пользователями, которые должны иметь доступ к /root, являются сам root или пользователи с доступом sudo. Изменение значений chmod не очень хорошая практика. Особенно не в корневой папке или в ней. Если вы хотите, чтобы пользователи, отличные от вас, имели доступ, вы можете настроить пользователя для доступа sudo.
Чтобы добавить пользователя в группу sudo, выполните приведенную ниже команду от имени root или другого пользователя sudo. Обязательно измените "имя пользователя" на имя пользователя, для которого вы хотите предоставить разрешения.
$ usermod -aG sudo username
Простое добавление пользователя в группу sudo потребует от него использования пароля каждый раз, когда он использует команду sudo. Чтобы отключить необходимость в пароле, отредактируйте файл sudoer, выполнив:
$ sudo visudo
В нижней части открываемого файла добавьте эту строку для каждого пользователя, которому вы хотите предоставить разрешения sudo без пароля (обязательно измените "username"):
username ALL=(ALL) NOPASSWD:ALL
При необходимости вместо использования отдельных имен пользователей вы можете назначить целую группу пользователей, заменив имя пользователя именем группы.
другие группы пользователей могут иметь разрешение на папку /root
из командной строки. Но если вы изменили разрешения другого пользователя с Меню > Пользователи и группы > Пользователь 1 > вкладку Разрешения
и удалили разрешение root
, выбранный пользователь не сможет получить к нему доступ. Теперь вы в безопасности.
См. Стандарт иерархии файловой системы на https://refspecs.linuxfoundation.org/fhs.shtml
.
Это объясняет, куда идут дела.
Разрешения 744 (r-xr--r--) неверны. Должно быть 755 (rwxr-xr-x).
с 744 другие могут видеть, что находится в каталоге, но без x на каталоге они не могут получить доступ ни к чему в нем.