【从零带你玩转Linux】权限及相关指令

506次阅读
一条评论

共计 2882 个字符,预计需要花费 8 分钟才能阅读完成。

 

  1. 什么是权限?
  2. 为什么会有权限?
  3. 如何设置权限?
  4. 没有权限会怎么样?

认识权限

在 Linux 下,有两种用户:超级用户(root)、普通用户。

  • root 用户:可以在 linux 系统下做任何事,不受权限的限制
  • 普通用户:在 linux 下受权限的制约,只能做有限的事

超级用户的命令提示符是#,普通用户的命令提示符是$

【从零带你玩转 Linux】权限及相关指令

1. 文件访问者的分类

  • 文件拥有者 u——User
  • 文件所属组 g——Group
  • 其它用户 o——Other

2. 文件类型和访问权限

我们可以使用 ls -la 来查看当前目录下的所有文件详细信息

【从零带你玩转 Linux】权限及相关指令

【从零带你玩转 Linux】权限及相关指令

有细心的小伙伴肯定发现了,这一栏一共有 10 个字符:

  • 第一个字符 代表这个文件是 文件、目录还是链接文件:
    字符选项 含义
    [d] 目录 (directory)
    [–] 文件 (默认 –)
    [l] 链接文件 (link file)
    [b] 块设备文件,例如硬盘、光驱等 (block file)
    [c] 字符设备文件,例如屏幕等串口设备 (character file)
    [p] 管道文件 (pipe files)
    [s] 套接口文件 (socket file)
  • 第二个字符到最后一个字符,每 3 个为一组【从零带你玩转 Linux】权限及相关指令每组有三个权限,分别是:
    权限 含义
    r 可读 (readable)
    w 可写 (writable)
    x 可执行 (excutable)
    无权限

    例如图中的就是,拥有者和所属组可读可写可执行,其他人不可读不可写不可执行

3. 文件权值的表示方法

1) 字符表示法

Linux 表示 说明
r– 只读
-w- 只写
–x 只执行
rw- 可读可写(不执行
r-x 可读可执行(不可写
-wx 可写可执行(不可读
rwx 可读可写可执行
无权限

2) 8 进制表示法

将 9 位数每 3 位坐为一个 8 进制数字,有此权限就为 1,没有此权限就为 0

例如:

【从零带你玩转 Linux】权限及相关指令

权限符号 二进制 八进制
000 0
–x 001 1
-w- 010 2
-wx 011 3
r– 100 4
r-x 101 5
rw- 110 6
rwx 111 7

创建普通用户 adduser

语法:

add [选项] 新建账号名

 

功能:

创建一个普通用户,adduser 与 useradd 一致,都是同样一条指令

(一般配合下面一条指令使用)

参数说明:

选项 含义
-d 指定家目录位置
-m 若目录不存在,自动建立目录,默认 /home/{新建账号名}
-g 指定所属组名称

实例:

adduser test_user

 

  • 什么都不指定的情况下,默认家目录为/home/{账号名},所属组名 与 账号名相同

设置用户密码 passwd

语法:

root 用户:passwd 用户名

普通用户:passwd

功能:

设置 / 修改用户密码

实例:

root(超级)用户:

passwd test_user

 

【从零带你玩转 Linux】权限及相关指令

passwd sam 
New password:******* (新密码)
Re-enter new password:******* (再次输入新密码)

 

普通用户:

passwd

 

【从零带你玩转 Linux】权限及相关指令

(current) UNIX password:**** (旧密码)
New password:***             (新密码)
Retype new password:****     (再次输入新密码)

 

注意:

  • 在输入密码时,不会显示在显示器上,但密码确实会输入,如果输入错误建议ctrl+c(注销当前操作)重新输入

删除用户 userdel

语法:

userdel [-r] 用户名

 

功能:

删除用户(需要root 用户才能删除

实例:

删除用户(保留家目录)

userdel test_user

 

删除用户(家目录一起删除)

userdel -r test_user

 

以超级用户身份运行 sudo

语法:

sudo [其它命令]

 

作用:

以管理员身份执行命令

实例:

sudo whoami

 

【从零带你玩转 Linux】权限及相关指令

设置 root 权限:

大家在第一次执行词条命令的时候,会遇到无法使用的问题,下面就有我为大家介绍如何解决。(•̀ ω •́)✧

  1. 当前用户必须为root
  2. 用 vim 或 nano 打开 /etc/sudoers 文件
    vim /etc/sudoers  # 用 vim 打开 sudoers 文件
    
    nano /etc/sudoers # 用 nano 打开 sudoers
    

    【从零带你玩转 Linux】权限及相关指令

  3. 大概在 90~110 行左右,会看到 root ALL=(ALL) ALL,将 root 换成你想提升权限的普通用户即可
    root       ALL=(ALL)       ALL
    (替换用户)  ALL=(ALL)       ALL
    

注意: 打开 /etc/sudoers 文件一定要是 root 用户,若不是 root 用户,打开文件会一片空白

切换用户 su

语法:

su {用户}

su - {用户}

 

用法实例:

命令 含义
su 切换到 root 用户
su root 切换到 root 用户
su – 切换到 root 用户,同时进入 root 家目录
su 普通用户 切换到普通用户
su – 普通用户 切换到普通用户,同时进入家目录

查看当前用户 whoami

语法:

whoami

 

功能:

查看当前用户

实例:

【从零带你玩转 Linux】权限及相关指令

查看用户登录信息 who

·语法:

who

 

作用:

查看用户登录信息

退出登录账户 exit

语法:

exit

 

作用:

如果是图形界面,退出当前终端;

如果是使用 ssh 远程登录,退出登陆账户;

如果是切换后的登陆用户,退出则返回上一个登陆账号

快捷键:

ctrl+D

修改文件权限 chmod

语法:

chmod [ [目标对象 ][+-=][ 权限 ] ] [ 文件或目录]
  • 1

功能:

修改文件或目录权限

参数说明:

目标对象 含义
u user 文件拥有者
g group 文件所属组
o other 其他人
a all 所有
[±=] 含义
+ 增加权限
撤销权限
= 设定权限

实例:

# 符号表示法
chmod u+rw test.c
chmod u+rw,g+rw test.c
chmod a-rw test.c

# 8 进制表示法
chmod 516 test.c

 

【从零带你玩转 Linux】权限及相关指令

修改用户拥有者 chown

语法:

chown [选项 ] 修改后拥有者[: 新文件拥有者的所属组] [ 文件名]

 

功能:

  1. 修改用户拥有者
  2. 修改用户所属组

常用参数说明:

选项 含义
-R 递归处理,将目录与目录下所有文件一起修改

实例:

chown wyd file.txt 
# 修改文件 file.txt 拥有者为 wyd

chown wyd:wyd file.txt
# 修改文件 file.txt 拥有者及所属组为 wyd

chown -R wyd dir
# 将目录及其文件下的所有文件拥有者修改为 wyd

 

【从零带你玩转 Linux】权限及相关指令

修改用户所属组 chgrp

语法:

chgrp [参数 ] [ 修改后用户组名 ] [ 文件名]

 

功能:

修改用户所属组

常用参数说明:

参数 含义
-R 递归处理,将目录与目录下所有文件一起修改
–reference=< 参考文件或目录 > 将 文件所属组变成 与参考文件或目录一致

实例:

chgrp -R wyd test 
# 将 test 目录及其目录下的所有文件所属组修改为 wyd

chgrp --reference=test1 test2 
# 将 test2 所属组 变成 与 test1 所属组一致

chgrp -R --reference=test1 test2 
# 将 test2 及其目录下的所有文件 变成 与 test1 所属组一致

【从零带你玩转 Linux】权限及相关指令

设置掩码 umask

语法:

umask [权限掩码]

 

作用:

  1. 查询掩码
  2. 设置掩码

说明:

  1. 权限和权限掩码是按照 8 进制表示法
  2. 新建文件默认权限 = 0666
  3. 新建目录默认权限 = 0777
  4. 假设默认权限是mask,则实际创建出来的文件权限是 mask & ~umask
  5. 超级 (root) 用户默认掩码为 0022
  6. 普通用户默认掩码为 0002

实例:

umask # 查询掩码

umask 0001 # 设置掩码为 0001

 

【从零带你玩转 Linux】权限及相关指令

本文转载自 CDSN

正文完
 
lucky
版权声明:本站原创文章,由 lucky 2023-01-02发表,共计2882字。
转载说明:转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
2024-07-08 03:19:38 回复

Your point of view caught my eye and was very interesting. Thanks. I have a question for you.

 Windows  Edge  英国伦敦伦敦