Как выполнить php файл как другой пользователь надежно?

Именно, потому что каре часто используется для выражения клавиши Ctrl, нажатой, или это - иначе управляющий символ.

Сочетание клавиш, которое Вы на самом деле ввели, было этим:

cp filename.xsl .ctrl+Vbackspace~Enter

Вы, по-видимому, пытались скопировать файл в свой корневой каталог (~). Можно повторить это путем ввода ctrl+Vbackspace.Вот увидишь ^? распечатанный на экране.

Можно просмотреть файлы с непечатаемыми символами, преобразованными в Escape C-стиля как это (это -b флаг это важно, но так как Ваш файл начинается с точки, в которой Вы будете нуждаться -a также:

$ ls -ab
.  ..  .\177~

Без -b Вы только видите его как .?~ не потому что это просто опускает ^, но потому что любой non-pritable символ отображен как ?. Попробовать touchctrl+VEnterfooEnter и затем ls. Файл, который Вы будете видеть, будет ?foo. Затем ls -b покажет \rfoo.

Таким образом, когда Вы rm .?~ это соответствует потому что в этом случае ? Вы ввели, интерпретируется оболочкой как globbing подстановочный знак для соответствия любому отдельному символу, не конкретно фактическому вопросительному знаку. Вы имеете rm искаженный к rm -i таким образом, это подтверждает Ваше действие и когда это делает это, показывает управляющий код C-стиля.

3
21.06.2013, 07:57
1 ответ

Я ничего не вижу по сути неправильно с выполнением его этот путь. Единственная вещь, которая высовывается, состоит в том, что кто-то мог играть в игры с содержанием db2restore, если бы тот файл принадлежал db2inst1 и не корню, например.

Я также собираюсь предположить, что эта playschool база данных не находится в производственной системе. Если это затем, это становится плохой идеей, если он разработчики входит в производственную базу данных.

В целом при выделении доступа к базе данных я всегда исторически создавал учетные записи пользователей в базе данных и затем выделял определенные возможности (добавьте, отбросьте, и т.д.) к той конкретной учетной записи пользователя.

3
27.01.2020, 21:23
  • 1
    Playschool - чтобы конечный пользователь попробовал то, что они хотят и также пробуют новую версию кода. Давайте предположим, что конечные пользователи не имеют ssh доступа к серверу приложений (веб-сервер + db2 сервер) –  Radek 19.06.2013, 06:19
  • 2
    +1 для учетных записей отдельного пользователя в базе данных. Это обычно - лучшая Идея иметь, что управляемый сценарием, который имеет доступ к дб. –  polemon 19.06.2013, 06:27

Теги

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