Linux 基础权限

258 阅读3分钟

Linux 权限

一.创建用户,用户组并赋权

adduser han ## 创建用户
passwd han  ##赋予密码
userdel han ## 删除用户han
adduser -g dabing han ## 创建用户指定组
usermod (-a) -G apache cnzhx ##将用户添加到新用户组中而不必离开原有的其他用户组
groupadd groupname  ##添加用户组
groupdel groupname  ##删除用户组
gpasswd -d user group ##将一个用户从某个组中删除

二.文件基本权限

查看文件权限

ll 或者 ls -l

15734562242885.jpg 文件列表信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名。

  • linux一共有7种文件类型,分别如下: -:普通文件 d:目录文件 l: 软链接(类似Windows的快捷方式) (下面四种是特殊文件) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如猫等串口设备) s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

  • 文件权限对应关系

权限对应数字意义
r4可读
w2可写
x1可执行

修改文件权限

  • 1.chmod命令就可以用来变更文件或目录的权限 chmod -R 是递归向里赋权的
chmod u+x a.txt  ## 给所属用户添加可执行权限
chmod g+x a.txt  ## 给所属用户组添加可执行权限
chmod o+x a.txt  ## 给所属其他用户添加可执行权限
或者
chmod 600 a.txt  ## 通过权限值给文件或者目录赋权
  • 2.chown命令:用来改变文件或目录的所有者和所属用户组
chown han:han a.txt

默认权限

mkdir dir  ## root默认权限为 755  其他的用户 775
touch a.txt  ## 默认权限为 644   其他的用户664

ACL(Access Control List )权限

linux系统中一个文件只有一个所属组,一个所有者,acl权限是解决用户对文件权限不足,也就是用户身份不够的情况下。打算让某个用户对这个文件有权限,不用考虑这个用户是哪个所有组;还是其他人。用acl给这个用户赋予权限。ACL权限 是解决用户对文件身份不足的问题(该用户不属于 拥有者 所属组 其他人)。系统是否支持ACL是与文件系统有关的。 设定ACL权限

  • setfacl 选项 文件名 选项:
    • -m:设定ACL权限。
    • -x:删除指定的ACL权限。
    • -b:删除所有的ACL权限。
    • -d:设定默认的ACL权限。
    • -k:删除默认的ACL权限。
    • -R:递归设定ACL权限。

sudo权限

linux给普通用户赋予sudo权限免密码

vi /etc/sudoers

找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

可以sudoers添加下面四行中任意一条
dabing          ALL=(ALL)                ALL
%dabing         ALL=(ALL)                ALL
dabing          ALL=(ALL)                NOPASSWD: ALL
%dabing         ALL=(ALL)                NOPASSWD: ALL

第一行:允许用户dabing执行sudo命令(需要输入密码).
第二行:允许用户组dabing里面的用户执行sudo命令(需要输入密码).
第三行:允许用户dabing执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组dabing里面的用户执行sudo命令,并且在执行的时候不输入密码.

Linux常用权限

600(rw------):只有root有读写权限。 644(rw-r--r--):只有root有读写权限;group用户和other用户只有读权限。 755(rwxr-xr-x):root有读、写、执行权限;group用户和other用户只有读、执行权限。