Проблемы с разрешением при установке с помощью sudo между 14.04 и 16.04

Я столкнулся с множеством проблем с разрешениями при установке пакетов в 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 -установленными разрешениями пакета.

Как это можно исправить?

PS:
Моя версия Ubuntu 16.04:

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
4
задан 3 January 2018 в 15:23

2 ответа

О вашем вопросе:

Выполните sudo visudo и добавьте следующие строки:

`Defaults umask=0022`
`Defaults umask_override`

umask_override (см. Справочную страницу sudoers) :

Если установлено, sudo будет устанавливать umask, как указано sudoers без изменений. Это позволяет указать более разрешающий umask в sudoers, чем собственный umask, и соответствует историческому поведению. Если umask_override не установлен, sudo установит umask как объединение umask пользователя и того, что указано в sudoers. Этот флаг отключен по умолчанию. Если установлено, sudo будет запускать команду в псевдо-pty, даже если ведение журнала ввода-вывода не ведется. Вредоносная программа, запущенная под sudo, может предположительно разорвать фоновый процесс, который сохраняется на оконечном устройстве пользователя после завершения основной программы. Использование этой опции сделает это невозможным. Этот флаг по умолчанию отключен.

Надеюсь, это поможет, удачи!

1
ответ дан 3 January 2018 в 15:23

Похоже, проблема, с которой вы столкнулись, заключается в значении по умолчанию root umask

Разрешения, созданные в версии 14.04, равны umask из 0022, что должно значение по умолчанию root из umask

# umask
0022

Похоже, что вашим значением по умолчанию umask в 16.04 является 0027, что можно проверить, запустив в приглашении root :

umask

, чтобы изменить поведение по умолчанию, вам нужно проверить root стартовые скрипты (profile, login и т. Д.) И найти, где было установлено это значение, и измените его следующим образом:

umask 0022

Вместо:

umask 0027

Дополнительную информацию можно найти в понимании использования значения linux umask


Пример:

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/
6
ответ дан 3 January 2018 в 15:23
  • 1
    Спасибо за Вашу справку, но я смог получить работу оптического диска usb, и я собираюсь открыть свой компьютер завтра, чтобы гарантировать, что мой оптический диск IDE установлен правильно! Еще раз спасибо! – user67592 2 June 2012 в 07:39
  • 2
    Спасибо за Вашу справку, но я смог получить работу оптического диска usb, и я собираюсь открыть свой компьютер завтра, чтобы гарантировать, что мой оптический диск IDE установлен правильно! Еще раз спасибо! – user67592 2 June 2012 в 07:39

Другие вопросы по тегам:

Похожие вопросы: