Политика AWS S3 Bucket Доступ запрещен

Тим Čas один лайнер поражает строки, полученные вызовом fgets, потому что вы знаете, что они содержат одну новую строку в конце.

Если вы находитесь в другом контексте и хотите обрабатывать строки, которые могут содержать более одной новой строки, вы можете искать strrspn. Это не POSIX, то есть вы не найдете его во всех Unices. Я написал один для своих собственных нужд.

/* Returns the length of the segment leading to the last 
   characters of s in accept. */
size_t strrspn (const char *s, const char *accept)
{
  const char *ch;
  size_t len = strlen(s);

more: 
  if (len > 0) {
    for (ch = accept ; *ch != 0 ; ch++) {
      if (s[len - 1] == *ch) {
        len--;
        goto more;
      }
    }
  }
  return len;
}

Для тех, кто ищет эквивалент Perl chomp в C, я думаю, что это он (chomp только удаляет конечную новую строку).

line[strrspn(string, "\r\n")] = 0;

Функция strrcspn:

/* Returns the length of the segment leading to the last 
   character of reject in s. */
size_t strrcspn (const char *s, const char *reject)
{
  const char *ch;
  size_t len = strlen(s);
  size_t origlen = len;

  while (len > 0) {
    for (ch = reject ; *ch != 0 ; ch++) {
      if (s[len - 1] == *ch) {
        return len;
      }
    }
    len--;
  }
  return origlen;
}
0
задан Pablo Castro 3 March 2019 в 15:32
поделиться

2 ответа

S3 является безопасным по умолчанию, и так было всегда - пользователю всегда нужно было делать преднамеренные, целенаправленные шаги для того, чтобы «случайно» обнародовать содержимое своего сегмента ... хотя пользователи все равно время от времени допускают ошибки конфигурации и выставляют их ведра.

AWS реализовал два уровня защиты от стеганого оружия, предназначенных для того, чтобы сделать эти ошибки более сложными - существуют настройки уровня корзины и уровня счета, чтобы предотвратить публичный доступ к корзинам, и ] из которых нужно «разрешить» вам это сделать. Если какая-либо из политик не позволяет вам публиковать корзину, вы получите Access Denied при попытке создать или изменить политику корзины, если система классифицирует вашу новую политику как даже слегка «общедоступную».

Прежде чем продолжить и отключить безопасность, обратите внимание, что система пытается защитить вас от себя. По сути, никогда нет веской причины, чтобы * писать или удалять из вашего списка. "Principal": "*" означает любого пользователя, включая неаутентифицированных / анонимных пользователей.

Найдите «Настройки общего доступа для этой учетной записи» на левой панели навигации консоли S3 для глобальных настроек.

https://aws.amazon.com/blogs/aws/amazon-s3-block-public-access-another-layer-of-protection-for-your-accounts-and-buckets/ [113 ] [+1112]

0
ответ дан Michael - sqlbot 3 March 2019 в 15:32
поделиться

Похоже, что учетная запись пользователя, которую вы пытаетесь сделать, не имеет разрешения на изменение этого конкретного сегмента. Проверьте разрешение своей учетной записи в IAM или на панели учетной записи.

0
ответ дан Pablo Castro 3 March 2019 в 15:32
поделиться
Другие вопросы по тегам:

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