Вскоре я собираюсь сделать довольно много работы с PHP, и я заинтересован в изучении RoR, поэтому я установил Linux Mint 12 в своем VirtualBox.
До сих пор самым разочаровывающим аспектом коммутатора были проблемы с разрешениями Linux. Кажется, что я не могу сделать ничего полезного (как, скажем, скопировать архив Symfony2 из моего каталога Downloads в корневой каталог моего документа и распаковать его), не выдавая себя за root с помощью sudo.
Есть ли простой способ заставить linux предоставить мне беспрепятственный доступ к определенным каталогам, не открывая все их разрешения?
linux
permissions
sudo
Основные производства
источник
источник
Ответы:
Мне на ум приходят два варианта:
Получите нужный каталог, используя
chown
:(замените your_username на ваше имя пользователя и каталог на каталог, который вы хотите.)
Другая вещь, которую вы можете сделать, это работать с правами root, пока вы ЗНАЕТЕ, ЧТО ВЫ ДЕЛАЕТЕ . Для использования root сделайте:
и тогда вы можете делать что угодно, не вводя
sudo
перед каждой командой.источник
Вообще говоря, всегда работайте как собственный пользователь, если вы не делаете что-то с общесистемным воздействием.
Если есть файлы, которые вы хотите разместить на своем веб-сервере, работайте как собственный пользователь, а затем используйте его,
sudo
чтобы поместить файлы на место в области веб-обслуживания вашей файловой системы. Обычно это выполняется сценарием установки, и вы запускаете что-то вродеsudo -u webmaster install-webserver-files
или лучшеsudo -u webmaster git update
(или систему управления версиями по вашему выбору).Если вы работаете на сервере разработки и хотите, чтобы ваши файлы были доступны мгновенно, создайте каталог в области веб-сервера и сделайте его владельцем или, по крайней мере, записываемым вами. После этой одноразовой операции (
sudo chown …
илиsudo -u webmaster setfacl …
) вам не понадобятся повышенные привилегии для повседневных операций.Иногда удобно разрешить нескольким пользователям писать в каталоге или иным образом иметь разные разрешения для нескольких пользователей, кроме владельца, или для нескольких групп. Списки контроля доступа дают вам эту возможность. См. Проблемы с разрешениями для общего каталога на сервере или Проблема с разрешениями резервного копирования .
источник
Да, войдите в систему как пользователь root, который даст вам контроль доступа суперпользователя
Та же концепция в Windows, вы можете войти в свой терминал с помощью администратора.
источник
Моя идеология всегда была такова, что как пользователь, вы можете делать все, что захотите, в Linux и для всего остального, всегда есть
sudo
.sudo
позволяет выполнять несколько вещей, как некоторые другие пользователи, чаще всего случаи, какroot
для системного администрирования.sudo
было большим преимуществом, позволяющим делегировать некоторые из моих рутинных задач и привилегий как (root) пользователю другим пользователям и помогать лучше управлять своим временем и временем других, не повышая привилегий сверх того, что требуется. В то же время, я доверяю им, чтобы их записи присутствовали наsudoers
конфигурационный файл. Я не уверен, может ли это быть связано, но что я могу сказать, так это то, что sudo дает вам лучшую перспективу безопасности того, кто все и что они могут сделать со своими доверенными привилегиями. Даже если что-то пойдет не так, они несут ответственность. (Я всегда могу сделать некоторую подлую информацию о журнале sudoers, чтобы найти виновных). Мои парни всегда выражали мне свою озабоченность тем, что им нужно вводить sudo для всего, что они хотели сделать с повышенными привилегиями в среде Linux. Здесь я тоже нашел такой же вопрос.Чтобы увидеть решения и мои поиски альтернатив, я наткнулся на средства управления доступом на основе ресурсов,
RBAC
но в другой стране приключенийSolaris
с такими инструментами иpfexec
т. Д. Этот подход более эффективен, потому что это позволит сохранить привилегии пользователей уже повышенными и будет доверять на совести и бдительности того, что сисадмины хотели бы сделать со своими привилегиями.Рассматривая доступные решения RBAC и его реализации в мире Linux, я наткнулся на
SELinux http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/
grsecurity http://en.wikipedia.org/wiki/Grsecurity
и хотя есть некоторые другие реализации, я бы рассмотрел их в верхнем порядке списка. Внедрение RBAC - это большая работа в организации, особенно когда много пользователей. RBAC будет лучшим решением в однородной среде. Тем не менее, когда в сети существуют гетерогенные установки Unix и пользовательская база данных является общей, тогда это может произойти сбой. Поскольку SELinux не масштабируется / не реализован в Solaris, а инструменты RBAC / pfexec не реализованы в Linux. Существуют разные подходы для выполнения одной вещи. Например: http://blogs.oracle.com/darren/entry/opensolaris_rbac_vs_sudo_howto
Различные установки в масштабах сети могут не поддерживать этот подход (однако openrbac может рассматриваться как общий подход к реализации), так как sudoers является подходом с одним хостом или не способен к централизованной конфигурации в сети / домене.
/etc/sudoers
нужно синхронизировать каждый раз, когда есть изменения. Более того, при работе с файлом sudoers существует требование к базе знаний, необходимо понимать язык политики конфигурации sudoers, чтобы не допускать ошибок и разрешать любые предоставления. RBAC может предлагать централизованный подход до некоторой степени, в то время как профили безопасности могут быть общими, добавление / удаление пользователя из предоставленной роли может быть сделано из одного места (это место, где хранится информация о пользователе / passwd / group для домен как LDAP, NIS или AD). Это также косвенно потребует понимания команд, необходимых для работы с базой данных RBAC, таких как smexec, smmultiuser, а их немного.Sudo может предложить более кросс-платформенный подход, тем не менее, он работает на всех Unix / подобных платформах, которые предлагают функции setuid. И то,
sudo
и другоеRBAC
успешно дает некорневым пользователям некоторые привилегии, которые могут быть сделаны без предоставления самогоroot
пароля. Sudo может дать более тонкий / детальный подход к аргументам командной строки, которые можно использовать при выполнении команд, и ограничить только тем, какую команду с аргументами можно запускать с повышенными привилегиями. Хотя RBAC может ограничить использование до установленных команд или двоичных файлов, но не может контролировать аргументы командной строки. Аудит намного лучше и встроен в среду RBAC, тогда какsudo
Это зависит от конфигурации, а также от принятых ограничений безопасности (например, отсутствие предоставления оболочки и, в частности, хостам разрешается входить в систему с другими хостами без каких-либо проблем). Это лишь некоторые из различий, на которые я мог бы сослаться, и я лично склонен использовать sudo, а не RBAC, хотя с указанными ограничениями я мог бы преодолеть некоторые обходные пути. До тех пор пока все проблемы не будут решены RBAC для лучшего преимущества sudo, я не думаю, что sudo исчезнет, потому что это просто.источник
Я бы выбрал корневой каталог документа, где вы работаете, чтобы у вас был полный доступ к нему.
Чтобы избежать необходимости вводить sudo при каждой установке Gem, следуйте этой статье здесь: http://forums.site5.com/showthread.php?t=11954
Я также настоятельно рекомендую установить RVM для управления версиями Ruby и Rails. http://beginrescueend.com/
Это сделает вашу жизнь намного проще, когда вы найдете хост, на котором вы хотите развернуть свое приложение, используя версии, отличные от тех, которые вы разработали.
источник
Запустите команду.
Теперь вы сможете запускать команды от имени пользователя root. Быть осторожен! Любая команда, которая выполняется, будет от имени пользователя root. Вы можете серьезно испортить ситуацию, если не будете осторожны.
Или вы измените права доступа к каталогу, чтобы позволить вашему пользователю сохранять и редактировать файлы.
источник
sudo -s
?sudo -i
как это имитирует в качестве оболочки входа в систему. Это может быть немного ближе к локальной локальной учетной записи root, чем запуск bash или другой оболочки через sudo.su
? Что за одержимость Судо? Тебе не нужен Судо. Когда-либо.su
если пароль root неизвестен. добавление пользователя в sudoers и запускsudo su
позволяет пользователю использовать свой существующий и известный пароль пользователя для эскалацииОтредактируйте файл / etc / passwd и предоставьте root-права пользователю «yourUserName», изменив идентификаторы пользователя и группы на UID 0 и GID 0:
YOURUSERNAME: 0: 0 :: / Главная / YOURUSERNAME: / бен / ш
источник
Как указано в других ответах, самое чистое решение - изменить владельца файлов и каталогов, к которым вам нужен доступ. В качестве альтернативы вы можете создать новую выделенную группу, изменить групповое владение файлами и каталогами на эту группу и установить разрешение записи группы для этих файлов и каталогов. Наконец, установите бит SGID для каталогов таким образом, чтобы при создании нового файла он наследовал принадлежность группы к содержащемуся каталогу (то есть к выделенной группе).
источник
user @ server: ~ $ sudo passwd root
[sudo] пароль для пользователя:
введите новый пароль UNIX:
повторно введите новый пароль UNIX:
passwd: пароль успешно обновлен
user @ server: ~ $ su
Пароль:
root @ server: / home / user #
Это "#" подсказка не вещь красоты?
Я использую «sudo» только один раз, чтобы достичь способности
user @ server: ~ $ su
Пароль:
root @ server: / home / user #
для жизни сервера.
Чтобы сделать это снова безопасным,
root @ server: / home / user # exit
exit
user @ server: ~ $
Сисадмины занимались этим в течение многих лет, когда «sudo» не входило в тенденцию безмолвия.
Когда вы делаете это, это ваша ответственность, а не моя.
Ян
источник
sudo -s
. Работа выполнена