Linux sftp — how to add new user to access exist directory with write permission?


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Linux sftp — how to add new user to access exist directory with write permission?
# 1  
Old 09-01-2019
Linux sftp — how to add new user to access exist directory with write permission?

I have built a website and I can access and edit the website'files on server via the root user. The current file and directory structures are not changeable. Now I am hiring a webpage designer to help me re-design some pages, I am going to let the designer edit the files directly on the server. So I need to add a new user and restrict the new user to access only three front-end related directory. And the three directories are not in the same directory, like below:

Code:
/home/www/application/index/view (html files)

/home/www/public/js (js files)

/home/www/public/css (css files)

The first step adding new user has been accomplished. But the problems are:

1 how to let the new user access above directories with write permission?

2 how to bind above three directories to the new user? (It seems ChrootDirectory can only bind one directory.)

Any suggestions will be appreciated. Thanks!
# 2  
Old 09-02-2019
First thing: Who owns those files and what perms do you have on those directories? ( and contained files...)
# 3  
Old 09-02-2019
Quote:
Originally Posted by uwo-g-xw
Any suggestions will be appreciated. Thanks!
When working like you describe, you should copy your entire web document tree over to a new directory and give your developer access to that "development" instance.

Your "development instance" can be on the same server or another server.

Do not set things up where a web developer is working on your original files. Have them work and test based on a copy of your web filesystem and then when you are happy with it, deploy it.

This is roughly a very short description of how to do what you want to do and there are many different ways to do it.

In a nutshell,
  • Have the developer work on a copy, not the running code.
  • Test the planned upgrade and do not deploy until the code has been well tested.
  • Use a configuration management tool like git and github to manage version control do you can see what changes from version to version and restore any files which are buggy, etc.
# 4  
Old 09-02-2019
Quote:
Originally Posted by Neo
When working like you describe, you should copy your entire web document tree over to a new directory and give your developer access to that "development" instance.

Your "development instance" can be on the same server or another server.

Do not set things up where a web developer is working on your original files. Have them work and test based on a copy of your web filesystem and then when you are happy with it, deploy it.

This is roughly a very short description of how to do what you want to do and there are many different ways to do it.

In a nutshell,
  • Have the developer work on a copy, not the running code.
  • Test the planned upgrade and do not deploy until the code has been well tested.
  • Use a configuration management tool like git and github to manage version control do you can see what changes from version to version and restore any files which are buggy, etc.
Thank you so much for your suggestion. Indeed, letting the developer test in a copy instance first is a reasonable way. However, in the copy instance, I still have the same problem: How to restrict the new user to access only that three front-end related directory? And the three directories are not in the same directory. For now, I've solved the first problem (accessing existing directory with write permission) with following codes:

cd /home/www/application/index/view
chmod -R a+w *

But the second problem (how to bind above three directories to the new user?) is still there. I added following codes to /etc/ssh/sshd_config:

Code:
Subsystem sftp internal-sftp
Match User test1 
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
/home/www/application/index/view

But only one folder (/home/www/application/index/view) is accessible. How to let the other two folders also accessible for the added new user?
I am a beginner to Linux, your help will be greatly appreciated.
# 5  
Old 09-03-2019
That depends on the owner and group of the folders. Ownership is often resolved by changing the users, rather than changing the files.

Code:
ls -l /path/to/folders/of/interest

a+w is not a good solution if you don't want to give every single person there is write access.
# 6  
Old 09-05-2019
After many times of researches and tries, I have it worked. The approach may have many disadvantages, as a beginner, it has been the most satisfied result that I can get. My steps are as follows:

1 Add a new user test1.
2 Make a root folder for test1.
3 Make three sub-folders, each will map to the corresponding exist folder we are going to let test1 access.
4 Make the three exist folders writable.
5 mount --bind each exist folder to corresponding sub-folder.
6 Done.

After above steps, user test1 will be able to access above three exist folders and contained files, and then edit.
This User Gave Thanks to uwo-g-xw For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Checking if the directory has read and write permission

logMsg='Started by '${USER} LOG_MESSAGE "${logMsg}" resultCode=$? if ]; then return ${resultCode} fi touch ${FILELISTPATH} resultCode=$? if ]; then logMsg='failed to create file list:'${FILELISTPATH} LOG_ERROR "${logMsg}" CUSTOM_PREPROCESS ${FATAL} ... (2 Replies)
Discussion started by: raka123
2 Replies

2. UNIX for Beginners Questions & Answers

Setting write permission for particular user

Hi All, We have a scenario in production where we want only one user from a group to modify the file. The file is not set to write permission for application manager. -r--r--r-- 1 amgr u00 15661716 Aug 30 00:06 DCI.dat So here amgr will have permission to edit the file. We want a... (10 Replies)
Discussion started by: arunkumar_mca
10 Replies

3. Red Hat

User permission access

Hi folks, I am trying to grant the access like below items using the setfacl command, but i couldn't achieve as what I required. any other possibility. username : testing Readonly access in /form_dl/system/prd/logs Write only access in /form_dl/system/prd/deploy No access to other... (0 Replies)
Discussion started by: gsiva
0 Replies

4. Web Development

Apache write permission issues to another user owned directory

Hi I am trying to make a web program which is command line equivalent. i have done the coding in cgi program in perl and html for basic forms to take inputs. when i ran the program from web application i see permission denied messages. after analyzing i found apache is running as wwwrun which... (2 Replies)
Discussion started by: rakeshkumar
2 Replies

5. Shell Programming and Scripting

search any user files with write permission

Guys, i wanna get any user files with write permission (on user or group permission) for review but i confuse with -perm parameter. any body can help me to explain what is that mean? thank's (1 Reply)
Discussion started by: michlix
1 Replies

6. Shell Programming and Scripting

SFTP Does directory exist?

Hi, Im trying to add some validation into my shell script code that basically checks whether a directory exists before SFTP'ing a file to it. If the directory exists then it will add the file, if not then it should return some kind of message. This is the code I have written so far but with no... (1 Reply)
Discussion started by: Jack_Maloney
1 Replies

7. Solaris

add a ftp user with read and write permissions on a directory

hi all how I can create an ftp user in solaris 10 and have read and write permission on a directory. Thanks. (1 Reply)
Discussion started by: luisfja
1 Replies

8. UNIX for Advanced & Expert Users

about the access permission of users home directory

RHEL5.0 As we know, when root create a new user, a new home directory will be created : /home/user I want to know what determine the access permission of /home/user . Thanks! (1 Reply)
Discussion started by: cqlouis
1 Replies

9. Shell Programming and Scripting

write permission to a perticular user to a directory

Hi, The requirement is like, the program needs 2 argument one is user_id and second one is directory path. My script will check if that user_id has write access to the directory path. The directory path may be in any file system like AFS or NFS. Can any one please suggest some points to... (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

10. Shell Programming and Scripting

Find all files with group read OR group write OR user write permission

I need to find all the files that have group Read or Write permission or files that have user write permission. This is what I have so far: find . -exec ls -l {} \; | awk '/-...rw..w./ {print $1 " " $3 " " $4 " " $9}' It shows me all files where group read = true, group write = true... (5 Replies)
Discussion started by: shunter63
5 Replies
Login or Register to Ask a Question