Это может помочь использовать утилиту locate ➜ ~ locate debian.cnf /etc/texmf/texmf.d/00debian.cnf
Вам нужно использовать sudo для правильного правила sudoers. Либо:
Использовать текущее правило sudoers и запустить sudo /home/abc/ak.sh Использовать другое указанное вами правило, но с абсолютным путем для cat следующим образом: abc ALL=NOPASSWD: /bin/cat /dev/tty13 и запустить sudo cat /dev/tty13 в скрипте.Вам нужно использовать sudo для правильного правила sudoers. Либо:
Использовать текущее правило sudoers и запустить sudo /home/abc/ak.sh Использовать другое указанное вами правило, но с абсолютным путем для cat следующим образом: abc ALL=NOPASSWD: /bin/cat /dev/tty13 и запустить sudo cat /dev/tty13 в скрипте.Вам нужно использовать sudo для правильного правила sudoers. Либо:
Использовать текущее правило sudoers и запустить sudo /home/abc/ak.sh Использовать другое указанное вами правило, но с абсолютным путем для cat следующим образом: abc ALL=NOPASSWD: /bin/cat /dev/tty13 и запустить sudo cat /dev/tty13 в скрипте.Предполагая, что ваш метод освобождения паролей работает так же, как изменение sudoers, вам нужно вызвать SCRIPT с sudo, а не командой IN script. Или измените sudoers. Другими словами:
sudo /home/abc/ak.sh
- это то, что вы освободили от необходимости вводить пароль, а не cat. Вы все еще должны использовать sudo, но если вы это сделаете правильно, вам не потребуется вводить пропуск.
@muru
Почему мне кажется лучше, чтобы пароль был освобожден от скрипта СОДЕРЖАНИЕ команды cat, а не самой кошки:
$ ls / | grep secrets
secrets_root_does_not_want_to_share_.txt
$ # hmmm, that looks interesting . . .
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # Curses! My evil plans are foiled because:
$ stat /secrets_root_does_not_want_to_share_.txt | grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ # But wait! I'm pass exempted! So:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
[d5 ] Исключение пароля sudo cat не так опасно, как, например, пароль, освобождающий sudo echo, но мне кажется, что это довольно плохая практика. Добавлено позже, чтобы рассказать о скептицизме Муру относительно эквивалентности sudo cat, когда пароль не истек от предыдущего использования sudo до sudo cat, когда кошка был освобожден паролем:
Я добавил правило к началу раздела освобождения моего пропуска в / etc / sudoers, например:
me THIS_LOCAL_SYS=(ALL)NOPASSWD:/bin/cat, . . . [many other rules, separated by commas]
Затем в новом терминале: [!d9 ]
$ # Demonstrating that password is not un-expired from previous use of sudo:
$ sudo ls /root
[sudo] password for j:
$ stat /secrets_root_does_not_want_to_share_.txt|grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # And rightly so, but with pass exempted sudo:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
$
Итак, да, они эквивалентны, как и должно быть; да, я понимаю, как работает sudo - я только редактировал этот файл несколько сотен раз; и да, пароль, освобождающий plain / bin / cat, вместо скрипта, содержащего cat, является необоснованной практикой с точки зрения безопасности. Опять же, не катастрофическая глупость, что пароль, освобождающий sudo echo или sudo vi, был бы, но все же плохая идея.
Предполагая, что ваш метод освобождения паролей работает так же, как изменение sudoers, вам нужно вызвать SCRIPT с sudo, а не командой IN script. Или измените sudoers. Другими словами:
sudo /home/abc/ak.sh
- это то, что вы освободили от необходимости вводить пароль, а не cat. Вы все еще должны использовать sudo, но если вы это сделаете правильно, вам не потребуется вводить пропуск.
@muru
Почему мне кажется лучше, чтобы пароль был освобожден от скрипта СОДЕРЖАНИЕ команды cat, а не самой кошки:
$ ls / | grep secrets
secrets_root_does_not_want_to_share_.txt
$ # hmmm, that looks interesting . . .
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # Curses! My evil plans are foiled because:
$ stat /secrets_root_does_not_want_to_share_.txt | grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ # But wait! I'm pass exempted! So:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
Исключение пароля sudo cat не так опасно, как, например, пароль, освобождающий sudo echo, но мне кажется, что это довольно плохая практика.
Добавлено позже, чтобы рассказать о скептицизме Муру относительно эквивалентности sudo cat, когда пароль не истек от предыдущего использования sudo до sudo cat, когда кошка был освобожден паролем:
Я добавил правило к началу раздела освобождения моего пропуска в / etc / sudoers, например:
me THIS_LOCAL_SYS=(ALL)NOPASSWD:/bin/cat, . . . [many other rules, separated by commas]
Затем в новом терминале:
$ # Demonstrating that password is not un-expired from previous use of sudo:
$ sudo ls /root
[sudo] password for j:
$ stat /secrets_root_does_not_want_to_share_.txt|grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # And rightly so, but with pass exempted sudo:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
$
Итак, да, они эквивалентны, как и должно быть; да, я понимаю, как работает sudo - я только редактировал этот файл несколько сотен раз; и да, пароль, освобождающий plain / bin / cat, вместо скрипта, содержащего cat, является необоснованной практикой с точки зрения безопасности. Опять же, не катастрофическая глупость, что пароль, освобождающий sudo echo или sudo vi, был бы, но все же плохая идея.
Предполагая, что ваш метод освобождения паролей работает так же, как изменение sudoers, вам нужно вызвать SCRIPT с sudo, а не командой IN script. Или измените sudoers. Другими словами:
sudo /home/abc/ak.sh
- это то, что вы освободили от необходимости вводить пароль, а не cat. Вы все еще должны использовать sudo, но если вы это сделаете правильно, вам не потребуется вводить пропуск.
@muru
Почему мне кажется лучше, чтобы пароль был освобожден от скрипта СОДЕРЖАНИЕ команды cat, а не самой кошки:
$ ls / | grep secrets
secrets_root_does_not_want_to_share_.txt
$ # hmmm, that looks interesting . . .
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # Curses! My evil plans are foiled because:
$ stat /secrets_root_does_not_want_to_share_.txt | grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ # But wait! I'm pass exempted! So:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
Исключение пароля sudo cat не так опасно, как, например, пароль, освобождающий sudo echo, но мне кажется, что это довольно плохая практика.
Добавлено позже, чтобы рассказать о скептицизме Муру относительно эквивалентности sudo cat, когда пароль не истек от предыдущего использования sudo до sudo cat, когда кошка был освобожден паролем:
Я добавил правило к началу раздела освобождения моего пропуска в / etc / sudoers, например:
me THIS_LOCAL_SYS=(ALL)NOPASSWD:/bin/cat, . . . [many other rules, separated by commas]
Затем в новом терминале:
$ # Demonstrating that password is not un-expired from previous use of sudo:
$ sudo ls /root
[sudo] password for j:
$ stat /secrets_root_does_not_want_to_share_.txt|grep 'Access: ('
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
$ cat /secrets_root_does_not_want_to_share_.txt
cat: /secrets_root_does_not_want_to_share_.txt: Permission denied
$ # And rightly so, but with pass exempted sudo:
$ sudo cat /secrets_root_does_not_want_to_share_.txt
Oh, my. Sensitive stuff is exposed to ordinary users.
$
Итак, да, они эквивалентны, как и должно быть; да, я понимаю, как работает sudo - я только редактировал этот файл несколько сотен раз; и да, пароль, освобождающий plain / bin / cat, вместо скрипта, содержащего cat, является необоснованной практикой с точки зрения безопасности. Опять же, не катастрофическая глупость, что пароль, освобождающий sudo echo или sudo vi, был бы, но все же плохая идея.