文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr

一、改变用户对文件的读写执行权限 chmod
语法: chmod [-R] xyz 文件名 (这里的xyz,表示数字)

‘-R’ 级联更改

在linux中为了方便更改这些权限,linux使用数字去代替rwx, 具体规则为 ‘r’ 等于4, ‘w’ 等于2, ‘x’ 等于1, ‘-‘ 等于0. 举个例子: ‘-rwxrwx—’ 用数字表示就是 ‘770’, 具体是这样来的: ‘rwx’ = 4+2+1=7; ‘rwx’ = 4+2+1=7; ‘- - -‘ = 0+0+0=0.

在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644。
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr
如果你创建了一个目录,而该目录不想让其他人看到内容,则只需设置成 ‘rwxr—–’ (740) 即可

’chmod’ 还支持使用rwx的方式来设置权限,分别是(1)user (2)group (3)others, 我们可以使用u, g, o 来代表它们三个的属性,此外, a 则代表 all 亦即全部
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr
这样可以把 ‘test/test2’ 文件权限修改为 ‘rwxr-xr-x’.

另外还可以针对u, g, o, a增加或者减少某个权限(读,写,执行),例如:
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr

二、更改文件的所属主 chown
语法: chown [ -R ] 账户名 文件名 chown [ -R ] 账户名:组名 文件名

这里的-R选项只作用于目录,作用是级联更改,不仅更改当前目录,连目录里的目录或者文件全部更改。
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr

三、命令: umask
语法: umask xxx (这里的xxx代表三个数字)

查看umask值只要输入 ‘umask’ 然后回车
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr

umask预设是0022,代表含义:默认值(文件为666,目录为777)需要减掉的权限

目录的权限为 ‘rwxrwxrwx’ - ‘—-w–w-’ = ‘rwxr-xr-x’,普通文件的权限为 ‘rw-rw-rw-’ - ‘—-w–w-’ = ‘rw-r–r–’。

umask 可以在 /etc/bashrc 里面更改,预设情况下,root的umask为022,而一般使用者则为002,因为可写的权限非常重要,因此预设会去掉写权限。

四、修改文件的特殊属性命令 : chattr
语法: chattr [+-=][ASaci [文件或者目录名]

‘+-=’ : 分别为增加、减少、设定
‘A’ : 增加该属性后,文件或目录的atime将不可被修改
‘S’ : 增加该属性后,会将数据同步写入磁盘中
‘a’ : 增加该属性后,只能追加不能删除,非root用户不能设定该属性
‘c’ : 自动压缩该文件,读取时会自动解压
‘i’ : 增加后,使文件不能被删除、重命名、设定链接、写入、新增数据

例子:对 ‘test2’ 目录增加 ‘i’ 权限后,即使是root账户也不能在 ‘test2’ 里创建或删除test1文件:
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr

五、 lsattr
该命令用来读取文件或者目录的特殊权限,语法为 lsattr [-aR] [文件/目录名]

‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出
‘-R’ : 连同子目录的数据一同列出
文件和目录权限chmod、更改所有者和所属组chown、umask与隐藏权限lsattr/chattr