当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux下的用户权限

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 linux下的用户权限


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 41 ::
收藏到网摘: n/a

用户权限是linux安全性的一个方面。这些权限分为几个类型,包括文件许可,文件属性,文件系统配额和系统资源限制。
    (1)文件和目录许可
    我们可以对linux中的文件和目录设置许可。防止别人阅读你的私人文件和进入敏感目录。我们可以将文件许可设置到最小,然后基于需要逐一放松许可。下面是一个文件许可的简单例子:
dai$ ls -l d.txt
-rw-rw-r-- 1 dai users 20445 Nov 6 05:40 d.txt 分别为许可, 链接数,用户,组 ,字节数 ,最后修改时间 ,名字
其中文件许可信息是:
- rw- rw- r--
    分别为文件类型 所有者许可 组许可 其他人许可
    通常文件类型可以有: - 普通文件 ,d目录, l 符号链接, s套接字, p  FIFO管道
    文件许可的3种权限可设置为许可或拒绝,也就是置位或清空,因此可以将许可看作0和1的集合,如rwx为读,写,执行,就可以写成111也可以写成八进制的7,rx为读,写,清空写入许可,因此可以写成101,八进制为5,rwxr-x--x为111101001其八进制为751
更改文件许可:
dai$ ls -l d.txt
-rw-rw-r-- 1 dai users 20445 Nov 6 05:40 d.txt
dai$ chmod 751 d.txt
dai$ ls -l d.txt
-rwxr-x--x 1 dai users 20445 Nov 6 05:40 d.txt也可以使用chmod命令的如下符号模式:
dai$ ls -l d.txt
-rw-r--r-- 1 dai users 20445 Nov 6 05:40 d.txtdai$ chmod +x d.txt
dai$ ls -l d.txt
-rwxr-xr-x 1 dai users 20445 Nov 6 05:40 d.txt
这里chmod+x其含义是“增加执行许可:+表示增加许可 -表示除去许可因为可以仅更改组许可
dai$ chmod g-r d.txt
dai$ ls -l d.txt
-rw---xr-x 1 dai users 20445 Nov 6 05:40 d.txt
在可写目录下册除其他用户的文件
所有用户只要他对这个目录有写的权限,他不仅可以在目录下创建文件,也可以册初目录下的所有文件,包括不属于自己的文件
如:
dai$ ls -ld temp
drwxrwxrwx 2 dai users 20445 Nov 6 05:40 temp
我们可以看到,该目录属于dai,但任何人都有写的权限,现在有个用户ming ,要册除一个不属于他且无权读取的文件:
ming$ ls -l
total 0
-rw------ 1 dai users 20445 Nov 6 05:40 a
-rw------- 1 ming users 20445 Nov 6 05:40 b
-rw------- 1 root root 20445 Nov 6 05:40 c
ming$ cat a
cat: a: weijianleirong
ming$ rm -f a
ming$ ls -l
total 0
-rw------- 1 ming users 20445 Nov 6 05:40 b
-rw------- 1 root root 20445 Nov 6 05:40 c
   我们可以看到文件a不是ming所有,用户ming对文件也a没有读,写权限,但他成功册除了文件。他做到这一点是因为他对目录有写权限-在linux下册除文件只是更改目录,即只要最目录有写权限要让用户只能册除自己的文件,只需要给目录设置粘连位
dai$ chmod +t temp
dai$ ls -ld temp
drwxrwxrwt 2 dai users 20445 Nov 6 05:40 temp
    现在用户ming 就不可以册除文件a了,但还可以册除自己的文件
    除了读(r),写(w),执行(x)权限外,还可以设置两个许可位,set-user-id(简写为suid)位 set-group-id(sgid)位。其作用是程序以所有者身份运行,而忽略实际执行程序的用户身份。
root# ls -l suiffile
rwxr-xr-x 21 dai users 20445 Nov 6 05:40 suiffile
root# chmod u+s suiffile
rwsr-xr-x 21 dai users 20445 Nov 6 05:40 suiffile
    在代表用户权限的x位置的s位置s就是suid位
    有时候对于敏感文件,读,写,执行,权限并不充分使用高级文件属性我们可以使用chattr和lsattr 。
    属性可以增加对文件和目录的保护和安全性,如,i 设置文件不可以更改,使文件不可以修改,册除,重命名,s属性使文件被册时候,类容从磁盘上完全抹去:
i:文件不可以更改,使文件不可以修改,册除,重命名,链接,写入数据。s:文件册除时从磁盘清零,d:文件不可以百转储 a:文件只能以追加模式打开,只有root可以设置这个属性
dai$ lsattr c.txt
--------- c.txt
dai$ chattr +c c.txt
dai$ chattr +d c.txt
dai$ chattr +s c.txt
dai$ lsattr c.txt
s-c---d- c.txt
dai$ chattr -d c.tx
s-c----- c.txt