Go Premium for a chance to win a PS4. Enter to Win


UNIX Trying to move and copy file but getting a permission denied

Posted on 2014-01-16
Medium Priority
Last Modified: 2014-01-17
Hello UNIX Experts,

I am a unix newbie trying to gain more understanding of unix. Right now, I am trying to move and/or copy a Python script from my home directory /Users/FB to /usr/bin but I get a Permission denied error message:

FB-MacBook-Pro:~ FB$ mv add.py /usr/bin/
mv: rename add.py to /usr/bin/add.py: Permission denied

Here are the ls -ld for the /usr/bin:

FB-MacBook-Pro:bin FB$ pwd
FB-MacBook-Pro:bin FB$ ls -ld
drwxr-xr-x  1077 root  wheel  36618 Dec 29 21:27 .

I have 2 questions:

1) I want to the change the permissions on the /usr/bin to resolve the problem. The question is can I do this?

2) If I can, what command and parameters should I use?

Thank you for your assistance.
Question by:frbonap
  • 2
  • 2
  • 2
  • +2
LVL 85

Assisted Solution

ozo earned 400 total points
ID: 39787694
You might change it to drwxrwxrwx
but that could be dangerous since then anyone could put something there, which could trick you into running their code when you think you are running a system program.
But if you are able to run as root in order to change the permissions, why not run as root in order to do the mv?
LVL 84

Expert Comment

by:Dave Baldwin
ID: 39787698
That's a bad idea for a number of reasons.  There are a lot of system programs and files in there.  Changing the permissions wrong could crash your system.

Why do you want to do that?  What do you think you will accomplish?

Author Comment

ID: 39787734
I want to do this because my script - add.py - is in /User/FB and python is in /usr/bin. Thus, I have not been able to run my script up until now. But, after getting your response, I tried to execute it in a different way and it worked.

Even though, I am now able to execute my script, I want to understand more about permissions. When is it ok to change permissions on a directory if ever?
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 84

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 400 total points
ID: 39787750
I suggest that until you understand a Lot more about how Unix/Linux and Macs are organized, you stick to changing permissions in your own user areas.  I looked in my Mac and if you do "ls -al /usr/bin/py*" you will see that python Isn't really there, those are symbolic links to another directory.  Macs add another layer of complexity on top of what Unix does.

In addition to a MacBook, I also have several Linux machines and I am very careful about changing anything outside my own user area and web directories.  After 10+ years of casual use, I still don't fully understand the Unix/Linux file organization.

Accepted Solution

Peter Loobuyck earned 800 total points
ID: 39787854
You shouldn't change permissions on a Mac. They're there for a reason. just add a sudo prefix in your unix mv command and enter your password. All things will work properly now.
LVL 62

Assisted Solution

gheist earned 400 total points
ID: 39788958
You have to be root user to make things to bin/, so "sudo -s" first.

Expert Comment

by:Peter Loobuyck
ID: 39789018
True. Then move your files.
LVL 62

Expert Comment

ID: 39789043
(also pay attention to long message sudo displays - you can easily kill your system to no good)

Author Closing Comment

ID: 39789168
Using the sudo command was what I really needed vs changing directory permissions. Thank you all for being patient with the rookie. The advice is very valuable.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Syslogd is a utility that traps and logs messages sent by running processes. It is configured with the syslog.conf file, which consists of lines containing a pair of fields: "the selector field which specifies the types of messages and priorities to…
An introduction to the wonderful sport of Scam Baiting.  Learn how to help fight scammers by beating them at their own game. This great pass time helps the world, while providing an endless source of entertainment. Enjoy!
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

885 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question