Linux常用命令-权限相关

Linux权限简单点说就是:谁拥有文件/文件夹的什么权限。

首先说一下基本概念:

Linux里面文件权限身份有三种:owner、group、others,分别表示文件所属者,文件所属用户组,其他用户。

权限分为三种:r 、w 、x,分别是读、写和执行权限,对应的数值分别是4、2、1。举例7=4+2+1表示拥有所有权限,6=4+2表示拥有读和写得权限,3=2+1表示拥有写和执行的权限。777表示这个文件,其所属者、所属用户组和其他用户都拥有所有权限。

一般ls -l 查看文件的详细信息,显示如下:

  • 第1列为权限
  • 第2列为链接,表示有多少文件名链接到此节点(i-node)
  • 第3列为owner
  • 第4列为group
  • 第5列为文件大小
  • 第6,7,8列为文件修改日期
  • 第9列为文件名

权限列需要讲一下含义:

  • d则是目录
  • -则是文件
  • l则表示为链接文件
  • b则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
  • c则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。

1、用户、用户组相关

  • 查看所有用户

所有的用户信息存在于/etc/passwd下,可以通过cat命令查看

cat /etc/passwd

  • 查看单个用户信息

id userName

  • 切换用户

 比较常用的就是切换到超级管理员:su root

su userName

  • 创建用户

-m表示在home目录下,为用户创建一个同名文件夹,初始创建的用户没有密码,需要用到passwd命名设置/修改密码。

useradd -m username

一般搭配 usermod -s /bin/bash username (指定shell,否则会非常不便于终端操作,很多命令无法使用)

  • 设置/修改密码

新增的用户需要输入密码,然后确认密码即可。

passwd username

  • 删除用户

删除用户,-r表示删除用户创建的文件(注意使用防止误删)

userdel username

  • 查看用户组

用户组信息存在于/etc/group,通过cat查看

一般格式如下:X:Y:Z:M

X表示用户组名称,Y表示密码位,Z表示组ID(gid),M表示属于这个组的用户

  • 增加用户组

通过cat /etc/group查看所有的用户组,-g(gid)指定组的ID

groupadd groupName

  

  • 删除用户组

用来删除用户组,-f表示强制

groupdel groupName

  • 修改用户所属用户组

1、usermod,-G(groups)是将用户附加到其他组,同时附加到多个组可以通过英文逗号隔开,组名称或者组ID都可以;-g(gid)表示将用户附加到主组,一个用户只能属于一个主组。

usermod -G group1,group2 userName

usermod -g group userName

2、gpasswd,一次只能操作单个组,只能是组名称,不能是组ID

把用户添加到组中

gpasswd -a userName groupName

把用户从组中移除

gpasswd -d userName groupName

2、文件、文件夹权限相关

  • 修改文件所属用户、用户组

1、chown修改文件所属用户和用户组,一般需要采用sudo,或者切换到root用户修改,-R表示递归将下面所有的文件和文件夹的所属者修改。

如果sudo提示 "xxx is not in the sudoers file",需要切换到root,然后vim /etc/sudoers,找到“root ALL=(ALL) ALL”一行,在下面插入新的一行,内容是“userName ALL=(ALL) ALL”,然后在vim键入命令“:wq!”保存并退出。

chown userName fileName

chown -R userName:groupName fileName

2、chgrp只修改文件所属用户组,-R表示递归修改子文件和子文件夹的所属组

chgrp groupName fileName

  • 修改文件的所属用户、用户组的权限

chmod修改文件的权限,从上面知道文件权限有三种:r(read)、w(write)、x(execute),表示读、写和执行;文件权限身份有三种:所属者、所属组和其他组,分别由u(user)、g(group)、o(others)、a(all))表示。-R表示递归修改子文件和子文件夹的文件权限。

1、同时处理所有身份的权限:7表示给文件所属者赋予所有的权限,5表示给所属用户组赋予读和执行的权限,4表示给其他组赋予读的权限,-R表示处理子文件和子文件夹

chmod -R 754 fileName

2、处理单独身份的权限:-表示删除权限,+表示增加权限,其中u-x表示删除文件所属者的执行权限,u+r表示增加所属者读的权限,g-w表示删除所属组得写权限。

chmod -R u-x fileName

posted @   浪迹天涯的派大星  阅读(505)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示