Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80943
  • 博文数量: 21
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-18 16:08
文章分类

全部博文(21)

文章存档

2016年(2)

2014年(11)

2013年(8)

我的朋友

分类: LINUX

2013-07-17 23:28:21

文件的特殊权限
   文件的基本权限是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) |
给主人留下些什么吧!~~