Вы использовали команду
chmod +s filename
Синтаксис, использованный вами для ввода этой команды, неверен. Правильный синтаксис будет
chmod [ugoa]+s filename
, где вы можете использовать любую комбинацию букв u, g, o и a.
Unix, как вы уже знаете, хранит информацию о разрешениях для каждой папки / файла. Для каждого файла есть разрешения на чтение, запись, выполнение, прикрепление и многое другое. Для одного файла существует другой набор разрешений для владельца, группы и всех остальных. Таким образом, хотя владелец файла может читать, записывать и выполнять файл, все остальные пользователи в группе владельца могут читать только этот файл, а все остальные могут вообще не иметь доступа к этому файлу. .
При вводе команды chmod необходимо указать, для какого набора пользователей вы изменяете права доступа. Сделайте это, используя комбинацию букв u, g, o и a. «u» изменяет разрешения для владельца файла, «g» для всех пользователей в группе владельца, «o» для всех остальных пользователей, не входящих в группу владельца, и «a» для всех трех групп пользователей.
Примеры:
chmod ga-r confidential.txt
сделает так, чтобы только владелец файла мог прочитать 'confidential.txt'. Все остальные пользователи, включая пользователей из группы владельцев, не смогут прочитать «confidential.txt»
chmod ga-rwx really_confidential.txt
сделает так, чтобы кто-либо, кроме владельца этого файла, не мог читать, записывать или исполнять файл действительно_confidential.txt. Другими словами, вы удаляете возможность читать, писать или исполнять файл действительно_confidential.txt у всех пользователей, кроме владельца.
chmod u+s filename
добавляет бит привязки к имени файла, только для владельца этого файла.
РЕДАКТИРОВАТЬ: О да, и так как файл принадлежит root, убедитесь, что перед командой вы вводите 'sudo'. Но, похоже, ты это уже знаешь.