Visit Our UNIX and Linux User Community


lock the file in linux

 
Thread Tools Search this Thread
Operating Systems Linux Red Hat lock the file in linux
# 1  
Old 08-31-2009
Bug lock the file in linux

Hi,
I want to lock the file in linux and the file cannot be edit or modify by other .I know in perl, there is function flock , but it is not worked.
The file can be modifed and edit even if it is locked by flock .
Any other way to lock the file and so other cannot edit or modifed it ????
Any similar fucntion in perl ????

thank
# 2  
Old 08-31-2009
Well when you say file is locked .. all it means is, its is locked for those who care for it,

e.g.
If I want to lock a file x, ill create file x.lock in particular location.
now when you come you first check if x.lock exists, if it does not, you create it. indicating that you have locked file x.

so no one can 'lock' file x as long as x.lock is existing.

you need to take care about 'unlocking' the file.
# 3  
Old 08-31-2009
Quote:
Originally Posted by sharadpisal
Well when you say file is locked .. all it means is, its is locked for those who care for it,

e.g.
If I want to lock a file x, ill create file x.lock in particular location.
now when you come you first check if x.lock exists, if it does not, you create it. indicating that you have locked file x.

so no one can 'lock' file x as long as x.lock is existing.

you need to take care about 'unlocking' the file.

Hi,
can you describe more detailed ???
I use "flock" in perl to lock the file but I cannot find XXX.lck file
what is your method ?? any thing suggest in PERL ???
# 4  
Old 08-31-2009
Perl's flock() does give you a lock on a file, if you use LOCK_EX, and all other processes use that mechanism too. If they don't, you're out of luck. If you don't want the file to be modified, change the permissions to read-only for everyone else (but root will still be able to modify it).
# 5  
Old 08-31-2009
Tools lock the file in linux

Quote:
Originally Posted by pludi
Perl's flock() does give you a lock on a file, if you use LOCK_EX, and all other processes use that mechanism too. If they don't, you're out of luck. If you don't want the file to be modified, change the permissions to read-only for everyone else (but root will still be able to modify it).
Hi,
I use flock with exclusive lock , but I can still edit and modified the file .
I do not want to use chmod or chattr to immune the file ...
Any other way in perl can do this ?????
# 6  
Old 08-31-2009
from perldoc -f flock

Two potentially non-obvious but traditional flock semantics are that it waits indefinitely until the lock is granted, and that its locks merely advisory. Such discretionary locks are more flexible, but offer fewer guarantees. This means that programs that do not also use flock may modify files locked with flock.


So you need to use same locking mechanism in all processes interested in locking the file, in order to ensure that files gets locked properly.


All file locking algo works like this:

While (file_is_locked()) {
wait;
}
lock_the file();

Do_somthing_on_file;
unlock_the_file();



Its up to you to decide, what you mean when you say 'lock_the file();' I suggest to create lock file, so 'file_is_locked()' will mean checking existance of .lock file.


HTH;

---------- Post updated at 05:45 PM ---------- Previous update was at 05:44 PM ----------

Quote:
Originally Posted by pludi
Perl's flock() does give you a lock on a file, if you use LOCK_EX, and all other processes use that mechanism too. If they don't, you're out of luck. If you don't want the file to be modified, change the permissions to read-only for everyone else (but root will still be able to modify it).
That wont help if, all processes interested in having lock on perticular file, runs with same user id.
# 7  
Old 08-31-2009
Bug lock the file in linux

Quote:
Originally Posted by sharadpisal
from perldoc -f flock

Two potentially non-obvious but traditional flock semantics are that it waits indefinitely until the lock is granted, and that its locks merely advisory. Such discretionary locks are more flexible, but offer fewer guarantees. This means that programs that do not also use flock may modify files locked with flock.


So you need to use same locking mechanism in all processes interested in locking the file, in order to ensure that files gets locked properly.


All file locking algo works like this:

While (file_is_locked()) {
wait;
}
lock_the file();

Do_somthing_on_file;
unlock_the_file();



Its up to you to decide, what you mean when you say 'lock_the file();' I suggest to create lock file, so 'file_is_locked()' will mean checking existance of .lock file.


HTH;

---------- Post updated at 05:45 PM ---------- Previous update was at 05:44 PM ----------



That wont help if, all processes interested in having lock on perticular file, runs with same user id.

so, If I just want to use a process (perl) to hold/lock the file and do not allow other to edit or modify , any method to do it in perl ???
Please suggest .....

Previous Thread | Next Thread
Test Your Knowledge in Computers #475
Difficulty: Medium
A Yottabyte (YB) equals 1,208,925,819,614,629,174,706,176 bytes.
True or False?

6 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Linux lock problem

Hi Team, I have a requirement to access a shared resource from the user and interrupt context. What type of locking mechanism I have to use for this. Can any body give advice on this. Thanks in advance. -Shiva (4 Replies)
Discussion started by: shivakoteswarra
4 Replies

2. UNIX for Advanced & Expert Users

Testing privileges -lock lockfile /var/lock/subsys/..- Permission denied

Hi all, I have to test some user priviliges. The goal is to be sure that an unauthorized user can't restart some modules (ssh, mysql etc...). I'm trying to automate it with a shell script but in same cases I got the syslog broadcast message. Is there any way to simply get a return code... (3 Replies)
Discussion started by: Dedalus
3 Replies

3. Red Hat

Security Question: Lock after invalid login, Session Lock and Required Minimum Password Length

Hello all, If anyone has time, I have a few questions: How do I do the following in Linux. We are using Red Hat and Oracle Enterprise Linux, which is based on Red Hat too. 1. How to lock the account after a few (like 3) invalid password attempts? 2. How do you lock a screen after 30... (1 Reply)
Discussion started by: nstarz
1 Replies

4. Shell Programming and Scripting

Sheel Scripting to lock 2 TCP unused ports in solaris and linux

My requirement is I need to write a program in shell scripting to check 2 TCP unused unique port numbers in SOLARIS and I have to lock the same ports so that it will not be used in any other new process and the same port numbers should be used and locked in the LINUX machine to communicate... (2 Replies)
Discussion started by: sreeramr30
2 Replies

5. UNIX for Dummies Questions & Answers

Lock File

Hi, We have a lock file being created called lck8c0001 created in Unixware 2.1.2. This is locking a printer. According to some websites, 8c0001 relates to the device name. How does one link 8c0001 to those devices listed in the /dev folder? I have done a ps -lp for all printers and have... (4 Replies)
Discussion started by: canman
4 Replies

6. UNIX for Dummies Questions & Answers

how to lock keyboard without using lock command

how can I lock my keyboard while I'm away from the computer without using lock command. What other commands gives me the option to lock keyboard device? thanks (7 Replies)
Discussion started by: dianayun
7 Replies

Featured Tech Videos