Linux用户和权限

发布时间:2024年01月23日

目录

1 root用户

1.1 root用户(超级管理员)?

?????1.2 用户切换目录

1.3 sudo命令?

2 用户、用户组管理

2.1 用户、用户组的概念

2.2 用户、用户组管理的相关命令

3 查看权限控制

4 修改权限控制 -chmod?

5 修改权限控制 -chown


1 root用户

1.1 root用户(超级管理员)?

?root用户具有最大的系统操作权限,普通用户的权限有限。

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

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

?????1.2 用户切换目录

su 和 exit??

1.2.1 su?切换账户?

起源:Switch User

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

-? ????????????????选项,表示是否在切换用户后加载环境变量,建议带上

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

【注意】

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

使用普通用户,切换到其他用户需要输入密码,如切换到root用户

使用root用户切换到其他用户,无需密码,可以直接切换

1.3 sudo命令?

?语法:sudo 其他命令

在其他命令之前,加上sudo,即可以root权限运行该命令

但普通用户使用sudo之前,我们需要为普通用户配置sudo认证

?为普通用户配置sudo认证

1)切换到root用户? ? ? ? su - root

?????执行visudo命令(自动通过vi编辑器打开: /etc/sudoers? )

2)? 点击i,在文件的最后添加:

用户名? ?ALL=(ALL)? ? ? ? ? NOPASSWD:ALL

3)???点击Esc,输入:wq进行保存并退出。

测试:

在根目录下创建文件夹

su - 用户名? ? ? ? ????????切换到普通用户

sudo ls /? ? ? ? ? ? ? ? ? ? ?浏览根目录的文件? ? ? ? ? ? ? ?

sudo mkdir /test? ? ? ? ?在根目录下创建一个名为test的文件夹

2 用户、用户组管理

2.1 用户、用户组的概念

Linux系统中可以:

1)配置多个用户

2)配置多个用户组

3)用户可以加入多个用户组中?

Linux中关于权限的管控级别有2个级别,分别是:

1)针对用户的权限控制

?2)针对用户组的权限组的权限控制

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

2.2 用户、用户组管理的相关命令

2.2.1 用户组管理

以下命令需要root用户执行?

创建用户组

groupadd 用户组名

删除用户组?

groupdel 用户组名

?示例

su - root? ? ? ? ? ? ? ?? ?切换到root用户

groupadd test? ? ? ? ?创建用户组test

groupdel test? ? ? ? ? 删除用户组test

用户管理

以下命令需root用户执行

创建用户

语法:useradd [-g -d]? 用户名

-g? ? ? ? 选项,指定用户的组,若已存在同名组,则需要加上-g;若不存在同名组,则无需-g,

? ? ? ? ? ? 会自动创建同名组并自动加入。

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

示例

创建用户sky并添加到test用户组中

groupadd test

useradd -g test sky

id sky? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看用户sky所属用户组

删除用户

语法: userdel? [-r]? 用户名

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

查看用户所属组

语法:id? [用户名]

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

修改用户所属组

语法:usermod? -aG???用户组? 用户名

将指定的用户加入指定用户组

示例

将用户sky加入到用户组blue?

usermod? -aG blue sky

id? sky????????????????????????????????查看用户sky所属用户组

passwd 用户名

设置用户密码??

2.2.2 getent 查看当前系统中有哪些用户

语法:getent passwd

命令输出的内容,可分为7个信息:

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

getent????????查看当前系统中有哪些用户组

语法二:getent group

包含3份信息

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

3 查看权限控制

?

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

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

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

?

其中rwx表示什么?

?r? ? ? ? read,表示读权限

w? ? ? ? wirte,表示写权限

x? ? ? ? ?execute,表示执行权限

但需要注意

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

字符针对文件针对文件夹
r可以查看文件内容可以查看文件夹内容,如ls命令
w可以修改此文件可以在文件夹内:创建、删除、改名等操作
x可以将文件作为程序执行可以更改工作目录到此文件夹,即cd进入

示例

首字母为d? ? ? ? ? ? ? ? ? ? ? ? ?表示这是一个文件夹

第2、3、4个字符rwx? ? ? ? 表示用户star对该文件夹具有的权限有r、w、x

第5、6、7个字符 r-x? ? ? ? ?表示用户组star对该文件夹具有的权限有r、-、x

第5、6、7个字符 r-x? ? ? ? ?表示其他用户对该文件夹具有的权限有r、-、x

4 修改权限控制 -chmod?

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

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

【注意】

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

示例

将文件hello.txt权限修改为rwxr-x--x?

chmod u=rwx,g=rx,o=x

将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x?

?chmod -R u=rwx,g=rx,o=x test?

?【注意】 u表示user(所属用户权限),g表示group(用户组权限),o表示other(其他用户权限)

快捷写法

权限可以用3位数字来代表,第一位表示用户用户权限,第二位表示用户组权限,第三位表示其他用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有?

10进制2进制权限
0000---
1001--x
2010-w-
3011-wx
4100r--
5101r-x
6110rw-
7111rwx

示例

将hello.txt的权限修改为:r-x--xr-x,数字序号为:

chmod 515 hello.txt

将hello.txt的权限修改为-wx-w-rw-,数字型号为:

chmod 326 hello.txt

序号123代表的权限是

--x-w--wx?

5 修改权限控制 -chown

?chown? ? ? ? 即change owner

功能:修改文件、文件夹所属用户、用户组

限制:只可root执行

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

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

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

:? ? ? ? ? ? ? ? 选项,用于分隔用户和用户组

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

示例?

将test.txt?所属用户修改为root

?chown root test.txt

将test.txt 所属用户组修改为root

?chown? : root? test.txt

将test.txt 所属用户修改为root,用户组修改为star

?chown root : star test.txt

将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则

?chown -R root test

文章来源:https://blog.csdn.net/weixin_46858088/article/details/135360738
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。