Ahoj,
prejdu rovnou k veci. Mam slozku webdav, do ktere chci kopirovat soubory/slozky s tim, ze kazdy soubor/slozka nakopirovana do webdav bude mit nastaveno prava pro other rwx. Bohuzel se mi nedari...udelal jsem nasledujici.
sudo setfacl -R -d -m other::rwX webdav
sudo setfacl -R -d -m mask::rwx webdav
cp /home/pol/sw/install/windows/linux.bin ./webdav/
getfacl linux.bin
# file: linux.bin
# owner: pol
# group: www-data
user::rwx
user:www-data:rwx #effective:---
group::rwx #effective:---
mask::---
other::---
Co vypíše
getfacl webdav
?
getfacl webdav/
# file: webdav/
# owner: www-data
# group: www-data
user::rwx
user:www-data:rwx
group::rwx
mask::rwx
other::rwx
default:user::rwx
default:user:www-data:rwx
default:group::rwx
default:mask::rwx
default:other::rwx
To vypadá ok, nevim proč to nefunguje. Jediný, co mě napadá, jestli to ještě nemění cp...
Zkus vytvořit soubor nějak jinak, např.
touch webdav/pokusny-soubor
mkdir webdav/pokusny-adresar
a napiš jak to dopadlo
getfacl webdav/pokusy-soubor
getfacl webdav/pokusy-adresar
Tak to vypada ze jsi na to prisel:) Ted jeste prijit na to jak to poresit s tim kopirovanim...
getfacl webdav/pokusny-soubor
# file: webdav/pokusny-soubor
# owner: polo
# group: www-data
user::rw-
user:www-data:rwx #effective:rw-
group::rwx #effective:rw-
mask::rw-
other::rw-
getfacl webdav/pokusny-adresar
# file: webdav/pokusny-adresar
# owner: polo
# group: www-data
user::rwx
user:www-data:rwx
group::rwx
mask::rwx
other::rwx
default:user::rwx
default:user:www-data:rwx
default:group::rwx
default:mask::rwx
default:other::rwx
Možná by mohlo fungovat cp --no-preserve=mode
Nepomohlo...
cp --no-preserve=mode /home/pol/sw/install/windows/linux.bin ./
pol@Lenny:/home/ftp/webdav$ getfacl linux.bin
# file: linux.bin
# owner: pol
# group: www-data
user::rw-
user:www-data:rwx #effective:---
group::rwx #effective:---
mask::---
other::---
Já mám pocit, že cp zachovává práva s parametrem -p.
Cau,
no vsak, ale to ja prave nechci, aby dochazelo k zachovani prav...
Áaha, tak to sorry, špatně jsem to pochopil :-)
cp umi jen kopirovat; bud nastavuje prava podle masky pro nove soubory daneho vlastnika (ten ktery spustil cp), nebo s parametrem -p prebere nastaveni z kopirovanych souboru. Zadny parametr pro nastaveni prav cp nema. Domnivam se tedy, ze to se samotnym cp neporesis.
Vidim to tak, ze bude zapotrebi pridat dalsi prikaz - chmod. Mozna by to chtelo maly skriptik, ktery si muzes zluxusnit dle potreby.
H.
To je prave to cemu jsem se chtel vyhnout... jak pouzivani chmod tak skriptu.
tak si zkus vytvorit vzorove soubory v nejakem jinem dir s nastavenim prav a vlastnika dle libosti a kopiruj ty, pak vyuzijes cp -p
Vyhybat se skriptu - jak chces, ale nechapu proc, uzasne usnadnuji zivot.
H.
Pokud se za každou cenu chceš vyhnout použití skriptu, tak můžeš zkusit eště jiný programy na kopírování... mc, nebo správce souborů v graf. prostředí... je možný, že se tvářej, že sou chytrý a dělaj eště nějaký operace navíc, namísto cp, kterej zdá se jednoduše jenom kopíruje. Ale obávám se, že ani to nebude fungovat, jak si chtěl :(
Pak mě napadá ještě rsync, jestli by se hodil k tvému problému...