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
文件列表信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名。
-
linux一共有7种文件类型,分别如下: -:普通文件 d:目录文件 l: 软链接(类似Windows的快捷方式) (下面四种是特殊文件) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如猫等串口设备) s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
-
文件权限对应关系
| 权限 | 对应数字 | 意义 |
|---|---|---|
| r | 4 | 可读 |
| w | 2 | 可写 |
| x | 1 | 可执行 |
修改文件权限
- 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用户只有读、执行权限。