i## 1. 普通权限

1. r(读权限)4

针对目录

可以使用ls命令查看内容。

针对普通文件

可以使用文件查看相关的命令(cat/less/more/head/tail等)

2. w(写权限)2

针对目录

可以创建删除,重命名等(mkdir/touch/mv/rm等)

针对普通文件

可以修改该文件的内容(vi,vim等)

3. x(执行权限)1

针对目录

可以进入或者切换到该目录

针对普通文件

可以被执行。

2. 修改文件普通权限

用法:chmod [选项]... 模式[,模式]... 文件...

或:chmod [选项]... 八进制模式 文件...

-R, --recursive 修改目录及下面文件的权限

1. 字母方式修改

u:所属用户

g:所在组

o:其他用户

a:所有用户

示例:

# 给file1添加其他人的写权限。

chmod o+w file1

# 给file1其他人的权限设置为rwx

chmod o=rwx file1

# 同时设置多个权限

chmod u=rwx,g=rw,o=- file1

# 给所有人添加x权限

chmod a+x file1

2. 数字方式修改

示例

# 修改权限为rwx r-x r-x

chmod 755 file1

# 修改权限为rwx rw- rw-

chmod 766 file1

3. 修改文件的属主和属组

3.1 chown

用法:chown [选项]... [所有者][:[组]] 文件...

选项:

-R: 递归修改文件夹

示例:

chown root /u 将 /u 的属主更改为"root"。

chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"。

chown :staff /u 和上面类似,但只其属组更改为"staff"。

chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。

3.2 chgrp

用法:chgrp [选项]... 用户组 文件...

选项:

-R: 递归修改文件夹

示例:

chgrp staff /u 将 /u 的属组更改为"staff"。

chgrp -hR staff /u 将 /u 及其子目录下所有文件的属组更改为"staff"。

4. 实战

# 创建目录在跳板机

mkdir -p /data/code

# 目录权限管控

# 1. 只给开发人员使用,把目录给coding组。

chgrp coding /data/code

chmod g+w /data/code

# 2. 其他人不能访问

chmod o-rx /data/code

# 为目录添加粘制位权限,保证不同用户创建的文件其他用户不可删除

chmod o+t /data/code

Logo

更多推荐