一、文件基本权限
1、基本权限的修改
-rw-r--r--
- 文件类型(- 文件 d 目录 l 软链接文件)
rw- u所有者
r-- g所属组
r-- o其他人
r 读
w 写
x 执行
chmod命令
chmod [选项] 模式 文件名
- 选项
-R 递归
- 模式
[ugoa] [+-=] [rwx]
[mode=421]
chmod u+x cangls.av
chmod g+w o+w furong.av
chmod a=rwx fengjie.av
#创建新文件
[root@localhost ~]# touch cangls.av
[root@localhost ~]# ll
#所有者添加执行权限
[root@localhost ~]# chmod u+x cangls.av
[root@localhost ~]# ll
#所属组和其他人添加写权限
[root@localhost ~]# chmod g+w,o+w cangls.av
[root@localhost ~]# ll
#所有者减去执行权限,所属组和其他人减去写权限
[root@localhost ~]# chmod u-x,g-w,o-w cangls.av
[root@localhost ~]# ll
#所有者添加读写执行权限,所属组添加读写权限
[root@localhost ~]# chmod u=rwx,g=rw cangls.av
[root@localhost ~]# ll
#所有人赋予读写权限
[root@localhost ~]# chmod a=rw cangls.av
[root@localhost ~]# ll
r ----4
w ----2
x ----1
rwxr-xr-x
7 5 5
#所有者赋予读写执行权限,所属组和其他人赋予读执行权限
[root@localhost ~]# chmod 755 cangls.av
[root@localhost ~]# ll
#改为普通文件权限
[root@localhost ~]# chmod 644 cangls.av
[root@localhost ~]# ll
777(文件最高权限)
644(普通文件权限)
755(所有者赋予读写执行权限,所属组和其他人赋予读执行权限)
r:读取文件的内容(cat more head tail)
w:编辑、新增、修改文件内容(vi echo),但是不包含删除文件;
x:可执行
r:可以查询目录下文件名(ls)
w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)
x:可以进入目录(cd)
对文件来讲:最高权限是x(执行)
对目录来讲:最高权限是w(写),能赋予的权限只有0,5,7
#创建普通用户user1
[root@localhost ~]# useradd user1
#创建普通用户密码user1
[root@localhost ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:123
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:123
passwd: 所有的身份验证令牌已经成功更新。
chown 用户名 文件名
例如:chown ds fengj.av
chgrp 组名 文件名
例如:chgrp group1 fengj.av
要求:
拥有一个av目录
让加藤老师拥有所有的权限
让本课程学员有查看的权限
其他所有人不许查看这个目录
#创建目录
[root@localhost ~]# mkdir av
#查看
[root@localhost ~]# ll -d av
[root@localhost ~]# useradd jt
[root@localhost ~]# passwd jt
更改用户 jt 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
#添加组
[root@localhost ~]# groupadd user
#把user1用户加到user组里面
[root@localhost ~]# gpasswd -a user1 user
Adding user user1 to group user
[root@localhost ~]# chown jt:user av
[root@localhost ~]# ll -d av
#其他人改为0权限
[root@localhost ~]# chmod 750 av
[root@localhost ~]# ll -d av
#查看默认权限
[root@localhost ~]# umask
0022
第一位0:文件特殊权限
022:文件默认权限
文件默认不能建立为执行文件,必须手工赋予执行权限;
所以文件默认权限最大为666;
默认权限需要换算成字母再相减;
建立文件之后的默认权限,为666减去umask值;
例如:
文件默认最大权限666,umask值022;
-rw-rw-rw-减去-----w--w-等于-rw-r--r--
例如:
文件默认最大权限666,umask值033
-rw-rw-rw-减去-----wx-wx等于-rw-r--r--
目录的默认权限最大为777;
默认权限需要换算成字母再相减;
建立文件之后的默认权限,为777减去umask值;
例如:
目录默认最大权限为777,umask值022;
-rwxrwxrwx减去-----w--w-等于-rwxr-xr-x
临时修改
umask 0002
永久修改
vi /etc/profile
命令名称:chmod
命令英文原意:change the permissions mode of a file
有两种角色可以执行该命令,一种是 root 用户,另一种就是文件的所有者。
语法:
大括号里的内容表示只能选一个,其中 u 表示该文件的所有者,g 表示所属组,o 表示其他人,a 表示所有角色。
比如,给 abc.txt 文件的所属组加一个写的权限:
也可以同时做多个授权,比如给文件所有者加上执行权限,给其他人去掉写权限:
还可以用数字表示权限。权限的数字表示:
如果一个文件的权限是 rw-r--r--,那么翻译成数字就是 644,反过来,如果要更改文件的权限,可以这样写:
这样文件的权限就改成 rw-r----- 了。
还有一个选项 -R 是递归修改权限,该选项的功能是更改某个目录的权限的同时更改该目录下所有的子目录和文件的权限。
命令名称: chown
英文原意:change owner
语法:chown 用户名 文件
只有管理员账户可以更改文件的所属用户。
例如:
命令名称:chgrp
英文原意:change group
语法:chgrp 组名 文件
例如:
命令名称:umask
使用命令 umask -S 可以查看新建文件或目录的默认权限。
现在显示的是新建目录的默认权限,该目录的所有者的默认权限是 rwx,所属组的默认权限是 rx,其他人的默认权限是 rx。为什么说这是新建目录的默认权限而不是新建文件的默认权限,如果你查看新建文件的权限,会发现是 rw-r--r-- ,与新建目录的权限 rwxr-xr-x 相比,每种角色的权限都少了 x。所以说,只要知道了新建目录的默认权限,再去掉 x 权限,就是新建文件的默认权限。
如果直接执行 umask 命令,会显示一个数字。
这个数字叫做权限掩码,用 777 减去其后三位 022 就得到了每种角色的权限,即 755。翻译成字母就是 rwxr-xr-x 。
若想更改新建目录或文件的默认权限,只需执行 umask 权限掩码 即可。
例如,我想把新建目录的默认权限改成 rwxr-r-- ,翻译成数字就是 744,再用 777 减去 744 就得到了权限掩码 033。
虽然 Linux 系统的目录或文件的默认权限可以修改,但是 Linux 这样分配权限是有一定道理的,最好不要轻易修改。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)