У меня возникли проблемы с разрешениями при установке пакетов в 16.04. Я устанавливаю их с помощью sudo, но тогда обычные пользователи не могут читать файлы в пакете.
Итак, я провел простой тест: я создал каталог с использованием sudo в 14.04 и посмотрел на разрешения :
sudo mkdir test_14_04
ls -ld test_14_04/
#returns: drwxr-xr-x 2 root root 4096 Jan 3 05:57 test_14_04/
Тогда я сделал то же самое в 16.04, но вместо этого получаю:
#returns: drwxr-x--- 2 root root 4096 Jan 3 06:00 test_16_04/
Как вы можете видеть, разрешение по умолчанию в мире читается в 14.04, но не в 16.04. Таким образом, это может быть проблемой с разрешениями пакета sudo -installed.
Как я могу это исправить?
PS: Моя версия 16.04 Ubuntu:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
и моя версия 14.04:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
О вашем вопросе:
Выполнить sudo visudo и добавить следующие строки:
`Defaults umask=0022`
`Defaults umask_override`
umask_override (см. man-страницу sudoers):
If set, sudo установит umask, как указано sudoers без изменений. Это позволяет указать более разрешающую umask в sudoers, чем собственный umask пользователя, и соответствует историческому поведению. Если umask_override не установлен, sudo установит umask как объединение пользовательской umask и того, что указано в sudoers. По умолчанию этот флаг отключен. Если установлено, sudo будет запускать команду в псевдо-pty, даже если ведение журнала ввода-вывода не исчезнет. Вредоносная программа, выполняемая в sudo, может, вероятно, разблокировать фоновый процесс, который сохраняется на конечном устройстве пользователя после завершения основной программы. Использование этого параметра сделает невозможным. По умолчанию этот флаг отключен.Надеюсь, это поможет, удачи!
О вашем вопросе:
Выполнить sudo visudo и добавить следующие строки:
`Defaults umask=0022`
`Defaults umask_override`
umask_override (см. man-страницу sudoers):
If set, sudo установит umask, как указано sudoers без изменений. Это позволяет указать более разрешающую umask в sudoers, чем собственный umask пользователя, и соответствует историческому поведению. Если umask_override не установлен, sudo установит umask как объединение пользовательской umask и того, что указано в sudoers. По умолчанию этот флаг отключен. Если установлено, sudo будет запускать команду в псевдо-pty, даже если ведение журнала ввода-вывода не исчезнет. Вредоносная программа, выполняемая в sudo, может, вероятно, разблокировать фоновый процесс, который сохраняется на конечном устройстве пользователя после завершения основной программы. Использование этого параметра сделает невозможным. По умолчанию этот флаг отключен.Надеюсь, это поможет, удачи!
О вашем вопросе:
Выполнить sudo visudo и добавить следующие строки:
`Defaults umask=0022`
`Defaults umask_override`
umask_override (см. man-страницу sudoers):
If set, sudo установит umask, как указано sudoers без изменений. Это позволяет указать более разрешающую umask в sudoers, чем собственный umask пользователя, и соответствует историческому поведению. Если umask_override не установлен, sudo установит umask как объединение пользовательской umask и того, что указано в sudoers. По умолчанию этот флаг отключен. Если установлено, sudo будет запускать команду в псевдо-pty, даже если ведение журнала ввода-вывода не исчезнет. Вредоносная программа, выполняемая в sudo, может, вероятно, разблокировать фоновый процесс, который сохраняется на конечном устройстве пользователя после завершения основной программы. Использование этого параметра сделает невозможным. По умолчанию этот флаг отключен.Надеюсь, это поможет, удачи!
Проблема, с которой вы сталкиваетесь, по-видимому, со значением по умолчанию root umask
Разрешения, которые были созданы в версии 14.04, равны umask из 0022, которые если значение по умолчанию root из umask
# umask
0022
Кажется, что ваш umask по умолчанию umask равен 0027, который можно проверить, запустив в root ]:
umask
, чтобы изменить поведение по умолчанию, вам нужно будет проверить скрипты запуска root (profile, login и т. д.) и найти, где это значение было установлено , и изменить его как:
umask 0022
Вместо:
umask 0027
Дополнительная информация может быть найдена при понимании использования значения linux umask
[ ! d7]Пример:
root@ubuntu:~# umask
0022
root@ubuntu:~# mkdir /tmp/z123
root@ubuntu:~# ll -ld /tmp/z123
drwxr-xr-x 2 root root 4096 Jan 3 14:51 /tmp/z123/
root@ubuntu:~# umask 0027
root@ubuntu:~# umask
0027
root@ubuntu:~# mkdir /tmp/a123
root@ubuntu:~# ll -ld /tmp/a123
drwxr-x--- 2 root root 4096 Jan 3 14:54 /tmp/a123/
Проблема, с которой вы сталкиваетесь, по-видимому, со значением по умолчанию root umask
Разрешения, которые были созданы в версии 14.04, равны umask из 0022, которые если значение по умолчанию root из umask
# umask
0022
Кажется, что ваш umask по умолчанию umask равен 0027, который можно проверить, запустив в root ]:
umask
, чтобы изменить поведение по умолчанию, вам нужно будет проверить скрипты запуска root (profile, login и т. д.) и найти, где это значение было установлено , и изменить его как:
umask 0022
Вместо:
umask 0027
Дополнительная информация может быть найдена при понимании использования значения linux umask
[ ! d7]Пример:
root@ubuntu:~# umask
0022
root@ubuntu:~# mkdir /tmp/z123
root@ubuntu:~# ll -ld /tmp/z123
drwxr-xr-x 2 root root 4096 Jan 3 14:51 /tmp/z123/
root@ubuntu:~# umask 0027
root@ubuntu:~# umask
0027
root@ubuntu:~# mkdir /tmp/a123
root@ubuntu:~# ll -ld /tmp/a123
drwxr-x--- 2 root root 4096 Jan 3 14:54 /tmp/a123/
Проблема, с которой вы сталкиваетесь, по-видимому, со значением по умолчанию root umask
Разрешения, которые были созданы в версии 14.04, равны umask из 0022, которые если значение по умолчанию root из umask
# umask
0022
Кажется, что ваш umask по умолчанию umask равен 0027, который можно проверить, запустив в root ]:
umask
, чтобы изменить поведение по умолчанию, вам нужно будет проверить скрипты запуска root (profile, login и т. д.) и найти, где это значение было установлено , и изменить его как:
umask 0022
Вместо:
umask 0027
Дополнительная информация может быть найдена при понимании использования значения linux umask
[ ! d7]Пример:
root@ubuntu:~# umask
0022
root@ubuntu:~# mkdir /tmp/z123
root@ubuntu:~# ll -ld /tmp/z123
drwxr-xr-x 2 root root 4096 Jan 3 14:51 /tmp/z123/
root@ubuntu:~# umask 0027
root@ubuntu:~# umask
0027
root@ubuntu:~# mkdir /tmp/a123
root@ubuntu:~# ll -ld /tmp/a123
drwxr-x--- 2 root root 4096 Jan 3 14:54 /tmp/a123/