linux文件目录权限

文件权限

 

1.passwd命令

使用passwd命令可以设置或修改用户的口令,普通用户和超级用户都可以使用passwd命令,但是普通用户只能修改自己的口令,超级用户可以设置或修改任何用户的口令。

如果passwd命令后面不接任何选项或用户名,则表示修改当前的口令。

passwd 【选项】 【用户名】

 

-S :查询用户的口令状态。

 

 

 

 

-d:删除用户口令,仅限于root权限操作。

-l:锁住用户使其无法更改密码。

-u;解除锁定。

-x:两次口令修改的最大天数,后面接数字。

linux文件目录权限_第1张图片

-n:两次口令修改的最小天数,后面接数字。

linux文件目录权限_第2张图片

-w:在距多少天使提醒用户修改口令。

-i:在口令过期多少天时,用户被禁用。

 

chage 参数 用户

-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码

-m ##最短有效期

-M ##最长有效期

-W ##警告期

-I ##用户非活跃天数

-E ##帐号到期日格式 -E "YYYY-MM-DD"

 

 

1.文件属性的查看

 

用“ls-l”命令来查看

 

-|rw-r--r--.|1| root| root|   85 |Jan 2 12:12|file

— —————————  —  ————  ————    ——  ————————————  ————————

1    2      3    4      5      6      7             8

 

1."-":文件类型

- ##普通文件

d ##目录

c ##字符设备

s ##套接字

p ##管道

b ##快设备

l ##连接

 

2."rw-r--r--":文件读写权限

rw-|r--|r--

 

*   $   @


r(read读取) 对文件而言,该用户具有读取文件内容的权限;对目录来说,该用户具有浏览目录的权力。

w(write写入)对文件而言,该用户具有新增、修改文件内容的权限;对目录来说,该用户具有删除、移动目录内文件的权限。

x(执行)对文件而言,该用户具有执行文件的权限;对目录来说,该用户具有进入目录的权限。

-表示不具有该项权限。

 

3."1":

对文件:文件内容被系统记录的次数

对目录:目录中文件属性的字节数

 

4."root":文件所有人

 

5."root":文件所有组

 

6."85":文件内容的大小

 

7."Jan 2 12:12":文件最后一次被修改的时间

 

8."file":文件名字

2.文件所有人所有组的管理

chown -R 【用户、组】 【文件/目录】

 chown  username file|dir ##更改文件的所有人

chown  username.groupname file|dir ##更改所有人所有组

chown -R username dir ##更改目录本身及里面所有内容的所有人

chgrp -R groupname dir ##更改目录本身及里面所有内容的所有组

linux文件目录权限_第3张图片

 

3.字符方式修改该文件权限

chmod [-R] <+|-|=> file|dir

 

rw-|r--|r--

 u   g   o

u:文件所有人对文件可以读写

g:文件组成员对文件可读

o:其他人对文件可读

u优先匹配,g次优先,o当u,g不匹配时匹配

初始预设权限

linux文件目录权限_第4张图片

添加或删除权限

linux文件目录权限_第5张图片

 

5.数字方式修改该文件权限

在linux中

r=4

w=2

x=1

文件权限数字表示方式

rw-|r--|r--

 u   g   o

u=rw-=4+2+0=6

g=r--=4+0+0=4

o=r--=4+0+0=4

所以文件权限表示为644

 

chmod 修改后权限值 file

chmod 777 file

 

7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x

0=---

初始权限

文件所有人,所有组和其他人对文件可读可写可执行

linux文件目录权限_第6张图片

对文件所有人可读可写可执行,对文件所有组只可写入,对其他人只可执行

linux文件目录权限_第7张图片

3.用户权力下放

1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers

2.下放权力的方法

*)超级用户执行visudo进入编辑/etc/sudoers模式

*)格式:

获得权限用户 主机名称=(获得到的用户身份) 命令

kiosk  desktop0.example.com=(root) /usr/sbin/useradd

kiosk用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd

linux文件目录权限_第8张图片

 

3.执行下放权限命令

sudo 命令 ##如果第一次执行sudo需要输入当前用户密码

在/etc/sudoers中如果设置如下:

test    desktop0.example.com=(root)     NOPASSWD: /usr/sbin/useradd

表示用户调用sudo命令的时候不需要自己密码

 

4.系统默认权限的设定

 

从系统存在角度来说,开放权力越大,系统存在意义越高

从系统安全角度来说,开放权力越少,系统安全性越高

所以系统设定新建文件或目录会去掉一些权限

设定方式

umask ##查看系统保留权限默认为022,创建文件,查看文件属性为

linux文件目录权限_第9张图片

umask 077 ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

linux文件目录权限_第10张图片

 

永久设定方式:

vim /etc/bashrc ##shell

 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

 71        umask 002 ##普通用户umask

 72     else

 73        umask 077    ##超级用户umask                                                                      

 74     fi

 

vim /etc/profile ##系统

 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

 60     umask 002 ##普通用户umask

 61 else

 62     umask 077       ##超级用户umask                                                                                         

 63 fi

linux文件目录权限_第11张图片

 linux文件目录权限_第12张图片

umask已经从022变为077

以上两个文件umask设定值必须保持一致

source /etc/bashrc

source /etc/profile

让设定立即生效

创建一个新文件,查看文件属性为

5.文件的访问控制

 

(1)设定

setfacl -m ::权限 文件|目录

-m #设定

u #用户

g #组

##删除列表中的用户或者组####

setfacl -x : 文件|目录

 linux文件目录权限_第13张图片

##关闭列表

setfacl -b 文件|目录

 

设定kiosk用户对/mnt/file2有读写权限

linux文件目录权限_第14张图片

 

 file:文件名称

owner:文件所有人

group;文件所有组

flags:标记

user::拥有者权限

user:特殊用户权限

group;组权限

mask:权限掩码

other:其他人权限

-d:设定默认的acl规则,针对目录而言。

setfacl -m d:u:用户名:权限   目录名

指某一用户对这个目录有某种特殊的权利(r、w、x)

linux文件目录权限_第15张图片

设置以后这个用户在这个目录中默认有此项权利

linux文件目录权限_第16张图片

注意:当文件上有权限列表时,ls -l 能看到的权限是假的

6.特殊权限

 

1.suid 冒险位

只针对二进制可执行文件,

文件内记录的程序产生的进程的所有人为文件所有人

和进程发起人身份无关

 

 

设定方式:

chmod u+s file

suid=4

chmod 4xxx file

 

2.sgid 强制位

对文件:只针对二进制可执行文件,

任何人运行二进制文件

程序时程序产生的进程的所有组都是文件的所有组

和程序发起人组的身份无关

对目录:当目录有sgid权限后,目录中新建的所有文件的所有组

都自动归属到目录的所有组之中,和文件建立者所在的组无关

 linux文件目录权限_第17张图片

linux文件目录权限_第18张图片

设定方式:

 

chmod g+s file|dir

sgid=2

chmod 2xxx file|dir

 

3.sticky 粘制位

t权限:

只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除

 

设定方式:

chmod o+t direcotry

t=1

chmod 1777 direcotry

 

 

 

文件隐藏属性 chattr,lsattr

注意:chattr命令只能在Ext2/Ext3文件系统上面生效。

chattr(设置文件的隐藏属性)

chattr [+-=] [ASacdistu] 文件名或目录名

参数:

+ 增加某一个参数,其他原本存在参数不变。

- 删除某一特殊参数,其他原本存在参数不变。

= 接后面仅有的参数

 

A:使文件的访问时间不会被修改。

S:一般文件是异步写入磁盘,设置之后将会同步写入磁盘。

a:设置之后这个文件只能增加数据,不能删除和修改数据,只有root才能设置这个权限。

c:设置之后将会自动压缩此文件,在读取的时候将会自动解压缩。在储存的时候先压缩再储存。

d:当dump程序执行的时候,可是此文件不备份。

i:可以使一个文件不能被删除,改名,设置连接也无法写入或添加数据,只有root才能设置。

s:如果这个文件被删除,他将会被完全从硬盘中删除。

u:与s参数功能相反,即使被删除也能从磁盘中找回。

 

lsattr(显示文件隐藏权限)

参数;

-a :将隐藏的属性也显示出来

-d:如果链接的是目录,仅列出目录本身的属性而非目录内的文件名。

-R:连同子目录的数据也一并列出来

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Linux运维)