Linux——用户和权限

root用户(超级管理员)

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

******************

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

切换到root用户后,继续尝试

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

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

su和exit指令

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

1.- 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上

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

3.切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d

4.使用普通用户,切换到其它用户需要输入密码

5.如切换到root用户 使用root用户切换到其它用户,无需密码,可以直接切换

sudo命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但是我们不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。

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

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

为普通用户添加sudo认证

普通用户要执行sudo命令需要sudo认证,且需要输入root的密码

******************************************

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

在文件的最后添加:

重新执行一下sudo mkdir  /test01 

用户,用户组管理 

以下命令需root用户执行

用户组管理的命令

创建用户组

groupadd 用户组名

创建一个组,名为g1

再用同样的方式创建一个g2(不贴图了)

用getent group命令查看组

能看到我们新创建的两个组以及和我们的普通用户chen同名的组

--------------------------------------

删除用户组

groupdel 用户组名

删除g2

**********************************************************************

用户管理的命令

创建用户

useradd [-g -d] 用户名

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

例1

先用getent passwd查看用户信息

创建一个u1.不指定 -g 会创建同名组并自动加入

(这里组号为空的原因是,一个用户可能属于多个组,由此这里并不直接显示)

用id u1 指定 查看u1的信息

可以看到,它在它的同名组下

例2:

创建一个u2 用 -g 指定它加入g1组

---------------------------------------------------------

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

我们先看看u1和u2的home路径

可以看见,我们没有 -d 指定用户的home,它的home目录默认在 /home/用户名

现在我们创建一个u3 指定它在g1组 ,并且指定它的home 目录 在 /home/user3

--------------------------------------

删除用户

userdel [-r] 用户名

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

删除u3   没有 -r  它的home目录被保留,我们手动删一下

删除u2  使用 -r  它的home目录也被删除了

--------------------------------------

查看用户所属组

id [用户名]

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

--------------------------------------

修改用户所属组

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

-a 选项表示追加(append)

-G 选项后面跟的是要添加的用户组的名称

创建一个g2,把u1加入g2

可以看见,它是归属于u1g2 组的

getent命令

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

语法: getent passwd

我们的u1归属于多个组,这里不显示组id

共有7份信息,

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

------------------------------------

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

语法:getent group

共有3份信息,

分别是:   组名称:组认证(显示为x):组ID

查看权限控制

通过ls -l 查看文件的详细信息

序号1:表示文件、文件夹的权限控制信息

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

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

****************************************************

认知权限信息

让我们来解析一下序号1——权限细节

权限细节总共分为10个槽位

************************************ 

以这个文件为例,它归属于root用户,归属于root用户组

root用户对它有 rwx权限

root用户组对它有 rx权限 没有w权限

其他用户组对他有rx权限 没有w权限

rwx的含义

r表示权限

w表示权限

x表示执行权限

*****************************

针对文件、文件夹的不同,rwx的含义有细微差别

r

针对文件可以查看文件内容

针对文件夹,可以查看文件夹里面的内容,如ls命令

w

针对文件表示可以修改此文件

针对文件夹,可以在文件夹内:创建、删除、改名等操作

x

针对文件表示可以将文件作为程序执行

针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

修改权限控制 

chmod命令

我们可以使用chmod命令,修改文件、文件夹的权限信息。

注意,只有文件、文件夹的所属用户或root用户可以修改。

命令格式

选项:-R,对文件夹内的全部内容应用同样的操作

例1:

查看test01.txt的 权限信息  (最开始的-表示他是一个文件)

将test01.txt 的权限修改为 rwx rw- r-x

其中:u表示user所属用户权限,g表示group组权限,o表示other其它用户权限

例2:

创建一个多级文件夹 /a/b/c,记住这里a文件夹和b文件夹的权限信息

修改a文件夹的权限信息为rwxrwxrwx,

我们没有选择  -R  可以看到b文件夹的权限没有被修改

*********************************

执行chmod -R u=rwx,g=rwx,o=rwx a

可以看见a文件夹里面的所有内容的权限都被修改为rwxrwxrwx了

用数字表示权限

 修改test01.txt文件的权限为 rwx r-x  ---   =>  111 101 000   =>  7 5 0

chown命令

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

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

命令格式

选项,-R,同chmod,对文件夹内全部内容应用相同规则

选项,用户,修改所属用户

选项,用户组,修改所属用户组 :用于分隔用户和用户组

示例

*************************************

在用户chen下面创建一个文件夹

切换到root用户,修改它的所属用户为root ,所属组为g1

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值