如何更改linux文件目录拥有者及用户组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改linux文件目录拥有者及用户组相关的知识,希望对你有一定的参考价值。

  更改linux文件目录拥有者及用户组及用户组方法如下:

    首先利用[root@linux ~]# chown把fail2ban的所属者修改为nginx。如下图所示:

    用chgrp命令修改文件的用户组,通常文件或者目录的组名为:[root@linux ~]# chgrp。如下图所示:

    如果同时修改用户和组需要用到chown命令。如下图所示:

    修改连同子目录下的所有文件、目录用Chown   -R命令,如下图所示:

参考技术A 首先对于经验操作之前,我们先看下当前系统下的用户和组。Whoami 查看当前登陆用户

Passwd文件存储当前系统所有用户,而组文件/etc/group记录。

一个用户可以属于多个组,查看用户所属的组,gourps + 用户名

更改linux文件目录\文件拥有者权限

更改文件拥有者 (chown )
[root@linux ~]# chown 账号名称 文件或目录 ,如图把文件fail2ban的所属者改成nginx

改变文件的用户组用命令 chgrp
[root@linux ~]# chgrp 组名 文件或目录

此外还可以通过chown命令
同时修改用户和组, chown 所有者,所属组 文件\目录名

覆盖目录权限
对于目录权限修改之后,默认只是修改当前级别的权限。如果子目录也要递归需要加R参数

Chown -R : 进行递归,连同子目录下的所有文件、目录
参考技术B

首先在 shell 中,可以使用chown命令来改变文件所有者及用户组,chgrp命令来改变文件所在用户组。在 Linux的C程序中,可以使用chown函数来改变文件所有者,及所在用户组。
且在shell中,要修改文件当前的用户必须具有管理员root的权限。可以通过su命令切换到root用户,也可以通过sudo获得root的权限。

    使用chown命令更改文件拥有者

    touch mytest   #创建文件

    ls mytest –l      #查看mytest文件的属主等
    chown test mytest   #改变属主为test用户

    需要要注意的是,用户必须是已经存在系统中的,也就是只能改变为在 /etc/passwd这个文件中有记录的用户名称才可以。


    使用chgrp命令更改文件所属用户组
    chgrp test mytest

    需要注意的是要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。

Linux用户及权限分配

一、用户分类

  1. 所有者 u;
  2. 所属组 g;
  3. 其它用户 o;
  4. 所有用户 a;

1.更改目录所有者命令:

chown -R 用户名称 目录名称

2.更改目录权限命令:

chmod -R 755 目录名称

二、用户管理

//查看用户
id user
//添加用户
useradd user
//设置密码
passwd user
//删除用户
userdel -r user
#删除用户的时候用户组被删除

 


三、用户与组

//加入组
gpasswd -a testuser root
#把用户testuser加入到root组;
#加入组后testuser获取到user组及root组所有权限
 
//移出组
gpasswd -d testuser root
#把用户testuser移出root组;

四、权限分类

  1. r 读 4;
  2. w 写 2;
  3. x 执行 1;
//查看文件权限
ls -l file
//或
ll file
 
#drw-r-xr--  3 root root 4096 Nov  5  2016 file
#root用户对file文件具有rw权限;
#root组其它用户对file文件具有读、执行权限;
#其它用户对file文件具有只读权限;
#第一个root为创建file文件的所有者;
#第二个root为创建file文件的所属组;

 


五、chmod权限分配

//字母权限分配
chmod u+x file
#eg:
#chmod u+x,g+w,o+w test.txt
#chmod u-x,g-w,o-w test.txt
 
//数字权限分-
chmod 755 file
#755表示-rwxr-xr-x

chmod 权限分配是对所有用户进行设置,但在权限细分需求时存在不足。


 

六、acl权限分配

//设置文件权限
setfacl -m u:testuser:rwx file
//查看文件权限
getfacl file
//删除用户权限
setfacl -x user:testuser file
//清空文件权限
setfacl -b file
//对目录、子目录及文件设置权限
setfacl -m u:testuser:rwx -R /file/
//设置后期添加的子目录和文件继承父目录权限
setfacl -m d:u:testuser:rwx -R /file/

文件的创建和删除权限:

  1. 需要对目录设置acl权限即可;
  2. 对文件设置权限表示对该文件内容有相应权限,没有删除文件的权限;

七、设置用户对命令的执行权限-visudo

1.设置sudo授权命令

//打开配置文件
visudo
//末尾追加
user1 localhost=/user/sbin/useradd,/user/sbin/userdel
  2.sudo授权命令


//添加用户
sudo /user/sbin/useradd testuser
/删除用户
sudo /user/sbin/userdel -r testuser
  3.无密码sudo授权命令

//打开配置文件
visudo
//末尾追加
user1 localhost=NOPASSWD: /user/sbin/useradd,/user/sbin/userdel
user1 ALL=NOPASSWD: /user/sbin/useradd,/user/sbin/userdel

 

以上是关于如何更改linux文件目录拥有者及用户组的主要内容,如果未能解决你的问题,请参考以下文章

如何更改linux文件目录拥有者及用户组

如何更改linux文件目录拥有者及用户组

如何更改linux文件的拥有者及用户组

在Linux系统中,如何更改文件的访问权限

如何更改linux文件的拥有者及用户组

linux 修改文件所有者