文件的特殊权限
文件的基本权限是rwx;
0022第一位是特殊权限,后三位是普通权限;
特殊权限有
[root@schangech note]# ll /usr/bin/passwd 设置密码的命令权限是不同的
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
注意:因为这里添加了特殊权限s,所以,这个运行的时候,是使用root权限。尽管普通用户是没有权限,但是
普通使用的是root权限,所以,普通用户还是能够自己修改密码,对/shadow进行修改。
如果这里的特殊权限s去掉,普通用户就不能够对用户进行修改和增添。
例如,当我们开始时,设置为s,我们切换到普通用户后,可以自己修改密码,通过ps aux来查看,使用这的
属主是root,但是,当我们把s特殊权限取消之后,我们通过ps aux来查看,此时的用户就是正在使用的用户看淡是
不能够修改了.
setuid s位权限,使普通用户运行程序时以程序文件的所有者身份运行。
setgid s位权限,是普通用户运行程序时以程序文件的所属组身份运行。
(问题描述:
当普通用户不能自己修改密码的时候,查看一下/usr/bin/passwd文件的权限是否拥有s权限)
注意:s位权限只能设置在可执行命令上。
问题:
如果我们想要使用普通用户能够添加用户的权限,可以给/usr/bin/useradd添加s权限。这样就可以
使用普通用户添加用户权限了。
(当你给一个文件添加s权限的时候,如果s是大写,表明不起作用,并且表示下面没有x权限)
[root@schangech note]# ll /bin/cp 普通命令的权限
-rwxr-xr-x 1 root root 122736 4月 17 2012 /bin/cp
练习:是普通用户可以更改其他用户属性
#chmod o+x /user/sbin/usermod
#chmod u+s /user/sbin/usermod
可以使用#chmod u+s,o+x /user/sbin/usermod
stick bit SBIT权限,粘滞位,设置在公共目录上,使文件只有创建者才能够删除,用户不能操作其它用户的文件和目录。
(粘滞位仅仅能够添加在其他用户位上)
[root@schangech note]# ll -d /tmp/
drwxrwxrwt. 20 root root 4096 7月 16 09:48 /tmp/
练习:在proj下面创建一个文件test,然后使用用户schangech,aixocm分别在下面创建文件,然后是用户不能删除对方的文件和目录。
特殊权限的排列
SUID SGID Stick
1 1 1
例:使用数字设置/proj/test目录的基本权限755,特殊权限为SUID和Stick。
[root@schangech proj]# chmod 5755 test/
或者:
[root@schangech proj]# chmod u=rwxs,g=rx,o=rxt test/
[root@schangech proj]# ll
总用量 4
drwsr-xr-t 2 root root 4096 7月 16 10:15 test
练习:找出系统中所有设置了suid或者sgid权限的文件,且不能输出错误信息。
-perm 4750 绝对匹配
-perm +6000 只匹配有1的位,只要其中一个匹配及满足条件
-perm -6000 只匹配有1的位,但需要匹配所有的1才满足条件。
[root@schangech proj]# find / -type f -a -perm +6000 -exec ls -l {} \; 2>/dev/null
(注意:对于错误信息的处理,使用2>/del/null来处理错误信息)
如果在目录上面设置sgid,在目录下面创建文件的时候,文件或目录会继承目录所设置的组;
练习:
练习:(1)创建如下目录结构
/myfile
|
____________________|_________
| | | |
soft prog engine music
| |
__|__ ____|____
| | | |
office work sys net
(2)复制ifconfig命令文件到net目录下并改名为ipset,设置在任何地方都能执行ipset命令,
同时设置普通用户也能设置或更改ip地址。
(3)设置music为公共目录,但不允许用户随便删除文件
(4)设置prog目录下的文件只能增加,不能删除和修改。
(5)复制/etc目录下所有以conf为扩展名的文件到office目录下,并设置复制后的文件默认组为users组
先修改office的属组为users,然后复制
acl 访问控制列表的使用:
例:设置schangech用户对myfile目录及其下所有文件具有读、执行权限;
设置user01用户对myfile目录具有执行权限
设置apple用户对myfile目录具有读写执行权限
设置root用户对myfile具有完全权限
#getfacl 文件名 查看文件访问控制列表;
#getfacl /myfile
[root@schangech proj]# getfacl myfile/
# file: myfile/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
#setfacl 权限字符 文件 设置文件访问控制列表
-m 设置或修改权限
-x 删除单独某个用户或者某个组的所有acl设置
-b 去除所有的acl设置,仅仅只有root用户才有这个权限;
[root@schangech proj]# setfacl -R -m u:schangech:rx myfile
[root@schangech proj]# getfacl myfile/
# file: myfile/
# owner: root
# group: root
user::rwx
user:schangech:r-x
group::r-x
mask::r-x
other::r-x
#setfacl -m g:users:x myfile
[root@schangech proj]# setfacl -m g:users:rx myfile/
[root@schangech proj]# getfacl myfile/
# file: myfile/
# owner: root
# group: root
user::rwx
user:schangech:r-x
group::r-x
group:users:r-x
mask::r-x
other::r-x
#setfacl -x g:users myfile
[root@schangech proj]# setfacl -x g:users myfile/
[root@schangech proj]# getfacl myfile/
# file: myfile/
# owner: root
# group: root
user::rwx
user:schangech:r-x
group::r-x
mask::r-x
other::r-x
#setfacl -m m:rx myfile 这里修改的仅仅是mask值。设置umask;
(下级目录的权限大于上级目录的权限)
10、acl访问控制列表的使用
例:(1)设置mike用户对/myfile目录及其下所有文件具有读、执行权限
[root@schangech proj]# setfacl -m u:mike:rx myfile/
(2)设置user01用户对/myfile目录具有执行权限
[root@schangech proj]# setfacl -m u:user01:x myfile/
(3)设置apple用户对/myfile目录具有读、写、执行权限
[root@schangech proj]# setfacl -m u:apple:rwx myfile/
(4)设置users组对/myfile具有读、执行权限
[root@schangech proj]# setfacl -m g:uexitsers:rx myfile/
(5)设置/myfiel目录对admin用户的默认权限为r
[root@schangech proj]# setfacl -m d:u:aixocm:r myfile/
bin 用户的应用程序
dev 设备文件
boot 保存linux内核和一些启动配置
cgroup
etc 配置文件
lib 库文件,写程序的时候,对于常用的,封装起来的静态库;还有一些是动态库;
media U盘挂载时的地方
home 用户家目录
mnt 挂载点
proc 内核映像
lib64 配置文件
tmp 工作临时文件
chage 命令,用来修改用户密码文件的情况;
[root@schangech proj]# chage
Usage: chage [options] [LOGIN]
Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
阅读(1055) | 评论(0) | 转发(0) |