Как проверить мою учетную запись на встроенном Linux без “/etc/passwd”?

Что-то могло быть неправильным с остальной частью Вашего пути. Как подтверждение концепции:

$ sudo mkdir -p /tmp/a/b/c
$ date | sudo cat > /tmp/a/b/c/hello
$ stat -x /tmp/a/b/c/hello
...
Mode: (0644/-rw-r--r--)
...
$ stat -x /tmp/a/b/c/
...
Mode: (0755/drwxr-xr-x)
...
$ sudo chmod 700 /tmp/a/b/
$ cat /tmp/a/b/c/hello    
cat: /tmp/a/b/c/hello: Permission denied

Я предложил бы проверить, что и/cf и/cf/foo прочитали и выполняют полномочия для пользователя, который будет выполнять команду.

Я предполагаю, что Вы работаете

/usr/local/bin/foo -f /cf/foo/config/foorc

как корень, и вот почему нет никакой проблемы с полномочиями.

2
30.07.2014, 09:33
1 ответ

Если нет / etc / passwd , значит, ваша встроенная система работает не под управлением так называемой системы Linux, а с другой операционной системой, которая также основана на ядре Linux. Известный пример операционной системы, которая использует ядро ​​Linux, но не является Linux, - это Android. Android не имеет учетных записей пользователей (по крайней мере, не при базовом использовании) и перенаправляет пользователей на изоляцию приложений, а не учетных записей.

Такие встроенные системы обычно не предполагают учетных записей пользователей. У них есть максимум консоль управления, которая предназначена исключительно для администрирования и позволяет запускать команды от имени пользователя root. Может быть аутентификация в той или иной форме, или факт наличия физического доступа может считаться достаточной аутентификацией. Здесь нет общего правила, вы должны знать (или выяснять), как устроена ваша система.

Если вы хотите подключиться по SSH, вам необходимо предоставить учетные данные для серверов SSH .

2
27.01.2020, 22:13

Теги

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