目录


认知root用户


用户、用户组管理


查看权限控制


修改权限控制 – chmod


修改权限控制 – chown


认知root用户


1、root用户(超级管理员)


无论是


Windows





MacOS





Linux


均采用多用户的管理模式进行权限管理。


在Linux


系统中,拥有最大权限的账户名为:


root


(超级管理员)


而在前期,一直使用的账户是普通的用户:itheima

root用户拥有最大的操作系统权限,而普通用户在许多地方的权限是受限的。



演示:


使用普通用户在根目录下创建文件夹


切换到


root


用户后,继续尝试

普通用户的权限,一般在其HOME目录内是不受限的

一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限


2、su和exit命令


su


命令就是用于账户切换的系统命令,其来源英文单词:


S


witch


U


ser


语法: su [-n] [用户名]


  • – 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),


    建议带上

  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

  • 切换用户后,可以通过exit


    命令退回上一个用户,也可以使用快捷键:


    ctrl + d

  • 使用普通用户,切换到其它用户


    需要输入密码


    ,如切换到


    root


    用户

  • 使用


    root


    用户切换到其它用户,


    无需密码


    ,可以直接切换


3、sudo命令


在我们得知root


密码的时候,可以通过


su


命令切换到


root


得到最大权限。


但是我们不建议长期使用


root


用户,避免带来系统损坏。


我们可以使用


sudo


命令,为普通的命令授权,临时以


root


身份执行。

语法:sudo 其他命令

在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权

但是并不是所有的用户,都有权力使用sudo,我们需要为普通用户配置sudo认证


4、



为普通用户配置




sudo




认证


  • 切换到root


    用户,执行


    visudo


    命令,会自动通过


    vi


    编辑器打开:


    /


    etc


    /


    sudoers

  • 在文件的最后添加:


  • 其中最后的NOPASSWD:ALL


    表示使用


    sudo


    命令,无需输入密码

  • 最后通过


    wq


    保存

  • 切换回普通用户


  • 执行的命令,均以root运行

用户、用户组管理

1、Linux系统中可以:

  • 配置多个用户
  • 配置多个用户组
  • 用户可以加入多个用户组中


Linux


中关于权限的管控级别有


2


个级别,分别是:


  • 针对用户的权限控制

  • 针对用户组的权限控制


比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。



2、用户组管理


以下命令需root用户执行


  • 创建用户组


groupadd 用户组名


  • 删除用户组


groupdel 用户组名



3、用户管理


  • 以下命令需root用户执行

  • 创建用户


useradd [-g -d] 用户名


选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。


选项:-d指定用户的HOME路径,不指定,HOME目录默认在:/home/用户名


  • 删除用户


userdel [-r] 用户名


选项:-r,删除用户的HOME目录,不使用-r,删除时,HOME目录保留


查看用户的所属组


  • id [用户名]

  • 参数:用户名,被查看的用户,如果不提供则查看自身


修改用户所属组


  • usermod -aG 用户组  用户名,将指定用户加入指定用户组

  • 4、getent


  • 使用


    getent


    命令,可以查看当前系统中有哪些用户


  • 语法: getent passwd

  • 共有


    7


    份信息,分别是:


  • 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)



  • 使用


    getent


    命令,同样可以查看当前系统中有哪些用户组


  • 语法:


    getent


    group

  • 包含3份信息,组名称:组认证(显示x):组ID


  • 查看权限控制


  • 1、认知权限信息

  • 通过


    ls -l


    可以以列表形式查看内容,并显示权限细节
  • 序号1:表示文件、文件夹的权限控制信息

  • 序号2:表示文件、文件夹所属用户

  • 序号3:表示文件、文件夹所属用户组


  • 2、解析权限控制信息

  • 权限信息总共分为10个槽位


举例:drwxr





xr


-x


,表示:


  • 这是一个文件夹,首字母d


    表示

  • 所属用户(


    右上角图序号


    2)


    的权限是:有


    r





    w





    x





    rwx

  • 所属用户组(


    右上角图序号


    3)


    的权限是:有


    r





    w





    x





    r-x








    表示无此权限)

  • 其它用户的权限是:有r





    w





    x





    r-x


3、rwx

  • r表示读权限
  • w表示写权限
  • x表示执行权限


针对文件、文件夹的不同,


rwx


的含义有细微差别

r,针对文件可以查看文件内容;针对文件夹可以查看文件夹内容,如ls命令

w,针对文件表示可以修改此文件;针对文件夹,表示可以在文件夹内创建、删除和改名等操作

x,针对文件表示可以将文件作为程序执行;针对文件夹,表示可以更改目录到此文件。即cd进入


案例


当前用户


itheima


,非文件所属用户和用户组,锁定最后三位权限为:





,无读取权限

修改权限控制 – chmod


1、chmod


可以使用


chmod


命令,修改文件、文件夹的权限信息。


注意,只有文件

、文件夹的所属用户或root用户可以修改。

语法: chmod [-R] 权限 文件或文件夹


  • 选项:-R


    ,对文件夹内的全部内容应用同样的操作


示例:



chmod


u=


rwx,g


=


rx,o


=x hello.txt


,将文件权限修改为:


rwxr


-x–x


其中:


u


表示


user


所属用户权限,


g


表示


group


组权限,


o


表示


other


其它用户权限


chmod


-R


u=


rwx,g


=


rx,o


=x test


,将文件夹


test


以及文件夹内全部内容权限设置为:


rwxr


-x–x


除此之外,还有快捷写法:


chmod


751 hello.txt





hello.txt


的权限修改为


751


那么问题来了,


751


表示什么意思呢?

2、


权限的数字序号


权限可以用


3


位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。


数字的细节如下:


r


记为


4





w


记为


2





x


记为


1


,可以有:



0


:无任何权限,








1


:仅有


x


权限,





–x


2


:仅有


w


权限





-w-


3


:有


w





x


权限








wx


4


:仅有


r


权限





r–


5


:有


r





x


权限





r-x


6


:有


r





w


权限





rw





7


:有全部权限





rwx


所以


751


表示:


rwx


(7) r-x(5) –x(1)



案例


  • 将hello.txt


    的权限修改为:


    r-x–


    xr


    -x


    ,数字序号为:


chmod


515 hello.txt


  • 将hello.txt


    的权限修改为:





    wx


    -w-


    rw





    ,数字序号为:


chmod


326 hello.txt


  • 序号123


    代表的权限是:


–x-w–


wx

修改权限控制 – chown


1、chown命令


使用


chown


命令,可以修改文件、文件夹的所属用户和用户组


普通用户无法修改所属为其它用户或组,所以此命令只适用于


root


用户执行


语法:

chown [-R] [用户][:][用户组] 文件或文件夹



选项,


-R


,同


chmod


,对文件夹内全部内容应用相同规则


选项





用户,修改所属用户


选项





用户组,修改所属用户组


:


用于分隔用户和用户组


示例:



chown


root hello.txt


,将


hello.txt


所属用户修改为


root


chown


:root hello.txt


,将


hello.txt


所属用户组修改为


root


chown


root:itheima


hello.txt


,将


hello.txt


所属用户修改为


root


,用户组修改为


itheima


chown


-R root test


,将文件夹


test


的所属用户修改为


root


并对文件夹内全部内容应用同样规则



版权声明:本文为weixin_45922730原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45922730/article/details/131501651