Если я создаю или изменяю какой-либо файл или каталог с помощью sudo, то разрешения переходят только в root. И кажется, что мне нужно использовать sudo, чтобы делать некоторые вещи в Ubuntu. Например, я не могу смонтировать сервер без использования суперпользователя.
Это фундаментальный способ работы любого POSIX (Unix / Linux / others). Все сделано под пользователем. Всякий раз, когда вы создаете каталог, он наследует владельца и права по умолчанию, установленные в umask этого владельца. Всякий раз, когда вы что-то делаете с помощью sudo, вы в основном выполняете операцию не с вашим пользователем, а с пользователем «root» - «Администратор» в Windows.
sudo - это просто сокращение для:
В терминах Windows - «Запуск от имени администратора».
Имея это в виду, должно быть ясно, что вам не нужно использовать sudo для всего, что связано с вашим пользователем. Это должно быть необходимо только для использования с вещами, принадлежащими пользователю «root». Такие вещи, как конфигурация системы в / etc /, монтирование томов дисков и т. Д.
Теперь есть вещи, которые обычно выполняются с помощью «root», но иногда их должен выполнять пользователь. Для этого есть группы, которым даны разрешения на это. Например, группе «диск» разрешен доступ к жестким дискам в необработанном режиме, то есть, например, «корень». Если вы хотите сделать это с вашим собственным пользователем - вам просто нужно добавить себя в эту группу следующим образом:
sudo adduser [yourself] disk
Очевидно, что только root может сделать это, поэтому вам нужно sudo.
Обычно так работают разрешения в ОС POSIX. Это еще не все, но это должно ответить на ваш конкретный вопрос. Как решить конкретную проблему SAMBA - отдельная тема.
Вы можете найти больше информации о разрешениях Unix в этой лекции по Unix, включая разрешения Unix из Университета Торонто.
Теперь о вашей конкретной проблеме с SAMBA - хорошо описанный способ сделать это в Samba Client Guide . Обратите внимание, что выше, на той же странице есть и другие способы сделать это через пользовательский интерфейс.
Использование sudo означает, что вы работаете от имени пользователя root для этой команды. Любые файлы или каталоги, которые вы создаете, будут принадлежать пользователю root. Если вы хотите предоставить обычному пользователю доступ, вам нужно изменить права доступа и / или владельца
, например, chown <yourusername>:<yourgroupname> <filename>
при монтировании сервера smb, попробуйте установить права доступа / разрешения на сначала точку монтирования, прежде чем монтировать диск.