用户和文件权限管理

一、用户管理

1、创建用户

[root@master ~]# useradd maple
[root@master ~]# ll /home
total 0
drwx------ 2 maple maple 62 Feb  7 20:47 maple
drwx------ 2 www   www   62 Jan 17 21:05 www
[root@master ~]# passwd maple
Changing password for user maple.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@master ~]# id maple
uid=1002(maple) gid=1002(maple) groups=1002(maple)

2、查看创建的所有用户

[root@master ~]# cat /etc/passwd

用户和文件权限管理_第1张图片

 3、切换用户

[root@master ~]# su maple
[maple@master root]$ 

 (1) 刚创建的用户权限受到极大限制,比如无法创建文件:

[maple@master opt]$ cd software/
[maple@master software]$ touch 1.txt
touch: cannot touch '1.txt': Permission denied

 (2)一种解决方式是命令前面加sudo,本质是调用root用户的权限去执行命令,不过要使`用户`支持sudo本身需要进行设置, 需要修改的配置文件如下:

[root@master ~]# vim /etc/sudoers

 >>添加如下内容:

(3) 重新创建文件

[maple@master software]$ sudo touch 1.txt

4、退回到上一个用户

[maple@master root]$ exit
exit
[root@master ~]# 

5、删除用户

(1)userdel 用户名          (功能描述:删除用户但保存用户主目录)
​(2)userdel -r 用户名       (功能描述:用户和用户主目录,都删除)

二、用户组管理

1、创建用户组

[root@master ~]# groupadd wives

2、查看用户组

[root@master ~]# cat /etc/group

用户和文件权限管理_第2张图片

   3、修改用户所属的组

  1. 将用户gaikki添加到wives组 
[root@master ~]# usermod -g wives gakki

    2. 查看用户gakki所属的组

[gakki@master root]$ groups gakki
gakki : wives

4、删除组

[root@master ~]# groupdel -f wives

三、文件权限管理

1、文件基本信息解读

用户和文件权限管理_第3张图片

用户和文件权限管理_第4张图片

比如如下文件1.txt,'-'表示其为文件类型,'rw-'表示root用户拥有读写权限,第一个'r--'表示root组的用户拥有读权限,第二个'r--'表示其它组的用户拥有读权限, 1表示文件硬连接数量,第一个root表示用户,第二个root表示用户组, 0表示文件大小。

  • rwx作用到文件和目录的不同含义

     (1)作用到文件

[r]  代表可读(read): 可以读取,查看
​[w] 代表可写(write): 可以修改,但是不能删除该文件,对该文件所在的目录有写权限,才能删除.
​[x]代表可执行(execute):可以被系统执行

     (2)作用到目录

[r]  代表可读(read): 可以读取,ls查看目录内容
​[w] 代表可写(write): 可以修改,目录内创建+删除+重命名目录
[x] 代表可执行(execute):可以进入该目录

2、文件权限修改

问题引入:

用户和文件权限管理_第5张图片

除了通过前面提到的sudo方式解决权限不足的问题,还可以直接通过开放`文件权限`的方式。

如下所示,并结合以上关于文件信息的基本解读,1.txt文件当前的用户用户组均为root, 此时maple用户只有r(读)权限,因此要想maple用户具备(w)写的权限,有两种思路:

(1)直接将1.txt `其它用户拥有的权限`设置为`rw-`

(2)修改1.txt的用户组为maple,并且赋予该用户组(w)写的权限

  •  具体实现方案-修改`其它用户拥有的权限`
[root@master software]# chmod o+w 1.txt 
[root@master software]# ll
total 201464
-rw-r--rw- 1 root root         0 Feb  7 20:52 1.txt

 如下所示,其它用户已经拥有对`1.txt`写的权限

用户和文件权限管理_第6张图片

 修改文件(夹)权限的通用命令:

第一种方式:

chmod [{ugoa}{+-=}{rwx}] 文件或目录

说明:u表示修改用户,g表示修改用户组,o表示修改其它用户,a表示修改所有

           + 表示增加权限, -表示减少权限, =表示权限修改为 

第二种方式

chmod [mode=421 ] [文件或目录]

说明: 三个`数字位`分别表示用户、用户组和其它用户

 修改文件(夹)权限的其它案例:

# 为文件所属`主用户`添加执行权限

[root@master software] # chmod u+x houge.txt

# 为文件所属`主用户`添加执行权限

[root@master software]# chmod g+x houge.txt

# 为文件所属`主用户`减少执行权限,文件所属`其它用户`添加执行权限

[root@master software]# chmod u-x,o+x houge.txt

# 为文件所属`主用户`,`用户组`和`其它用户`开放所有权限

[root@master software]# chmod 777 houge.txt

# 为文件夹里面所有子文件夹和文件 所属`主用户`,`用户组`和`其它用户`开放所有权限(-R表示递归所有子文件夹和文件)

[root@master software]# chmod -R 777 xiyou/

  •  具体实现方案-修改文件所属用户组,并为用户组开放写权限
    # 修改1.txt所属的用户组为maple
    [root@master software]# chgrp maple 1.txt
    

    如下所示:1.txt的用户组已经被修改为maple

       接下来开放maple用户组的写权限即可:

[root@master software]# chmod g+w 1.txt 

       如下所示:1.txt的所属用户组已经具备`写权限`

用户和文件权限管理_第7张图片

改变文件(夹)所属用户组的通用命令:

chgrp [最终用户组] [文件或目录]  

 改变文件(夹)所属`主用户`的通用命令:

chown [选项] [最终用户] [文件或目录]

用户和文件权限管理_第8张图片

 示例: 修改1.txt的主用户为maple

[root@master software]# chown maple 1.txt

你可能感兴趣的:(Linux,服务器,linux,运维)