Единственный способ - создать каталог, в который пользователь не может писать. Создайте один файл в этом каталоге и дайте им разрешение на запись в этот файл. Они не смогут ни удалить файл, ни создать другой файл.Они также не смогут переименовать файл. Но они могут перезаписать файл и изменить метаданные файла (временные метки, разрешения и т. Д.), Если они владеют файлом.
chown root:root mydir
chmod 755 mydir
touch mydir/somefile
chown bob mydir/somefile
Мне это кажется совершенно бессмысленным. Разрешение пользователю иметь один файл не дает никаких преимуществ с точки зрения безопасности; может быть полезно, если вы дополнительно ограничите имя (как я здесь), но даже это кажется надуманным. Убедитесь, что вы решаете свою настоящую проблему, а не какое-то выдуманное бессмысленное ограничение .
Вот что я использую:
df | awk ' {if(NR>1) print}'
cat file | awk ' {if(NR>1) print}'
Или в сценарии:
#!/bin/awk -f
{
if(NR>1) print
}
, затем
cat file | nohead.awk