Как получить доступ к файлу в пользовательской папке внутри рутовой в Ubuntu?
Мне казалось, что если моя, как пользователя, папка и файлы лежат внутри чужой, то я все равно смогу иметь к ним доступ.
Возможно, это не так. Если да, то почему?
Это не так. Для того чтобы иметь какой бы то ни было доступ к файлу нужно иметь доступ 'x' к каждому каталогу в пути до этого файла. Т.е. для доступа к файлу /root/.crons/whatever нужно иметь 'x' к /root и 'x' к /root/.crons.
Здравствуйте.
Вам коллеги уже сказали, что не нужно ничего такого делать, потому что нарушается безопасность. Но если очень нужно, подумав десять раз, то можно сделать то что вы хотите.
В 199затертом году тоже возникала похожая задача. Нужно было "что то" делать, но обычные пользователи не должны были знать некоторую информацию, доступную только для root. 
Вы можете использовать возможности операционной системы Unix/Linux,  setuid - "установка ID пользователя во время выполнения".
Создайте тестовую программу, назовем её startuid.c:// startuid.c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>

int main(void)
{
   pid_t child_pid;

    printf("Real UID\t= %d\n", getuid());
    printf("Effective UID\t= %d\n", geteuid());
    printf("Real GID\t= %d\n", getgid());
    printf("Effective GID\t= %d\n", getegid());
   
   if((child_pid = fork()) < 0 )
   {
      perror("fork failure");
      exit(1);
   }

   if(child_pid == 0)
   {
      execl("/bin/ls", "ls", "-l", "/root", (char*)0);
      perror("execl() failure!\n\n");
      _exit(1);
   }
    return EXIT_SUCCESS;
}
Скомпилируйте startuid.c, и скопируйте результат в домашнюю директорию обычного пользователя, например alex, который должен будет выполнить нужную вам команду с идентификатором uid=0(root).[Unix]# ls -l
-rwxr-xr-x 1 root root 7348 Jul  2 18:19 startuid
используйте chmod для установки атрибута setuid[Unix]# chmod u+s startuid
[Unix]# ls -l
-rwsr-xr-x 1 root root 7348 Jul  2 18:19 startuid
До установки атрибута setuid, и запуска startuid от пользователя alex, выполняющий "ls -l /root" (листинг домашнего каталога пользователя root ) выдавал ошибку "Permission denied". После установки атрибута setuid, и запуска startuid вы получали список файлов в каталоге пользователя root. 
Само собой запуск "ls -l /root" это просто пример, вместо этого вы можете написать ту команду, которую вам надо выполнить обычным пользователем от рута.
Кроме того, возможно вам пригодится почитать про Sticky bit 
Удачи, и будьте осторожны.