Вы можете попробовать следующий код python snippet
import os
import glob
files = glob.glob('*')
for file in files:
var1 = file.find(' (')
var2 = file.find(')')+1
filename = file[:var1] + file[var2:]
os.rename(file, filename)
glob находит все файлы, которые удовлетворяют аргументу regex. Вы перебираете список и изменяете имя файла rename, меняя имя file Как и то, что сказал @steeldriver, пользователи не должны удалять свой домашний каталог, так как /home принадлежит root. Я проверил это на своей машине Ubuntu, чтобы подтвердить, что логика держится: D
EDIT: Хорошо, вот пример:
# As root
mkdir outerDir # The wrapper dir
mkdir outerDir/innerDir # The directory you want the user to have access to, but not delete
chown youruser:youruser outerDir/innerDir # Change ownership to your user
Поскольку /home уже принадлежит root, youruser должен иметь возможность создавать & amp; редактировать файлы и amp; такой как /home/youruser, но не удалять /home/youruser сам
Вам также необходимо следить за разрешениями. Ваш внешний каталог или /home должен быть доступен для чтения всем пользователям, но доступен только для записи root, а внутренний каталог или /home/youruser должен быть доступен для чтения и amp; доступный для записи вашим пользователем, но не другими. Пример этого с chmod:
# As root
chmod 755 outerDir # Make the outer directory readable by all
chmod 700 outerDir/innerDir # Make the inner directory only accesible to the user who owns it
Номера, которые я дал, находятся в порядке пользователя, группы и других. 7 означает, что он доступен для чтения, записи и выполнения. 5 означает, что он доступен для чтения и записи, а 0 означает отсутствие доступа, поэтому 755 означает, что он доступен для чтения, записи и исполнения пользователем, который владеет файлом, и читаемым и исполняемым группой, которая владеет им; все остальные; 700 означает, что он доступен для чтения, записывается и исполняется пользователем, который его владеет, и никем другим. Если вы хотите узнать больше о chmod, попробуйте это, это будет только первый результат Googling «chmod»
Если вы хотите, чтобы у каждого из них был частный / домашний каталог, но он не мог получить доступ к другому / домашнему каталогу, сделайте «chmod 700 $ HOME», но это должно выполняться домашним каталогом каждого пользователя. Другой способ делает это с учетной записью sudo, или вы можете включить root, выполнив «sudo passwd root» после запроса настройки passwd для root, чтобы переключиться на корневую учетную запись «su», введите root passwd, тогда вы можете от root chmod каждого пользователя домашний каталог в соответствии с привилегиями и потребностями каждого. Кроме того, «chmod 700 directoryname» работает.
Как и то, что сказал @steeldriver, пользователи не должны удалять свой домашний каталог, так как /home принадлежит root. Я проверил это на своей машине Ubuntu, чтобы подтвердить, что логика держится: D
EDIT: Хорошо, вот пример:
# As root
mkdir outerDir # The wrapper dir
mkdir outerDir/innerDir # The directory you want the user to have access to, but not delete
chown youruser:youruser outerDir/innerDir # Change ownership to your user
Поскольку /home уже принадлежит root, youruser должен иметь возможность создавать & amp; редактировать файлы и amp; такой как /home/youruser, но не удалять /home/youruser сам
Вам также необходимо следить за разрешениями. Ваш внешний каталог или /home должен быть доступен для чтения всем пользователям, но доступен только для записи root, а внутренний каталог или /home/youruser должен быть доступен для чтения и amp; доступный для записи вашим пользователем, но не другими. Пример этого с chmod:
# As root
chmod 755 outerDir # Make the outer directory readable by all
chmod 700 outerDir/innerDir # Make the inner directory only accesible to the user who owns it
Номера, которые я дал, находятся в порядке пользователя, группы и других. 7 означает, что он доступен для чтения, записи и выполнения. 5 означает, что он доступен для чтения и записи, а 0 означает отсутствие доступа, поэтому 755 означает, что он доступен для чтения, записи и исполнения пользователем, который владеет файлом, и читаемым и исполняемым группой, которая владеет им; все остальные; 700 означает, что он доступен для чтения, записывается и исполняется пользователем, который его владеет, и никем другим. Если вы хотите узнать больше о chmod, попробуйте это, это будет только первый результат Googling «chmod»
Если вы хотите, чтобы у каждого из них был частный / домашний каталог, но он не мог получить доступ к другому / домашнему каталогу, сделайте «chmod 700 $ HOME», но это должно выполняться домашним каталогом каждого пользователя. Другой способ делает это с учетной записью sudo, или вы можете включить root, выполнив «sudo passwd root» после запроса настройки passwd для root, чтобы переключиться на корневую учетную запись «su», введите root passwd, тогда вы можете от root chmod каждого пользователя домашний каталог в соответствии с привилегиями и потребностями каждого. Кроме того, «chmod 700 directoryname» работает.