Відповіді:
Якщо припустити, що ви дбаєте лише про те, щоб приховати файли від появи в nautilus, у GNOME Bugzilla є помилка з цього приводу. Однак наразі ця помилка не вирішена.
Є ще один спосіб приховати файли від появи в nautilus. Якщо ви створюєте файл, який називається .hidden
всередині каталогу, будь-яке ім'я файлу, вказане у файлі, не відображатиметься.
Наприклад, нижче .hidden файл, який я створив. Цей файл приховає будь-які файли або папки, названі b
або e
розташовані в тому самому каталозі, що і .hidden файл.
Нижче - скріншот папки, що містить .hidden файл. Зверніть увагу , що ви бачите тільки три файли: a
, c
і f
. Ви не бачите .hidden файл через '.' на початку своєї назви.
Скріншот нижче - з тієї ж папки, що і раніше. Однак цього разу я натиснув Ctrl+, Hщоб nautilus відображав приховані файли та папки. Зверніть увагу, як відображаються декілька додаткових файлів. Тепер ви бачите кілька файлів, які раніше були приховані через те, що вони мали імена, які починалися з "." Зараз також існують файли під назвою "b" і "e", які, хоча вони не мають імен, що починаються з ".", Були приховані через те, що вони перелічені у файлі .hidden.
Файли, згадані у файлі .hidden, будуть приховані лише у nautilus. Такі інструменти як ls
і раніше відображатимуть їх. Файл .hidden також не є рекурсивним. Він впливає лише на файли в тій самій директорії, в якій знаходиться .hidden файл.
Деякі люди на форумі пішли вперед і створили скрипти для nautilus, які полегшують додавання файлів у .hidden файл. Перший сценарій включає в себе гарне пояснення про те , як встановити та використовувати скрипти, але другий сценарій трохи чистий і коротше. Сміливо використовуйте будь-який сценарій, щоб полегшити ваше життя.
Unix і Linux підтримують лише приховування папок, які знаходяться з a .
.
Якщо ви дійсно хочете вивести їх із шляху, але хочете, щоб їх не було .
, покладіть їх .hidden
у той самий каталог, що і файл або папку, яку ви хочете приховати. .hidden
не відкриється менеджером файлів, і ваші файли не змінять ім’я.
З командного рядка ви можете спробувати щось подібне у вашому .bash_aliases
файлі:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
Це додає нову команду, lsh
яка поводиться так ls
, але приховує файли, перелічені в .hidden
каталозі. (У нього також відсутні деякі його функції, такі як кольоровий вихід і списки стовпців.)
Якщо ви хочете приховати файли, вам залишається лише перейменувати їх із попереднім .
, як це є * NIX-конвенція. Вибачте, але це все.
Однак, якщо ви хочете приховати вміст файлів / каталогів, ви можете зробити це з дозволами для файлів.
Отже, скажіть, у вас є маса файлів у папці, яку називають secret_stash
, ви можете змінити її, щоб мати лише (ви (власник)) r-x
(читати, виконувати), а всі інші нічого ---
(немає доступу). Оскільки r-x
для перегляду каталогів необхідний мінімальний номер (прочитайте, щоб отримати доступ до його вмісту та виконати, щоб мати можливість їх бачити), все, що знаходиться всередині цієї папки, фактично приховано від усіх, але не root
.
ПРИМІТКА . Я демонструю цю демонстрацію як root
і намагаюся отримати доступ до папки якmyuser
Для цього ви запускаєте chmod 700 dirname
(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
І тепер я так багато разів сказав слово "секрет", що втрачає всяке значення !!
chmod -R 000 secret_stash
тоді ніхто не зможе його прочитати!
По-перше: якщо ви хочете приховати файл від кого-небудь: встановіть систему виявлення вторгнень Linux . ( Snort - приклад) Ви навіть можете приховати файл із "root", але "root" також зможе відновити ці налаштування.
Але може бути простіше просто встановити права доступу до каталогу, який містить файл, на "root". Приклад:
$ sudo su
# mkdir tmp/
# touch tmp/1
# chown root:root tmp
# chmod 000 tmp
# ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp
# exit
exit
$ ls
tmp
$ cd tmp/
bash: cd: tmp/: Permission denied
І файл 1
ефективно прихований від перегляду.
Каталог буде видно; файл не буде видно Майте на увазі: "root" ЗАВЖДИ матиме доступ до будь-якого файлу.
Разом із chattr
файлом ви навіть можете зробити файл незмінним.
sudo su
chattr + i {file}
і навіть "root" не може змінити файл -unless- the reverted chattr
(і так "root" може це зробити).
Якась комбінація клавіш для цього?
Ні, це щось потрібно робити вручну.
Існує також розширення для Nautilus під назвою nautilus-hid, яке дозволить вам приховати будь-який файл чи папку простим клацанням правою кнопкою миші на них.
Щоб встановити це розширення:
sudo apt-get install nautilus-hide
в терміналі або знайдіть "nautilus hid" в програмному центрі Ubuntu.
Не забудьте вийти з Nautilus після встановлення: Alt+ F2та введіть nautilus -q
.
'
ім'я файлу чи папки, яка містить пробіл, це не так. Просто додайте ім’я файлу чи папки