Взгляд на man gmetad
, Вы, вероятно, найдете
-d, --debug=INT
Debug level. If greater than zero, daemon will stay in foreground. (default='0')
так с помощью параметра командной строки, например. gmetad -d 1
, должен добиться цели.
Несколько вещей:
Команда sudo
для подъема себя к более высокому уровню учетных данных или для команды или для набора команд, не для того, чтобы получить доступ к каталогу, с которым Вы (1) не ни один владелец, (2) в группе, которая прочитала полномочия в упомянутый каталог, или (3) каталог не открыли другие полномочия для мира.
Файл /etc/sudoers
файл, который содержит все правила для данной системы и предусматривает, какие пользователи, группы пользователей, могут работать который команды поднятым способом как root
, обычно, или некоторая другая учетная запись пользователя. Вы обычно НЕ хотите редактировать этот файл непосредственно, хотя Вы можете, он быть лучшими не сделать так.
Команда visudo
предписанный путь к редактированию /etc/sudoers
файл.
Если Вы хотите видеть, к каким sudo учетным данным у пользователя есть доступ, самый простой путь состоит в том, чтобы стать тем пользователем и выполнить команду, sudo -l
.
$ sudo -l
Matching Defaults entries for saml on this host:
env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User saml may run the following commands on this host:
(ALL) ALL
(root) NOPASSWD: /usr/lib/jupiter/scripts/bluetooth, (root) /usr/lib/jupiter/scripts/cpu-control, (root) /usr/lib/jupiter/scripts/resolutions, (root)
/usr/lib/jupiter/scripts/rotate, (root) /usr/lib/jupiter/scripts/touchpad, (root) /usr/lib/jupiter/scripts/vga-out, (root) /usr/lib/jupiter/scripts/wifi
Я полагаю, что Вы обращаетесь к группе пользователей wheel
, который является старым путем (к моему знанию) способ дать пользовательские разрешения становиться корнем через su -
. Эта статья делает хорошее задание обсуждения использования этой группы, названной: Администрирование Вашей системы Linux.
/home/<user>
?К моему знанию нет никакого систематического способа сделать, это, не давая этому пользователю подняло полномочия другими способами, которыми Вы пытаетесь ограничить. Я сказал бы, что, если Вы не доверяете этому конкретному пользователю ответственность наличия доступа этим способом затем, они - вероятно, не правильный человек для выполнения этой работы!
Например. Скажите, что у меня есть 2 студента и 1 TA. Студенты (user1 и user2) TA (user3).
Таким образом, группы были бы следующие:
Таким образом, когда я вошел в систему как любой из вышеупомянутых пользователей (1-3), мои группы будут следующие:
$ groups
users vboxusers class1
Это группируется, должен был бы также быть установлен на доме студента dirctories:
$ ls -l /home/user1 | head -3
total 37784
drwxrwxr-x 2 saml class1 4096 May 16 22:02 alsa
drwxrwxr-x 31 saml class1 4096 Mar 26 12:09 apps
Это - всего одна идея, она имеет проблемы с этим подходом, но, учитывая информацию Вы обеспечили, "один способ сделать это"!
Теперь, я хочу предоставить локальному пользователю в сервере ограниченный корневой доступ.
Это походит на плохую идею.
Во-первых, существует проблема конфиденциальности данных - если Вы не доверяете этому пользователю, чтобы иметь полные корневые полномочия, почему Вы доверяете ему данные Ваших пользователей?
Во-вторых, даже если Вам так или иначе удалось бы предоставить этому пользователю ограниченный корневой доступ к /home
(который я не думаю, возможно), существует теперь несколько способов для него получить полный корневой доступ, который Вы, вероятно, не ожидаете:
Он может создать символьную ссылку на /
:
cd /home
ln -s / evil-symlink
Теперь он может получить доступ к содержанию корневой файловой системы как /home/evil-symlink/
как корень, потому что это расположилось внутри /home
.
Он может создать setuid
исполняемые файлы внутри /home
. Просто копия /bin/bash
кому: /home/bash
, сделать chmod u+s /home/bash
и у Вас есть свое собственное root
оболочка.
Они только способ ограничить пользователя определенным каталогом независимо от полномочий, которые я могу придумать, chroot
, и это общеизвестно, что корень может убежать из a chroot
.
Во-первых, что Вы сделали неправильно:
user1, %operator ALL= /home/users
Это позволяет user1
выполнять любую команду в каталоге /home/users
как любой пользователь. Если нет никакой исполняемой программы в том каталоге, правило эффективно ничего не делает. Если существуют исполняемые программы там, правило позволяет user1
выполнять их.
Вы не можете использовать sudo
дать пользовательское разрешение получить доступ к файлу, только разрешение выполнить команду как другого пользователя.
Посмотрите Позволяют пользователю читать корневые каталоги некоторых других пользователей для способа сделать то, что Вы пытаетесь сделать.
/home/user#
каталог для пользователя serveruser. Это обычно не делается, потому что это становится кошмаром обслуживания. Если Вы не доверяете этому администратору, то найдите другой, что Вы делаете. – slm♦ 19.09.2013, 23:43/home/user#
каталоги. – slm♦ 19.09.2013, 23:47