linux(4)

来源:互联网 发布:java宠物商店项目代码 编辑:程序博客网 时间:2024/04/28 20:38

1.拥有者,组成员,和其他人
当一个用户拥有一个文件或目录时,用户对这个文件或目录的访问权限拥有控制权。
用户,反过来,又属于一个由一个或多个用户组成的用户组,用户组成员由文件和目录的所有者授予对文件和目录的访问权限。
除了对一个用户组授予权限之外,文件所有者可能会给每个人一些权限,在Unix 术语中,每个人是指整个世界。

用 id 命令,来找到关于你自己身份的信息

2.读取,写入,和执行

文件类型:

- 一个普通文件
d 一个目录
l 一个符号链接。注意对于符号链接文件,剩余的文件属性总是”rwxrwxrwx”,而且都是虚拟值。真正的文件属性是指符号链接所指向的文件的属性。
c 一个字符设备文件。这种文件类型是指按照字节流,来处理数据的设备。比如说终端机,或者调制解调器
b 一个块设备文件。这种文件类型是指按照数据块,来处理数据的设备,例如一个硬盘,或者 CD-ROM 盘。

3.chmod -更改文件模式

0     000     -–
1     001     –x
2     010     -w-
3     011     -wx
4     100     r–
5     101     r-x
6     110     rw-
7     111     rwx

[me@linuxbox ~]$ > foo.txt[me@linuxbox ~]$ ls -l foo.txt-rw-rw-r-- 1 me me 0 2008-03-06 14:52 foo.txt[me@linuxbox ~]$ chmod 600 foo.txt[me@linuxbox ~]$ ls -l foo.txt-rw------- 1 me me 0 2008-03-06 14:52 foo.txt

u ”user” 的简写,意思是文件或目录的所有者。
g 用户组。
o ”others” 的简写,意思是其他所有的人。
a ”all” 的简写,是”u”, ”g” 和“o”三者的联合。

注:如果没有指定字符,则假定使用 “all”。

执行的操作:

“+”字符,表示加上一个权限,
-”,表示删掉一个权限,
“=”,表示只有指定的权限可用,其它所有的权限被删除。

例子:

u+x 为文件所有者添加可执行权限。
u-x 删除文件所有者的可执行权限。
+x 为文件所有者,用户组,和其他所有人添加可执行权限。等价于 a+x。
o-rw 除了文件所有者和用户组,删除其他人的读权限和写权限。
go=rw 给群组的主人和任意文件拥有者的人读写权限。如果群组的主人或全局之前已经有了执行的权限,他们将被移除。
u+x,go=rw 给文件拥有者执行权限并给组和其他人读和执行的权限。多种设定可以用逗号分开。

4.umask -设置默认权限

//删除文件 foo.txt,以此确定我们从新开始$ rm -f foo.txt //运行不带参数的 umask 命令,看一下当前的掩码值$ umask//这个数值是掩码的八进制表示形式0002//创建文件 foo.txt,并且保留它的权限$ > foo.txt$ ls -l foo.txt//由掩码值决定权限分配-rw-rw-r-- 1 me me 0 2008-03-06 14:53 foo.txt

把掩码展开成二进制形式,然后与文件属性相比较
___________________________________________
|Original file mode| -–  |  rw- | rw- |  rw-  |
——————————————————
|Mask                    |000 | 000 |  000|  010 |
——————————————————
|Result                   |-–   |   rw-|  rw-|  r- -   |
——————————————————
注意:

  • 掩码中若出现一个数字 1,则删除文件模式中和这个 1 在相同位置的属性
  • 当你实验完成之后,要记得清理现场:$ rm foo.txt; umask 0002

5.更改身份

  1. 注销系统并以其他用户身份重新登录系统。
  2. 使用 su 命令。
  3. 使用 sudo 命令。

注:

  • su 命令允许你,假定为另一个用户的身份,以这个用户的 ID 启动一个新的 shell 会话,或者是以这个用户的身份来发布一个命令。
  • sudo 命令允许一个管理员设置一个叫做/etc/sudoers 的配置文件,并且定义了一些具体命令,在假定的身份下,特殊用户可以执行这些命令。

6.su

su [-[l]] [user]

注:-l 为指定用户启动一个需要登录的 shell。会加载此用户的 shell 环境,并且工作目录会更改到这个用户的家目录。选项 “-l” 可以缩写为”-”。输入 “exit”,则返回到原来的 shell。

su -c ‘command’

命令传递到一个新 shell 中执行

$ su -c 'ls -l /root/*'Password:-rw------- 1 root root 754 2007-08-11 03:19 /root/anaconda-ks.cfg

7.sudo -以另一个用户身份执行命令

sudo 命令在很多方面都相似于 su 命令,但是 sudo 还有一些非常重要的功能。管理员能够配置 sudo 命令,从而允许一个普通用户以不同的身份(通常是超级用户),通过一种非常可控的方式来执行命令。尤其是,只有一个用户可以执行一个或多个特殊命令时,(更体现了 sudo命令的方便性)。另一个重要差异是 sudo 命令不要求超级用户的密码。使用 sudo 命令时,用户使用他/她自己的密码来认证。

sudo 命令可以授予哪些权限,使用 “-l” 选项,列出所有权限

8.chown -更改文件所有者和用户组

chown [owner][:[group]] file…

bob 把文件所有者从当前属主更改为用户 bob。

bob:users 把文件所有者改为用户 bob,文件用户组改为用户组 users。

:admins 把文件用户组改为组 admins,文件所有者不变。

bob: 文件所有者改为用户 bob,文件用户组改为,用户 bob 登录系统时,所属的用户组。

9.chgrp -更改用户组所有权

chgrp 命令与 chown 命令使用起来很相似

10.更改用户密码

passwd [user]

原创粉丝点击