###系统权限##
1.权力下放文件为/etc/sudoers
2,如何改变文件或目录的权限
1)对权限的理解
r:
对文件:是否可以查看文件中的内容 ---->cat file(查看文
件用命令"cat")
对目录:是否可以查看目录中有什么子文件或目录 ----> ls dir (查看目录用命令“ls”)
w:
对文件:是否可以改变文件里面记录的字符。
对目录:是否可以对目录中子目录或子文件的数据进行更改。
x:
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
2)更改命令为chmod
更改方式有以下几种:
1)对用户(u )来说:
chmod u+/-x 文件/目录名称 ##可以通过文件名称调用文件内记录的程序或进入目录。反之不能。
chmod u+/-r 文件/目录名称 ##是否可以查看文件中的内容,或查看目录中有什么子文件或目录。反之不能。
chmod u+/-w 文件/目录名称 ##可以改变文件里面记录的字符或对目录中子目录或子文件的数据进行更改。反之不能。
2)对用户组(g)来说:
chmod g+/-x 文件/目录名称 ##可以通过文件名称调用文件内记录的程序或进入目录。反之不能。
chmod g+/-r 文件/目录名称 ##是否可以查看文件中的内容,或查看目录中有什么子文件或目录。反之不能。
chmod g+/-w 文件/目录名称 ##可以改变文件里面记录的字符或对目录中子目录或子文件的数据进行更改。反之不能。
3)对其他用户(o )来说:
chmod o+/-x 文件/目录名称 ##可以通过文件名称调用文件内记录的程序或进入目录。反之不能。
chmod o+/-r 文件/目录名称 ##是否可以查看文件中的内容,或查看目录中有什么子文件或目录。反之不能。
chmod o+/-w 文件/目录名称 ##可以改变文件里面记录的字符或对目录中子目录或子文件的数据进行更改。反之不能。
3,##umask###
umask:表示系统建立文件时默认保留的权力,
umask 077 ##临时设定系统预留权限为077
输入命令:umask可以查询文件的默认保留权力。
上图“0022”表示该系统在建立文件时默认保留的权。
##若要更改默认权力,则在shell 中输入命令:vim /etc/profile(表示系统配置文件)第62行数字和vim /etc/bashrc(表示shell 配置文件)中第73行数字。
将文件中的默认的022更改即可。
注:在文件中:第一个umask 002 ##表示普通用户的umask
第二个unask 002 ##表示超级用户的umask
更改文件完成后,在shell 中输入
表示让更改立即生效。
4,粘制位:sticky
效果:只针对与目录,当目录上有o+t的权限时,所有用户在该目录下均可创建文件,但只有文件所有人和root用户可以删除该目录下的文件:
设定命令方式:
chmod o+t 目录
chmod 1777 目录
5,冒险位:suid
效果:只针对与二进制可执行文件,该命令发起的程序是以该命令所有人的身份去执行。
设定命令方式:
chmod u+s 二进制可执行文件
chmod 4755 二进制可执行文件
6,强制位:
效果:针对二进制可执行文件:该命令发起的程序是以该命令所有组的身份去执行;针对目录:目录新建文件的所属组与该目录的所有组保持一致;
设定命令方式:
chmod g+s 文件|目录4)用数字更改权限:
chmod 2755 文件|目录
7,acl权限列表
1)作用:让特定的用户对特定的文件拥有特定权限
注:acl 权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限。
2)acl列表查看
-rw-rwxr--+ 1 root root 0 Jul 25 13:45 file
^
表示acl开启
getfacl file | 查看acl开启的文件的权限 |
---|---|
file:file | 文件名称 |
owner:root | 文件拥有者 |
group:root | 文件拥有组 |
user: :rw- | 文件拥有人的权限 |
user:kiosk:rw- | 指定用户的权限 |
group: : r– | 文件拥有组的权力 |
mask: :rw- | 能赋予用户的最大权力伐值 |
other: :r– | 其他人的权限 |
2)acl 列表管理
getfacl file
setfacl -m u:username:rwx file ##设定username对file拥
有rwx权限
以/mnt/file文件为例:
setfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限
setfacl -x u:username file ##从acl列表中删除username
setfacl -b file ##关闭file上的acl列表