Linux文件权限

1.关于对用户的理解

用户就是系统使用者的身份

在系统中用户存储为若干个串字符和若干个系统配置文件

用户信息涉及到的系统配置文件有:

/etc/passwd   ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell


/etc/shadow  ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日


/etc/group  ###组信息
组名称:组密码:组id:附加组成员


/etc/gshadow  ###组认证信息


2.用户权利的下放(超级用户可以下放普通用户不能执行的操作给普通用户,下放权力配置文件:/etc/sudoers)

建立一个新的用户,然后切换到这个新用户下,在这个新用户下添加新的用户,会报错,没有权限执行此操作。(执行hostname,找到主机名称)


超级用户执行visudo进入编辑/etc/sudoers模式,添加如下命令(第一行是注释,系统不执行,主要是第二行)


如果按照上面的命令修改/etc/sudoers保存,并在shell中执行添加新用户的操作,发现要输入密码,为了避开密码的输入,可以:


这样就省去了加密码的麻烦。

为了使新用户可以进行文件的修改,可以在/etc/sudoers中添加/usr/bin/vim(执行的系统命令一般都在/bin 目录下)

不添加/usr/bin/vim的话会出现如下错误,文件显示‘只读’,虽然可以进行修改,



但是当保存退出的时候无法执行。


添加/usr/bin/vim后成功修改,实现了修改功能,


格式:
获得权限用户 主机名称=(获得到的用户身份)命令
westos               localhost=(root)               /usr/sbin/useradd
westos用户能在localhost以超级用户身份执行/usr/sbin/useradd


注意:修改/etc/shadow文件时,使用visudo;执行下放权限的命令:sudo    命令(因为是新添加的,系统还没用读取,使用sudo重新加载)


3.用户认证信息的修改

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


        -m         ##最短有效期


        -M         ##最长有效期


        -W         ##警告期


          -I          ##用户非活跃天数(密码到期后可以延缓修改的天数)


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


使用下面命令进行监控:



4.文件的权限:


     -    |    rw- r-- r--    |   1    |   root   |   root   |   0   |    Jan 3 07:33   |   file   |

分别对应(1)~(8)

(1)"-":文件类型 
- ##普通文件
d ##目录
c ##字符设备
s ##套接字
p ##管道
b ##快设备
l ##连接

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

rw-                  ###所有人的权限

r--                   ###所有组的权限

r--                   ###其他人的权限
(3)."1":
对文件                   ###文件内容被系统记录的次数
对目录                   ###目录中文件属性的字节数
(4)."root"                        ##文件所有人
(5)."root"                        ##文件所有组
(6)."0"                              ###文件内容的大小
(7)."Jan 3 07:33"             ####文件最后一次被修改的时间
8."filename"                    ####文件名字


文件所有人所有组的管理:(watch监控)

chown    username    file|dir             ##更改文件的所有人
chown    username.groupname  file|dir     ##更改所有人所有组
chown   -R   username     dir            ##更改目录本身及里面所有内容的所有人
chgrp    -R   groupname     dir            ##更改目录本身及里面所有内容的所有组












字符方式修改该文件权限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir

chmod u-x filename           ##filename用户去掉x权限
chmod g+w filename           ##filename用户组添加w权限
chmod u-x,g+w filename                    ##filename用户去掉x权,filename用户组添加w权限
chmod ugo-r filename           ##filename的用户和用户组以及其他人去掉r权限
chmod ug+x,o-r filename            ##filename用户和组添加x权限,其他人去掉r权限










数字方式修改该文件权限:


r=4
w=2
x=1
文件权限数字表示方式
rw-|r--|r--
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4



chmod 修改后权限值    filename
chmod 777                     filename

7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---






5.系统默认权限的设定

从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式:
umask ##查看系统保留权限默认为022
umask 077 ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:


只能临时设定:(当前shell中生效,设定之后文件的权限改变)



重新开一个shell,此时文件权限又为‘644’


要永久设定文件权限,在系统配置文件中修改保存。

/etc/bashrc:


 /etc/profile:



以上两个文件umask设定值必须保持一致。
    让设定立即生效:         source /etc/bashrc
                                          source /etc/profile


注意:文件权限一般为‘644’,系统限定了'022',内核限定了‘111(关闭用户,用户组以及普通用户的执行)’  {‘777-022-111=644’}


6.文件的访问控制(acl列表)

getfacl   filename|dir

# file: westos/ ##文件名称
# owner: root ##文件所有人
# group: root ##文件所有组
user::rwx ##拥有者权限
user:student:rwx ##特殊用户权限
group::--- ##组权限
mask::rwx ##权限掩码
other::--- ##其他人权限

设定:

setfacl  -m  <u|g>:<username|groupname>:权限  文件|目录

删除:

setfacl  -x <u|g>:<username|groupname>文件|目录


注意:当文件上有权限列表时,ls -l 能看到的权限不一定是真的(详细看/mnt/fille 的用户组权限)


setfacl -b 文件|目录(‘+’表示列表开启)


7.特殊权限:

(1).suid    ##冒险位
之针对二进制可执行文件,
文件内记录的程序产生的进程的所有人为文件所有人
和进程发起人身份无关
设定方式:
chmod   u+s  file
suid=4
chmod   4xxx   file





(2).sgid       ##强制位
对文件:只针对二进制可执行文件,
任何人运行二进制文件
程序时程序产生的进程的所有组都是文件的所有组
和程序发起人组的身份无关
对目录:当目录有sgid权限后,目录中新建的所有文件的所有组
都自动归属到目录的所有组之中,和文件建立者所在的组无关
设定方式:
chmod   g+s   file|dir
sgid=2
chmod   2xxx   file|dir



(3).sticky            ##粘制位
t权限: 
只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
设定方式:
chmod   o+t   direcotry
t=1
chmod 1777 direcotry




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值