Посмотрите на команду stat
, это показывает 3 раза, когда файл был доступен в последний раз, когда он был в последний раз изменен и когда его права были изменены в последний раз.
Вас интересуют разрешения (изменения), смотрите ниже вывод для примера файла, который у меня только что chmod'ed;
prompt::11:26:45-> stat ideas.md
File: ‘ideas.md’
Size: 594 Blocks: 8 IO Block: 4096 regular file
Device: 27h/39d Inode: 117 Links: 1
Access: (0770/-rwxrwx---) Uid: ( 0/ root) Gid: ( 992/ vboxsf)
Context: system_u:object_r:vmblock_t:s0
Access: 2014-12-21 19:15:29.000000000 +0000
Modify: 2014-12-21 19:15:29.000000000 +0000
Change: 2014-12-22 11:26:45.000000000 +0000
Birth: -
Или как @0xC0000022L говорит, что вы можете использовать stat -c
, чтобы показать именно тот вывод, который вам нужен;
prompt::11:32:46-> stat -c %z ideas.md
2014-12-22 11:26:51.000000000 +0000
Я бы сказал нет. Нет, если только у тебя нет веской причины. Я работаю в крупной финансовой компании с очень строгими методами обеспечения безопасности, так что одна из вещей, которую мы делаем, это отбираем sudo у всех, а затем возвращаем его выборочно.
Один из идентификаторов, с которого мы его забираем, является корневым. Это означает, что если я устанавливаю RPM с «sudo rpm»..., я делаю это как root, что нормально, но если RPM затем в своих сценариях пытается sudo, это будет неудачно - потому что, опять же, мы заблокировали даже root из глобального sudo.
Теперь, если мы избирательно вернули sudo для определенных команд, это может сработать, если 100% вызовов RPM sudo - это вещи, которые были даны root. Но шансы на это невелики.
Возникли проблемы со сценариями sudo внутри RPM. Лучше просто оставить это, я думаю. Или, по крайней мере, имейте в виду, что есть такие компании, как моя, где вы можете не знать, кто имеет sudo для чего, и даже корень может не иметь его.
-121--68633-MAX _ ARG _ STRLEN применяется только при вызове внешних программ. «for» является частью синтаксиса bash, и bash будет обрабатывать это непосредственно. И да, он будет выполнять команду seq и захватывать весь stdout перед выполнением подстановки в оператор «for».
-121--111639-Предположим, что идентификатор группы - «foo»
с помощью visudo для изменения настроек sudo:
Символ% идентифицирует группу
%foo ALL = (root) /usr/bin/reboot
Для изменения пароля необходимо использовать сценарий, ограничивающий активность - sudo не может сделать все это.
Предположим, что один специальный пользователь - peewee С помощью visudo add:
User_Alias SPECIAL peewee
SPECIAL ALL = (root) NOPASSWD: /root/special_passwd.shl
В качестве корня:
mkdir /root
chmod 750 /root
Это полностью не проверено: назовите этот скрипт special_passwd.shl, поместите его в корневой каталог. Разрешения = 750
#!/bin/bash
if [ $# -eq 2 ] ; then
# echo username:passwd | chpasswd is the syntax
grp=$(/usr/bin/id -g "$1")
if [ "$grp" = "1234" ]; then
echo ${1}:${2} | /usr/bin/chpasswd
[ $? -eq 0 ] || echo 'password change failed'
fi
else
echo 'No password change: requires username, new password'
fi
Рекомендуется показать, что вы примерили к этому. Сценарий - стартер, не предназначенный для производства.