Ubuntu Servers :: Preserving Timestamps And Permissions When Copying To Samba-share
May 5, 2010
My samba-shares are mounted in fstab. Everything works fine except for one small issue: when copying files from the local PC to the share the files are copied but the timestamps and permissions of the files are not. Instead a message "operation not permitted" appears. 'root' on the client can copy files WITH timestamp etc, a normal user cannot.
Below the line in fstab on the client and smb.conf on the server.
I could understand the idea of security "if I haven't touched the file in 9 days, and the timestamp was changed, I know someone was in my system". But, is there any other purpose for preserving timestamps?
I'm trying to set up my samba server so that all the shares are visible to everybody but that some shares can only be accessed by certain users. I have a folder Video that everybody can access without a username or password. I now want to create a share that only I can access called webserver.
This is my samba.conf Code: [global] dns proxy = No netbios name = DATABOX guest account = nobody restrict anonymous = no browseable = yes server string = server workgroup = WORKGROUP public = yes security = share
[Video] Writeable = yes Path = /media/data/Video Public = yes
[webserver] Writeable = yes Public = no User = malteser Path = /media/data/Webserver
Windows does not let me enter a username or password. I'm pretty sure this used to work.
I'm using two NTFS formatted partitions. One is internal and holds all my data. The other is on an external hard disk and is where I back up all my data to. What I'd like to do is copy all my files from the data partition to the backup partition and preserve all the windows' timestamps (including the file creation dates).How hard can this be? Well it appears that in the case of Ubuntu the answer is very hard indeed.I'm aware that Linux does not support the concept of a file creation date natively. However, according to the ntfs-3g website, all of the windows' timestamps (including the creation date) are mapped on to the system.ntfs_times extended attribute (link). So if you preserve the extended attributes when making a copy then, in theory at least, the timestamps should also be preserved.
I read on another forum that a file's timestamps will be listed (albeit in an unreadable hex format) if you run the following command:getfattr -h -e hex -n system.ntfs_times <filename>Unfortunately however, I just cannot get it to work. With every file I've tried I simply get a message saying "no such attribute".
I have a couple of user accounts where each member belongs to a group i have created: Each user access the share using their own user account credentials. How can I configure Samba in a way so that each modification done on the share gets the owner of the user and my group instead of the user and the users own group? I would also like the access rights to be 770 to each modification.
In other words, today each modification by "userA" get the owner "userA.userA" and I would like it to be "userA.MyGroup" with "rwxrwx---" permissions.
How can I set permissions for users within the share? Example: I have a share called Programming and some user can create folders within it most others can not, can read the documents. How do I set permissions?
I've got my Samba shares up and running. I can stream files from the server, I can create files on the server, and I can copy files from the server.
Running a Windows program (from a Windows box) directly from the Samba server, however, is turning into a nightmare. I'm getting Access is Denied errors from the Windows box, yet I can copy/create/etc from the entire directory with no problems.
Are there any special permissions I need to run EXE files from a Windows box, located on a Samba share? I've already chmod'd everything to 777, and I show full access when ls -Z is used.
i have an old desktop that i have decided to use as a central point for localhost/website files. I have 2 laptops, a ubuntu and vista, and i want them both to be able to see the public_html folder on my desktop, and be able to create/update folders and files.
I have set up the samba sharing and that's working fine, but when i create folders using my laptop, they are not writeable to the desktop or other laptop because my laptop is the creator. Is there a way that I can set it so that whenever folders/files are created from either laptop, they have full permissions?
When I create a new folder on my ubuntu machine and share it with my windows 7 machine using 'net usershare add <dir> <path>', I can't get write perms in Win 7. It keeps giving me a "You need permission to perform this action'. I've chmod the folder to 777 but still no luck.
The funny thing is, it was all working fine until I tried to add a new usershare yesterday (Can't think what I've changed). I use this sharing method to share all of my development /var/www/ folders so I can work on them from my win machine.
I have had a few problems with my samba smb.conf, and it nuked and rebuilt yesterday. I'm fairly new to the Linux game, and this permissions problem has me baffled.
I am trying to set up a Samba share on one of my machines where I am the owner and a special group manages permissions for read-only access ( me:specialgroup ). If I log into the share as me, there is no problem (I have read/write privs as per usual). However, I am not able to log into the share using any of the group members (there is only one currently). That user is not able to access the share (failed to mount).
The folder (which is the share) is owned by me:specialgroup and the permissions have been forced down the folder. Samba is set to Share this folder with no guest or others write access.
what I am trying achieve is read/write access for my MS domain account and read-only access for everyone else. In smb.conf I have this:
map to guest = bad user usershare allow guests = yes username map = /etc/samba/smbusers
I can access this fine with my MS domain account, what I can't work out is how to give others read-only access to the same share. I guess I could create a second share for the same folder with a different name and permissions, but that seems a bit clunky and I'd have to remember to pass on a different name to the one I am using. I also tried using the Nautilus right-click "Sharing options" and then setting the folder permissions. This works fine for giving others read-only access, but loses capitalisation of the share name and doesn't seem to recognise my MS domain account as being valid.
I have set up a computer to use as a file server using Samba. I attached a 1TB hard disk to it and had the system to mount it automatically. I have 4 user accounts which will be able to access this network share. An administrator account is called "server". I'll call them user1, user2 user4. This is the folder structure:
+-/mnt/FILES +-BACKUP backup files (accessible only to "server" user) +-MUSIC music1.mp3 (read only files for all users) music2.mp3
I don't know which groups I should create. I'm having a hard time setting file/folder permissions. And I wanted to know how to set Samba so that it won't ask for a password when accessing public/group files, but asks for it when accessing private user files.
I have a samba shared folder in my flash disk. Yesterday I installed ubuntu 11.04 and now sharing is not working any more. I do the usual procedure (that worked so far), I right click my folder > sharing options and tick "share this folder" as well as "Allow others to create and delete files in this folder" but I dont get the usual messages asking to add permissions automatically.When I try to mount my folder in another pc with linux, I get permission denied and that the folder is only readable and in another, windows cannot find the network path to my folder.My folder has about 10.000 files. asking to add permissions automaticallyI created another folder on the same flash and when I create share I get the message asking to add permissions automatically but it is not visible either. I even cant see my folder in "my places" > network, so it is not a matter of the mounting command
In my work I want to build up a Linux based network, where windows and linux clients are going to share a Thecus network drive.Each client will have specific permissions for accessing the samba shares. I have installed Ubuntu SRV 10.4 with gui and webmin.
I have set up a Samba share via my CentOS 5 server (the samba share is actually a mounted filesystem, not local machine space). I have been successful in adding permissions for my windows users within the smb.conf, but have an additional need that I cannot figure out. I would like for my Windows administrators to be able to create folders and assign permissions from their machines (and their Windows GUI). Ultimately I need the folders on the Samba share to behave correctly when Windows group permissions are applied by these administrators.
When the folders are created, the "Everyone" identity cannot be deleted and sometimes "Creator Owner" or "Creater Group" show up. I have seen several threads start down this path, but haven't seen a definite answer (I may have just missed it!).
dir1subdir1subdir2etc.and at the lowest level they contain all of these jpegs that I need. The problem is that I only need some of them. They're named like this:
pic1.jpg pic1_med.jpg pic1_small.jpg pic2.jpg pic2_med.jpg etc.
I want to just grab the ones without the size suffix and copy them all to another set of folders, while preserving the directory structure. The numbering all starts at 1 for each low level subdirectory, so I think that the directory structure is the only way to not get them mixed up.
I know that cp has a recursive option -r but how do I just extract the ones without the underscore? And then how do I preserve the directory structure when I move them over?
I'm having a hard time figuring out how to set permissions on my samba server and on mounting the share. I would appreciate help figuring things out. What I need to achieve is have a server share mounted on a computer and give read write access to the users of that client computer. Also permissions should be respected is a user limits access to a directory or file he creates.
What I did was replicate the users on both server and client computers and create an extra user on the server that has full access to the share both in linux and in samba, and I'm mounting the share on the client computer using that extra user from fstab. (Is this the best way to set things up or is there a better way?)
Now the issues I'm having; Whenever a user A creates a directory or file it's listed as created by user B. It turns out that the UID does not match on both computers. How do I fix that short or deleting and recreating the users in the proper order.
- Backup scripts running as root get lot permission denied errors writing to the share especially when using chown and chgroup. Could someone explain, or point me to an explanation of the logic behind permissions and mounting?
I'm replacing an ancient Netware server with a new Ubuntu 8.04 box running samba and LDAP. I want to see if there's a way to get Samba to emulate the way permissions propagate through Netware. Namely, if I see a directory structure like this:
[User Cant See] --- [User Cant See] ------- User Can Edit.txt ------- User CANT Edit.txt
With Netware I can give permission to User to edit "User Can Edit.txt" and the permissions will propagate in reverse to allow User to see the two [User Cant See] directories and edit the text file. "User CANT Edit.txt" will still be invisible to User. This is very convenient as I can simply give user access to one file, they can navigate to it through the directory structure, and all files not explicitly given access to will still be invisible.
With Samba the only way I've been seeing to get this would be to explicitly give User access to both [User Cant See] directories, give him access to the "User Can Edit.txt" and remove any access to "User CANT Edit.txt" and every other file in the latter two nested directories.
I am the IT Manager at a research facility. We have a fairly unique network configuration in order to support all of the different projects we have going on. We have Red Hat, Ubuntu, Windows XP/Vista/7, Windows Servers 2003, Ubuntu servers, Red Hat servers, and even a few Netgear ReadyNAS and Buffalo Terastations. Over the last few years, I have been migrating all of my users and accounts to a single ACL list, which I chose to be a Windows AD 2003 server. 95% of my users work on Windows platforms and just use ssh tunnels to develop on our linux boxes.
However, i ran in to a problem with our Linux boxes not being able to symbolic link on my Windows 2003 file shares. Of course, this is a problem with Windows not supporting symbolic links. I know 2008 does support this feature, but given the economy and the budget restraints, we cannot afford to purchase the updates we would need, so now I am moving all of my shares to a Ubuntu 10.04 server using Samba. I have joined the server to my AD domain successfully, i can login using my AD credentials, and even assign ownership and group permissions using AD users/groups.
Here is my question.
I would like to keep the AD permission schemes intact. I have several shares that contain folders that have individual permission settings. For example, I have a /shared directory that contains about 50 different folders. Some of these folders I allow my users to write data to, some just read, and others I deny access to complete groups and just allow key groups to access (for example, personnel data should only be accessed by the Administrative staff).
Is there a way to make this work?
I can assign uid and gid manually per folder in Samba, but i would like to have the possibility to add multiple users and groups with permissions to folders, which I do not believe can be done with the standard chown commands. Currently, I can see the folder permissions from my Windows box, but when I try to edit the permission settings, it defaults back to full access. So my AD permissions are not being saved.
My first post, and I'm an Ubuntu n00b. But I've done a lot of reading and still can't seem to get anywhere with this. First of all. I know that I've set Samba up correctly because I can create a share in /home/documents which is mounted on my primary hard drive /dev/sda1, Windows 7 can access it no problem. But, when I try to set up a Samba share on my second hard drive /dev/sdb1, Windows 7 cannot access it. I've mounted the share in /media/Share The error I get in Window 7 is: " Windows cannot access \HOMESERVERData Check the spelling of the name. Otherwise, there might be a problem with your network."
My first thought is I must have the hard drive mounted or formatted incorrectly, but I can't find anything on this forum to tell me otherwise. I feel like I need to restart the process of this Samba set up. Can someone please guide me through: reformatting sdb1, mounting sdb1, setting up my smb.conf, fstab, and any other config files required to use my second hard drive as a Samba share?
I am currently in the process of moving around 20TB of data from one server to another. Security is not a concern, since the data are freely available to anyone on our network anyway. There are a couple of things that I'm trying to decide on:
(1) protocol choice
Of all the choices I have--nfs, ftp, scp, rsync, samba--has anyone done any benchmarking to show which would be the fastest/most robust transfer protocol? I know nfs has slow write speeds for synchronous transfers. Asynchronous would be faster, but less robust. I'm leaning toward rsync since it performs md5sums to confirm the file transfers. (Remember if there's a 1 in a billion chance that a byte will get corrupted, then I'll have 20,000 corrupt bytes in the transfer.)
(2) Nautilus emblems
We use emblems in Nautilus to categorize files. The old and the new server have the same directory structure.Is there any way to copy the Nautilus emblems from the old server to the new server. What I want is that if a user had marked a particular file with a star on the old server, then that file would be marked with a star on the new server when he/she logs in.
I have a Windows 2k8 server acting as my domain controller. My goal is to have my Ubuntu 9.10 Server box share some folders via Samba, which should be authenticated via the PDC. So far, it seems to be mostly working. The Ubuntu machine has joined the domain, and is browse-able to domain users. The only problem at this point, is that the shares are not writable.
Code: [global] workgroup = smatech netbios name = smalinux001 security = domain idmap uid = 15000-20000 idmap gid = 15000-20000 winbind enum users = yes winbind enum groups = yes winbind use default domain = yes password server = 10.10.10.2 domain master = no local master = yes [www] path = /var/www writable=yes
I am a php devloper and recently my company purchased an IBM X3400 M2 Server and i was told to set up the server.I installed the Ubuntu 10.04 LTS Server i386 version. Everything went up smoothly and i have some queries to be asked.
1.)Our scenario is like this,--> we have an a production LAMP Server and we need the to backup all the contents of www folder and all Mysql files.I plan to do this with a shell script and use the rsync for syncing and backup.
Again i have a mysql backup shell script that i want to activate on system shut down Like when i shut down my server,the backup script should run taking all the backups, just before the Shutdown.The script should run take the backups, one, on the server itself and other on a remote machine sync with rsync and system should then go for Final shut down.How can we achieve this.I know of cron jobs but i prefer the above way.Suggestion requested here.
2.)To Set up a Special Samba share. I need to set up a samba share that will allow only files to be copied and not be deleted.For eg i will create a folder "WEBSITE-BACKUPS"(will contain the list of all finished website works plus mysql dump)
The user on the network will have only permission to paste into this folder.Like a user just paste his work say 'abcwebsite',he will have only this privilege and no DELETE privilege or right.Can this be done?
3.)I have a LAN, in this the IBM Machine is acting as Production LAMP server with around 20 machines connecting and working with files on this server.All other machines are Windows.Can i get a log based on the ip like who has accessed with files at what times or last modification time from an IP address. I usually get complaints from my fellow developers that somebody has deleted or modified their work which is in this IBM Server.So is there any way to monitor this.I also know about subversion,the versioning system but most people here are uncomfortable with check in / check out commands.
I've been running Samba for a couple of years now. Bumped up from 9.04 to 10.10 server (64 bit), and nothing wants to work. I have a really simple share that I want to be accessible by all Windows clients without a login (guest access). Here is my config: