开发者

linux 权限管理命令脚本解析

开发者 https://www.devze.com 2023-11-09 11:21 出处:网络 作者: bug生产者
目录权限管理命令权限的查看及含义权限修改数字权限用户操作添加用户修改文件所有者修改所属组ACL操作ACL基本命令权限管理命令
目录
  • 权限管理命令
    • 权限的查看及含义
    • 权限修改
    • 数字权限
  • 用户操作
    • 添加用户
    • 修改文件所有者
    • 修改所属组
    • ACL操作
    • ACL基本命令

权限管理命令

权限的查看及含义

可以使用ls -l来查看每个文件或目录的权限,一共有十位

ls -ls
------------------php-------------------------------------------------
-rw-------. 1 root root   946 Feb 14 16:13 anaconda-ks.cfg
drwxr-xr-x. 2 root root  4096 Feb 15 15:47 Desktop

<!-- more -->

  • 第 1 个字符表示文件类型,其中,普通文件 (-)、目录文件 (d)、套接字文件 (s),管道文件 (p),字符设备文件 (c),块设备文件 (b),软链接文件 (l);
  • 第 2 个字符开始的 rwxr-xr-x 部分表示文件的权限位,共有 9 位。每三位为一组,分别为所有者的权限u、所属组的权限g、其他人权限o

    • 第 2~4 位的 rwx 表示该php文件编程可被它的 所有者以 r(读) 或 w(写) 或 x(执行) 的权限访问。
    • 第 5~7 位的 r-x 表示该文件可被与该文件同一所有组的用户以 r 或 x 的权限访问
    • 第 8~10 位的 r-x 表示该文件可被其它未知用户以 r 或 x 的权限访问。

权限修改

使用设置权限的命令 chmod

#chmod [设置权限的对象]+/-[权限] [文件] 
#  设置权限的对象包括 所有者、所属组、其他这三类。u表示文件的所有者,g表示文件的所属组,o代表其他人  
# +代表增加权限,-代表去掉权限  
# 文件的权限就是读、写和执行,分别用r、w、x表示
chmod g+w abc.txt
#多个设置权限可以使用逗号分隔
chmod u+x,g+w abc.txt

数字权限

使用字母设置权限命令比较长,linux支持使用数字来替代权限,计算为二进制111

  • 4 代表r权限,读权限
  • 2 代表w权限,写权限
  • 1 代表x权限,执行权限

可以使用多个数字加和的方式来设置权限

#设置u权限为7=4+2+1,设置g权限为5=4+1,设置o权限为5=4+1
chmod 755 abc.txt

用户操作

添加用户

#添加用户
#useradd 用户名
useradd user1
#给user1设置密码
#passwd 用户名
passwd user1

修改文件所有者

#chown 用户名 文件
chown user1 abc.txt
#chown 用户名:组名 文件
chown user1:user1 abc.txt
-R 递归式改变指定目录及目录下所有文件和子目录 
-v 显示 chown 命令所做的工作

修改所属组

#chgrp 组名 文件名
chgrp user1 abc.txt
-R 递归式改变指定目录及目录下所有文件和子目录

ACL操作

ACL是用来解决用户对文件身份不足的问题,上述权限管理只能对三类人群进行权限区分,这明显是不够的,所以出现了ACL操作

先确认一下acl是否开启(一般情况下acl是开启的)

# dumpe2fs 查询指定分区详细文件python系统信息的命令
# 这里我的sda1是根分区,
dumpe2fs -h /dev/sda1
-h 只显示超级块中的信息,不显示磁盘块组的信息
-----------------------------
#如果在查询结果中找到Default mount options:    user_xattr acl则说明acl是开启状态

如果acl没有开启

#重新挂载根分区
mount -o remount,acl /

ACL基本命令

查看文件acl权限

getfacl 1.txt
-----------------
# file: 1.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

设定acl权限

#setfacl [options] 文件名
setfacl -m u:test1:6 1.txt
-----------------
-m u:用户名:权限 | g:组名:权限  设定acl权限
-b  删除acl权限
-R 递归,只能作用于目录,将权限同样赋给目录中的文件  setfjavascriptacl -m u:test1:6 -R src  只能对已存在的文件设置权限
                                             setfacl -m d:u:test1:6 -R src  对以后创建的文件也生效,d表示默认

sudo授权 给普通用户赋予部分管理员权限

以上就是linux 权限管理命令脚本解析的详细内容,更多关于linux 权限管理命令的资料请关注编程客栈(www.devze.com)其它相关文章!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号