vim mycheck.py
print('writing in normal user')
chmod 000 mycheck.py
ls -al mycheck.py
---------- 1 normal normal 27 Aug 23 11:01 mycheck.py
Файл принадлежит пользователю normal
и установлен в режиме 000
, normal
пользователь не может выполнить его самостоятельно.
python3 mycheck.py
python3: can't open file 'mycheck.py': [Errno 13] Permission denied
Почему root
можно это сделать?
su root
python3 /home/normal/mycheck.py
writing in normal user
Как сделать так, чтобы файл мог mycheck.py
выполняться только его владельцем normal
, и в то же время запретить root-пользователям выполнять его?
решение1
Root имеет все привилегии, чтобы делать что угодно. Либо chmod
файл, который он/она хочет, либо войти как вы с su
. (если SELinux, AppArmor не мешает ему)
Также примечание: доступ на выполнение не нужен, поскольку Python «читает» файл.