一、权限的分类
Linux权限分为r(读取)、w(写入)、x(执行)。我们在终端执行ls -l命令查看文件详细信息显示如下:
[root@srv sun]# ls -l
总用量 0
drwxr-xr-x. 2 sun root 6 7月 5 14:05 公共
drwxr-xr-x. 2 sun root 6 7月 5 14:05 模板
drwxr-xr-x. 2 sun root 6 7月 5 14:05 视频
drwxr-xr-x. 2 sun root 6 7月 5 14:05 图片
这9列的含义,
第一列代表权限,分十位。第一位d代表目录(-代表普通文件;l代表链接文件;b或c代表设备),第二到第十位,每三位分一组代表所有者权限、所属组权限、其他账户权限。
比如:drwxr-xr-x d表示这个是目录,rwx代表有读取写入和执行权限。r-x,只能读取和执行。
第二列,子目录数量
第三列,文档所有者
第四列,文件所属组
第五列,容量
第六列,修改月份
第七列,修改日期
第八列,修改时间
第九列,文件或目录名称
二、chmod修改和赋予权限
用法:chmod [选项] 权限 文件或目录
选项:--reference=RFILE 根据参考文档设置权限
-R 递归应用于子目录
2.1 其中命令参数中,u代表所有者,g代表所属组,o代表其他用户,a代表所有人。
例如:
[root@srv 桌面]# ls -l App.java
-rw-------. 1 sun root 878 6月 3 09:50 App.java
[root@srv 桌面]# chmod u=rwx,g=rwx,o=rwx App.java
[root@srv 桌面]# ls -l App.java
-rwxrwxrwx. 1 sun root 878 6月 3 09:50 App.java
2.2 在原来的基础上+/-去权限:
[root@srv 桌面]# chmod g-x,o-wx App.java
[root@srv 桌面]# ls -l App.java
-rwxrw-r--. 1 sun root 878 6月 3 09:50 App.java
2.3 使用数字方式修改权限:
chmod 000 123.log
chmod 644 123.log
chmod 755 123.log
结果:drwxr-xr-x. 2 root root 6 7月 8 13:37 123
三、组账户信息:
cat /etc/passwd 查看账户基础信息
cat /etc/shadow 查看账户密码信息
cat /etc/group 查看组账户信息
cat /etc/gshadow 查看组账户密码信息
gpasswd admin 设置组密码
gpasswd -A zhangSan admin 把zhangSan账户设置为admin组的管理员
四、针对单个账户设置单独文件的权限
getfacl 123.log 查询ACL(Account Control List)访问控制列表
setfacl u:user1:rw 123.log 设置user1对123的权限
setfacl g:admin:rwx 123.log 设置组admin对123的权限
setfacl -x u:user1 123.log 删除用户权限
setfacl -x g:admin 123.log 删除组的权限