Как изменить разрешение накопителя на внешнем жестком диске?
У меня был старый ноутбук. Когда он получил жалобу, я вынул его жесткий диск и начал использовать его в качестве внешнего жесткого диска. Он имеет 80 ГБ памяти, выделенной для раздела диска Windows C. Но теперь мне больше не нужен этот раздел. Но проблема в том, что я не могу получить доступ к этому диску, чтобы вставить в него файлы. Как я могу сделать разрешение на чтение и запись на этот диск с помощью терминала?
3 ответа
Если вы хотите получить право собственности на диск, вы можете использовать команду chown:
sudo chown -R username:username /media/username/nameofdrive
Это дает пользователю право собственности на диск, не давая разрешения неавторизованным пользователям и -R
делает эту команду рекурсивной, так что владение также распространяется на все существующие отдельные файлы на диске, а не только на сам диск.
Вы также можете использовать -R
делать chmod
также рекурсивный.
1. Нормальная техника для файлов НА внешнем диске, но правильная техника для файлов, которые вы только что скопировали на свой компьютер С внешнего диска
Это работает: рекурсивно (
-R
) измените (часть перед двоеточием) и (часть после двоеточия
:
) на ваше имя пользователя:
sudo chown -R username:username /media/username/nameofdrive
НО, проблема в том, что это затрудняет совместное использование внешнего диска между несколькими пользователями и/или на нескольких компьютерах, потому что каждый человек в каждой системе, которому нужен доступ к этим файлам, должен иметь один и тот же
username
, или должен быть частью одного и того же
groupname
. Наличие одного и того же имени пользователя работает, только если это один и тот же человек, так что это не всегда имеет смысл. Наличие одного и того же имени группы допустимо, если диск постоянно используют одни и те же люди, и все они добавляют себя в одну и ту же группу с помощью:
usermod -a -G groupname
НО, если имя группы не существует в одной системе и отображается просто как число, например
5000
, когда вы смотрите на него с
ll
(
ls -alF
), то вы не сможете легко добавить себя в ту же группу, потому что
usermod -a -G 5000
выдает эту ошибку:
$ usermod -a -G 5000
usermod: group '5000' does not exist
2. Иногда лучше для файлов НА внешнем диске
Итак, это приводит нас к следующему решению: просто дайте полные права доступа к этим файлам всем:
sudo chmod -R 777 /media/username/nameofdrive
НО, это также помечает ВСЕ файлы как исполняемые, что на самом деле не имеет смысла. Вы не хотите произвольно помечать каждый файл как исполняемый, так как это может представлять угрозу безопасности, а также раздражать, когда каждый раз, когда вы дважды щелкаете текстовый файл, чтобы открыть и отредактировать его, он спрашивает вас, хотите ли вы чтобы запустить/выполнить его.
3. Еще лучше № 1 (или лучше, если вам ДЕЙСТВИТЕЛЬНО нужны права на запись для всех) для файлов на внешнем диске.
Итак, это подводит меня к моей рекомендации: дайте полные разрешения всем (
-a
, или 'a'll), а только установить исполняемый бит (т.е. использовать
+X
, НЕТ
+x
), если это либо каталог, либо уже установлен для одного или нескольких «пользователей», «групп» или «других», например:
sudo chmod -R a+rwX /media/username/nameofdrive
man chmod
говорит о столице
X
против нижнего регистра
x
вариант:
...выполнять/искать, только если файл является каталогом или уже имеет разрешение на выполнение для какого-либо пользователя (X),...
4. Еще лучше № 2 (или лучше, если вам НЕ нужны права на запись для всех, т.е. если чтения достаточно) для файлов НА внешнем диске
НО, что еще лучше, если вам это сойдет с рук: если вам действительно не нужны гарантированные права на запись для всех, просто убедитесь, что у вас есть хотя бы права на чтение для всех на диске, например:
sudo chmod -R a+rX /media/username/nameofdrive
Затем примените разрешения
-R a+rwX
только ПОСЛЕ копирования файлов на локальный компьютер с внешнего диска:
cp -r /media/username/nameofdrive/some_dir ~/some_local_path
# Now add `w`rite for everyone
sudo chmod -R a+rwX ~/some_local_path
# OR (even better!): just make yourself the owner now that it's on your local drive:
sudo chown -R username:username ~/some_local_path
Использованная литература:
- https://superuser.com/questions/454795/how-can-i-do-a-recursive-chmod-only-on-directories/454807#454807
- [мой репозиторий/файл: выполните поиск в этом файле, чтобы найти кучу моих личных
chmod
примеры здесь] eRCaGuy_dotfiles/git и команды Linux, помощь, советы и рекомендации - Gabriel.txt
Связанный
Диски будут расположены в /media/username
папка. Перейдите в этот каталог с помощью команды cd. А потом на терминал
sudo chmod 777 nameofdrive
777 назначает права на чтение, запись и выполнение всем пользователям.