Chown Question For Subdirectories

I have a directory structure and files I wish to change permissions on, but I don't want to change permissions on every file/subfolder along the way. Example: I want to chown all files in dir4 where my directory struture is:
/dir1/dir2/dir3/dir4/*
However, both dir3 and dir4 are owned by root:root so I need to change the ownership on those directories as well. But, if I do:
chown -R user:group /dir1/dir2/dir3/dir4/
...it will indeed make dir4 and it's files accessible, but it doesn't change dir3 - so folks still can't get to the files they need. I thought about doing:
chown -R user:group /dir1/dir2/dir3*
... but that will give users access not only to dir4 and it's files, but any other files under dir3 which I don't want.

My work around has been to do a chown on /dir1/dir2/dir3 and then a second chown on /dir1/dir2/dir3/dir4/, but I am thinking there has to be a way to do what I want in a single chown command - right?


Similar Content



Finding In Wrong Order So Cat Is Messed Up

hi guys,

thanks in adv for looking through the long winded post...

i'm trying to cat a bunch of text files together into one, but i'm running into problems and i think it's because of how 'find' is working, but i'm not really sure. here's the command i'm using


Code:
find . -name '*.dat' -exec cat {} \; > out.txt

my data structure looks like

dir1
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir2
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir3
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir4
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir5
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir6
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir7
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir8
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir9
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat
dir10
f1.dat
f2.dat
f3.dat
f4.dat
f5.dat
f6.dat
f7.dat
f8.dat
f9.dat
f10.dat

so I "think" in my cat'd file I'm getting the order like this,

dir1f1
dir1f10
dir1f2
dir1f3
dir1f4
dir1f5
dir1f6
dir1f7
dir1f8
dir1f9
dir2f1
dir2f10
dir2f2
dir2f3
dir2f4
dir2f5
dir2f6
dir2f7
dir2f8
dir2f9
etc....

but maybe it's even worse than this, idk

Mount Error 115 On Some Shares

Hi there guys,

I hope you can help me with a small issue that is kinda driving me crazy.
I'm running debian wheezy on a virtual machine and trying to mount some shares from the win8.1 host.
The lines I put in the /etc/fstab a
Code:
//192.168.0.10/dir1 /home/user/dir1 cifs credentials=/root/.secret.pwd,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm 0 0
//192.160.0.10/dir2 /home/user/dir2 cifs credentials=/root/.secret.pwd,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm 0 0
//192.160.0.10/dir3 /home/user/dir3 cifs credentials=/root/.secret.pwd,uid=1000,gid=1000,file_mode=0777,dir_mode=0777,iocharset=utf8,sec=ntlm 0 0

The first share gets mounted correctly, but not the other two.
This is the output I get when sudo-ing a mount -a:
Code:
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

and this is what /var/log/syslog shows:
Code:
Mar 24 12:56:12 hostname kernel: [ 1887.029043] CIFS VFS: Error connecting to socket. Aborting operation
Mar 24 12:56:12 hostname kernel: [ 1887.030013] CIFS VFS: cifs_mount failed w/return code = -115
Mar 24 12:56:22 hostname kernel: [ 1897.052130] CIFS VFS: Error connecting to socket. Aborting operation
Mar 24 12:56:22 hostname kernel: [ 1897.053885] CIFS VFS: cifs_mount failed w/return code = -115

The same happens at boot time.

Now, the crazy thing is that if I run manually a:
Code:
sudo mount //192.168.0.10/dir2 /home/user/dir2 -t cifs -o credentials=/root/.secret.pwd,uid=1000,gid=1000

it works perfectly.

Now, I'm no power user, but I thought I'd be able to manage a couple of simple cifs shares...but then again I guess not
So, my questions so far a
1. how the heck do I make that work?
2. why is it not working? Might be the security? Should I choose perhaps ntlmv2? I read a bit around but I don't know this kind of security mechanisms, so...
3. why on earth is the first mount working just like a charm and not the other two?

You know what? I'm trying now to remove the sec option from the fstab, and see how that works out.

In the meantime, if anyone could lend a hand I'd appreciate it very much

Extract Info And Find/count Strings From Blocks Inside Text File

Hello

I have a text file which has blocks like
Code:
dir1/dir2/dir3/name_run_number1:
line1_run_number1_part1
line2_run_number1_part2
line3_run_number1_part3...

Each block is separated with a blank line and there is the ":" in the "header" of each one while each block carries the same "number1" after "run_" suffix
What I want to do is for each block, extract the "number1" as shown in the first line and then for the lines below count from 1-20 and give a message if a "partX" line is missing. Any bash or python would be fine

Thanks

What Is The Rsync Flag To Ignore Permissions

I am using Rsync to backup files to a another machine, the users on my fileserver do not exist on the backup server so Rsync throws errors about the permissions. It copies the files fine but I want to get rid of the errors and have Rsync ignore the permissions when backing up.

/backup is a mounted ftp directory

Below is the current command and output:
Code:
root@Fileserver:~# rsync -av --delete /shared/fileshare/ /backup/backup
building file list ... done
created directory /backup/backup
./
manager/
manager/chironfs.txt
manager/cronman.txt
manager/curlftpfs.txt
manager/curlman.txt
manager/getnetaddress.txt
manager/grepman.txt
manager/rsyncman.txt
manager/tarman.txt
public/
user1/
user10/
user2/
user3/
user4/
user5/
user6/
user7/
user8/
user9/
rsync: chown "/backup/backup/manager/.chironfs.txt.c6MbJ7" failed: Operation not                  permitted (1)
rsync: chown "/backup/backup/manager/.cronman.txt.hdBG4P" failed: Operation not                  permitted (1)
rsync: chown "/backup/backup/manager/.curlftpfs.txt.t1sG4L" failed: Operation no                 t permitted (1)
rsync: chown "/backup/backup/manager/.curlman.txt.6oWPoW" failed: Operation not                  permitted (1)
rsync: chown "/backup/backup/manager/.getnetaddress.txt.V8z8Kk" failed: Operatio                 n not permitted (1)
rsync: chown "/backup/backup/manager/.grepman.txt.REh4WW" failed: Operation not                  permitted (1)
rsync: chown "/backup/backup/manager/.rsyncman.txt.ho8VNM" failed: Operation not                  permitted (1)
rsync: chown "/backup/backup/manager/.tarman.txt.BkcmeS" failed: Operation not p                 ermitted (1)

sent 211115 bytes  received 274 bytes  6710.76 bytes/sec
total size is 210263  speedup is 0.99
rsync error: some files could not be transferred (code 23) at main.c(977) [sende                 r=2.6.9]
root@Fileserver:~#

I tried the flag to adding the no flag to -p but it still didn't work, see below:
Code:
root@Fileserver:~# rsync -av --no-p --delete /shared/fileshare/ /backup/backup
building file list ... done
./
manager/
manager/chironfs.txt
manager/cronman.txt
manager/curlftpfs.txt
manager/curlman.txt
manager/getnetaddress.txt
manager/grepman.txt
manager/rsyncman.txt
manager/tarman.txt
public/
user1/
user10/
user2/
user3/
user4/
user5/
user6/
user7/
user8/
user9/
rsync: chown "/backup/backup/manager/.chironfs.txt.6Q3eP2" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.cronman.txt.FC8Orx" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.curlftpfs.txt.mlVSN9" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.curlman.txt.vlJ4b1" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.getnetaddress.txt.LXmft0" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.grepman.txt.SVuaye" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.rsyncman.txt.KTNYqA" failed: Operation not permitted (1)
rsync: chown "/backup/backup/manager/.tarman.txt.zcU90c" failed: Operation not permitted (1)

sent 211115 bytes  received 274 bytes  7686.87 bytes/sec
total size is 210263  speedup is 0.99
rsync error: some files could not be transferred (code 23) at main.c(977) [sender=2.6.9]

Changing Ownership Of USB 'Not Permitted' Why?

gael33@gael33-Aspire-X3950 ~ $ sudo chown $USER:$USER /media/usb1
[sudo] password for gael33:
gael33@gael33-Aspire-X3950 ~ $ sudo chown $USER:$USER /media/usb1
chown: changing ownership of ‘/media/usb1’: Operation not permitted
gael33@gael33-Aspire-X3950 ~ $

Any idea why I cannot change permissions on my USB drive?
Any help would be appreciated.

Thanks

gael

Assign Group Permission To Newly Created Files

Directory /media/data/torrents/ has permissions 775, user yzt, group transmission

yzt and debian-transmission are members of the group transmission.

transmission-daemon is run by debian-transmission, and the new files it downloads have permissions 644, owner debian-transmission, group transmission. This is a problem, because I can't later move the files as my user, yzt, and need to be switching to root to change the permissions/ownership to be able to do so.

Using sticky bit I could copy it to anywhere else, but I'm interested on actually moving the file, not just copying it. I could run transmission-daemon as yzt and problem solved, but I rather have that internet facing service running by a limited user, just in case some vulnerability is found on Transmission.

So my question is, how can I set that every new file created under /media/data/torrents/ has permissions 775 like its parent directory?

Using Find And Pipe To Tar

am trying to use tar in combination with find, the goal is to all files in /export that have been modified in the last 24 hours (back up purposes), then tar them so I can untar on the backup server, updating just the modified files.

Perhaps there is a better way, however, I have tried using cpio but the problem come in when I copy to the NAS drive (NTFS) I lose all my owner/group and permissions. I have found that if I tar the files, then copy them to the NAS, when I untar on the server, it will retain the owner/group and permissions.

So… here is what I have tried:

First, I use the find command to see what files should be in the tar archive.
Code:
/export $ find . -depth -mtime 0 -print
./file4
./file3
.

Ok, that looks right, now I will try to pipe that in to tar
Code:
/export $ find . -depth -mtime 0 -print0 | tar -czvf backup.tar.gz --null -T - 
./file4
./file3
./
./share/
./share/pdf/
./share/pdf/penny-2014-09-03-11:41.30.pdf
./share/pdf/penny-2014-09-03-14:25.17.pdf
./share/pdf/penny-2014-09-03-11:24.36.pdf
./share/pdf/penny-2014-09-03-14:37.12.pdf
tar: ./share/pdf/.directory: Cannot open: Permission denied
./share/pdf/penny-2014-09-02-14:52.06.pdf
./share/pdf/penny-2014-09-03-12:18.43.pdf
tar: ./share/PDF: Cannot open: Permission denied
./share/file3
tar: ./share/.directory: Cannot open: Permission denied
./dir1/
./dir1/file1
./file4
./file2
./file3
tar: ./.directory: Cannot open: Permission denied
./list
tar: Exiting with failure status due to previous errors

It seems that it is trying to tar all the files in that directory. When I view the files in backup.tar.gz all of the files from /export are in there not just the modified ones

Chgrp Not Changing A File?

Hello,

OS: CentOS 6.3

Background:
I'm trying to set up a situation where my FTP account is in a group where my phpbb forums were created. This will allow me to upload changes as I customize my forums (ie: .css files). However, right now, my problem is that I'm running into invalid permissions and the only way to move the files is to upload the file to a directory my FTP account has access too and then sudo cp the file over. Upon closer inspection of my files, it appears the groups the files have been made under are not the correct group.

Problem:
I am trying to use chgrp on a specific file to change the group owner to the group my FTP account is a member of but it does not seem to be working. Here is a snippet of what I'm doing:

Code:
zzz@aaaa:/var/www/html/yyy/forums/styles/GlossyBlack/theme]$ sudo chgrp apache colours.css -v
group of `colours.css' retained as apache
zzz@aaaa:/var/www/html/yyy/forums/styles/GlossyBlack/theme]$ ls
total 164
drwxr-xr-x 3 5645316 apache  4096 Mar 27 15:11 .
drwxr-xr-x 6 5645316 apache  4096 Nov 18  2012 ..
-rw-r--r-- 1  root     apache 23480 Mar 27 19:05 colours.css

I'm not sure why it still says root so I suspect I am doing something incorrect. When looking around, at first it seemed chgrp could change group owner on files but as I dug more, it seemed it can also change groups themselves. So I'm a little confused and require some clarity of experts.

I hope changing the group owner of this file will give access to my FTP account so I can apply this change to all needed locations.

Thanks.

/usr/lib/libgconf2-4/gconf-sanity-check-2 Exited With Status 256

Here is the problem:
/usr/lib/libgconf2-4/gconf-sanity-check-2 exited with status 256

Here are all the solutions I founded on the internet (NONE of them work):
rm -rf /var/tmp/rc_host_0
chown -rwx root:root /tmp
chmod 1777 /tmp
chmod 0755 /home
chmod a+rwx /tmp
chown -R root:root /var/lib/gdm
chmod -R 777 /var/lib/gdm
rm -rf /var/lib/gdm3/.*
rm -rf /var/lib/gdm/.*
rm -rf /Home Dir/UserName/.gcon*
rm -rf /Home Dir/UserName/.gnom*
rm -rf /Home Dir/UserName/.cache
rm -rf /Home Dir/UserName/.person*
touch /Home Dir/UserName/.personal.login
cat /etc/gconf/gconf.xml.system
mkdir -p /usr/local/etc/gconf/gconf.xml.default
chmod 775 /etc/gconf/gconf.xml.system

Here is my system information:
Linux Kernel v2.6.32-504.12.2.el6.x86_64
CentOS 6.6
GNOME 2.28.2

I have been searching for an answer all week and found NONE.
Somebody, Anybody please help!!!

The only solution I found that works is deleting all the .files, but there's got to be a better way.

File Permissions Between Users

Hello Everyone! I'm somewhat new to linux, and getting my feet wet by building my first linux server.

So what i have is an application that moves/sorts files. Another program that catalogs them.

The problem is that each app uses it's own user. So my question is if there is any way that files owned by prog1user can be read by prog2user?

I have tried doing a chmod -R 755 Directory and that has allowed the second program to see the files, but I'm guessing this has certain security risks (although I'm not so worried about the files in this directory).

Anyways I was wondering if there was a proper way to do this? OS is debian wheezy.

Cheers!