Выход из «ls» отличается в корневом режиме

Если вы хотите скрыть файлы, вы оставите их только с переименованием с предыдущим ., как и в случае с соглашением # NIX. Извините, но это все.

Однако, если вы хотите скрыть содержимое файлов / каталогов, вы можете сделать это с разрешениями на файлы.

Так что скажите, что у вас есть куча файлов в папке с именем secret_stash, вы можете изменить его так, чтобы только вы (владелец) имели r-x (читать, выполнять), а все остальные ничего не имели --- (без доступа). Поскольку r-x - это минимальные perms, необходимые для просмотра каталога (чтение для доступа к его содержимому и выполнение для их просмотра), что-либо внутри этой папки эффективно скрыто от всех, но root.

content : Я запускаю это демо как root и пытаюсь получить доступ к папке как myuser

. Для этого вы запускаете [ f12] (700 означает rwx------):

% mkdir secret_stash
% chmod 700 secret_stash

И вот он:

% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash  
./  ../  secret.txt
% cat secret_stash/secret.txt 
TOP SECRET DATA

Теперь, и если я попытаюсь получить к нему доступ из myuser, попытки доступ к папке или ее содержимому сбой:

% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash 
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied

И теперь я так много раз говорил слово «секрет», что он потерял всякий смысл !! ​​

1
задан 31 October 2013 в 23:44

2 ответа

Это потому, что когда вы находитесь в корневом режиме, вы находитесь в домашнем каталоге root. Попробуйте следующее:

pwd
sudo -i
pwd

Вы увидите изменение каталога

3
ответ дан 24 May 2018 в 15:54

это слишком беспокоило меня, поэтому я сделал этот скрипт:

params="$@";sudo -i bash -c "cd \"`pwd`\";$params"

pwd будет запущен с вашим обычным пользователем перед командой, которую вы хотите

поместите его в файл сценария, который root:root rw-r--r-- находится в папке с полной иерархией, принадлежащей корню, также как /MyScripts (создайте его), чтобы быть более безопасным ..

недостаток в том, что если у вас есть параметр с промежутком между такими, как ls -1 a "b c", потребует ls -1 a "b\ c", но это может быть выработано позже, когда вы улучшите скрипт:)

1
ответ дан 24 May 2018 в 15:54

Другие вопросы по тегам:

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