день добрые, братцы кролики!
исходные
- NAS / OpenMediaVault-3.0.94
- hd1,hd2 - два диска EXT4, одинаково подключены/расшарены CIFS/SAMBA
- на 1м были изрядно "поломаны" пермишны (рут-не-рут, юзер-пузер, исполняемые-неисполняемы итд, короче, полный трындец)
- было сделано удаленное подключение к NAS-у, исправление пермишнов.
по пунктам
исправление пермишнов
cd /srv/dev-disk-by-label-hd1/hd1
chown -Rc sun:users ./
find ./ -type f -exec chmod 0664 {} +
find ./ -type d -exec chmod 0775 {} +
sync && reboot
после этого, почти все ОК, за исключением «недобитого бита исполнения».
на 2м диске с этим все нормально (трогать его «хекспериментальными» командами не будем, только поверхностно сравним поведение с 1м диском)
монтируются диски одинаково
sudo mount -t cifs //nas/hdX /mnt/nas_smb_hdX -o username=sun,password=@XXX@,vers=1.0
далее поочереди заходим в примонтированные каталоги и выполняем тест:
- создание текстового файла, смотрим пермишны
- снимаем/устанавливаем бит 'x', смотрим
#
# hd1
#
# создание файла
main$ ls -l text.txt
-rw-rw---- 1 sun users 0 Mar 28 16:37 text.txt
# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rwx--- 1 sun users 0 Mar 28 16:37 text.txt*
# устанавливаем бит
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwx--x 1 sun users 0 Mar 28 16:37 text.txt*
# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rwx--- 1 sun users 0 Mar 28 16:37 text.txt*
#
# hd2
#
# создаем файл
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt
# снимаем бит
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt
# устанавливаем бит
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwxr-x 1 sun users 0 Mar 28 16:39 text.txt*
# снимаем бит
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 0 Mar 28 16:39 text.txt
коротко:
на 1м диске бит устанавливается и более не снимается
на 2м поведение предсказуемое (устанавливается/сбрасывается как ожидалось)
уточнение:
chown sun:users
что необходимо: привести поведение 1го диска к норме (как 2го диска)
спасибо
p.s. тест на виртуалки с нуля
main$ echo "text" > text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$
main$ chmod +x text.txt
main$ ls -l text.txt
-rwxrwxr-x 1 sun users 5 Mar 28 19:40 text.txt*
main$
main$ chmod -x text.txt
main$ ls -l text.txt
-rw-rw-r-- 1 sun users 5 Mar 28 19:40 text.txt
main$
### update ###
пришлось переставить все с нуля :о)
всем спасибо за невмешательство (особенно отдельным личностям)