在linux中更改文件夹的所有者

sac*_*hin 23 php linux apache permissions file-upload

我的子域中有一个文件夹,它是通过WHM创建的,因此该子域的所有者不是主域的所有者.

我想将子域文件夹之一的所有者更改为域所有者,我试过这个但是当我检查winscp它时显示所有者为500.

  chown users:user /home/xyz/somnething/photo/
Run Code Online (Sandbox Code Playgroud)

我试图从winscp更改但是winscp没有选项所以我使用putty以root身份登录并运行上面的命令但它没有帮助,我无法从主域中上传子域中的任何文件,因为它给出错误权限被拒绝.

$ ls -l /home/xyz/somnething/photo/
total 8 
drwxr-xr-x 2 sujit sujit 4096 Feb 21 23:39 ./ 
drwxr-x--- 5 rohan nobody 4096 Feb 22 02:28 ../ 
Run Code Online (Sandbox Code Playgroud)

我想将rohan的所有权赋予sujit,以便我可以将文件从sujit域上传到子域rohan

现在它正在将所有者更改为500

Jay*_*hoi 44

使用chown所有权变更和chmod修改的权利.

使用该-R选项也可以为目录中的所有文件应用权限.

请注意,这两个命令也适用于目录.该-R选项使它们还更改目录内所有文件和目录的权限.

例如

sudo chown -R username:group directory
Run Code Online (Sandbox Code Playgroud)

将更改目录和目录本身内所有文件和目录的所有权(包括用户和组).

sudo chown username:group directory
Run Code Online (Sandbox Code Playgroud)

只会更改文件夹目录的权限,但会将文件和文件夹留在目录中.

你需要使用sudo将所有权从root更改为你自己.

编辑:

请注意,如果您使用chown user: file(注意左侧组),它将使用该用户的默认组.

您还可以使用以下命令更改文件或目录的组所有权:

chgrp group_name file/directory_name
Run Code Online (Sandbox Code Playgroud)

您必须是要将所有权更改为的组的成员.

您可以按如下方式找到文件组

# ls -l file
-rw-r--r-- 1 root family 0 2012-05-22 20:03 file

# chown sujit:friends file
Run Code Online (Sandbox Code Playgroud)

用户500只是普通用户.通常,用户500是系统中的第一个用户,最近的更改(对/etc/login.defs)在许多发行版中将最小用户ID更改为1000,因此通常1000现在是第一个(非root用户).

您可能会看到的是一个已经从旧状态升级到新状态的系统,并且仍然有一些进程敲响了uid 500.您可以通过首先检查您的发行版是否确实现在使用1000来进行更改,如果所以自己更改login.defs文件,重新编号/ etc/passwd中的用户帐户和chown/chgrp所有文件,通常在/ home /中,然后重新启动.

但是在回答你的问题时,不,你不应该真的担心这一点.它将显示为"500"而不是用户名,因为/ etc/passwd中的用户的uid设置为500,这就是全部.

你也可以用id来显示你当前的数字我愿意打赌它会为你回来1000.

  • @sachin如果你只提供用户名,那么用户所有权改变而组所有权不变.所以试试`sudo chown -R username directory (4认同)