? 使用user或group控制访问文件和资源
? 账号和密码
? 每个文件有自己的owner,通常是创建这个文件的用户
每个程序都会关联到user或group。可以在文件上设定权限允许指定的user和group访问
? 每个user有自己的UID,唯一识别码
? 用户名和密码信息存储在/etc/passwd里
? Passwd里还记录了每个用户家目录的路径,以及这个用户登陆后执行的第一个program,通常shell为第一个执行的程序,也就是根目录下bin目录里的bash
? 如果没有权限则不能读写其他人的文件
? 例子:
[root@localhost root]# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/bin/bash
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
juniper:x:500:500:juniper:/home/juniper:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
lu:x:501:501::/home/lu:/bin/bash[r1]
test:x:502:502::/home/test:/bin/bash
test-user:x:503:503::/home/tes
[r1]记录每个用户的信息
Lu 表示用户名
X 表示需要密码,如果为空,则不需要
可以进行编辑删除X去除密码
第一个501表是UID
第二个表示GID(group)
第五个栏位记录full name
第6个栏位记录家目录路径
最后一个为使用者登陆后第一个指定的program
? 例子2,查看密码文件
root:$1$B08k0TCE$pQCuyxqNy3jINbzipAEe70:14800:0:99999:7:::[r1]
bin:*:14153:0:99999:7:::
daemon:*:14153:0:99999:7:::
adm:*:14153:0:99999:7:::
lp:*:14153:0:99999:7:::
sync:*:14153:0:99999:7:::
shutdown:*:14153:0:99999:7:::
halt:*:14153:0:99999:7:::
mail:*:14153:0:99999:7:::
news:*:14153:0:99999:7:::
uucp:*:14153:0:99999:7:::
operator:*:14153:0:99999:7:::
games:*:14153:0:99999:7:::
gopher:*:14153:0:99999:7:::
ftp:*:14153:0:99999:7:::
nobody:*:14153:0:99999:7:::
rpm:!!:14153:0:99999:7:::
vcsa:!!:14153:0:99999:7:::
nscd:!!:14153:0:99999:7:::
sshd:!!:14153:0:99999:7:::
rpc:!!:14153:0:99999:7:::
rpcuser:!!:14153:0:99999:7:::
nfsnobody:!!:14153:0:99999:7:::
mailnull:!!:14153:0:99999:7:::
smmsp:!!:14153:0:99999:7:::
pcap:!!:14153:0:99999:7:::
xfs:!!:14153:0:99999:7:::
ntp:!!:14153:0:99999:7:::
gdm:!!:14153:0:99999:7:::
juniper:$1$L780U59D$K97F0NaLLQQzaZFNEmMgS1:14153:0:99999:7:::
mysql:!!:14153::::::
lu:$1$qRRv1DC4$ClwVGNyA2lfVZIiAIWivL.:14814:0:99999:7:::
test:$1$me8CZ5wx$KjAlVE25vtsGDdJ6qnTzK0:14814:0:99999:7:::
test-user:!!:14801:0:99999:7:::
[r1]1表示用户已设定密码
!!则表示未设定密码
? 每个用户都会被指定到一个group,使用唯一的GID
? GID存储在/etc/group
? 系统会为每个用户建立同名group,可以加到其他的group
? Group中的用户可以共享group中的文件
? 例子:
[root@localhost root]# less /etc/group
root:x:0:root[r1]
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
smmsp:x:51:
pcap:x:77:
xfs:x:43:
ntp:x:38:
gdm:x:42:
juniper:x:500:
mysql:x:27:
lu:x:501:
test:x:502:
[r1]
第一个栏位 用户名
第二个 X则使用密码
第三个栏位为GID
第四个记录有哪些成员
? 例子2,group密码,一般不会对group设定密码:
[root@localhost root]# less /etc/gshadow
root:::root
bin:::root,bin,daemon
daemon:::root,bin,daemon
sys:::root,bin,adm
adm:::root,adm,daemon
tty:::
disk:::root
lp:::daemon,lp
? 例子3,ower group属性
[user2@localhost tmp]$ ls -l
总用量 4
drwxrwxr-x 2 user1 user1[r1] 4096 8月 17 15:32 test1
[user2@localhost tmp]$ rmdir test1
rmdir: ‘test1’: 不允许的操作
[root@localhost tmp]# less /etc/passwd
root:x:0:0:root:/root:/bin/bash
user1:x:504:505::/home/user1:/bin/bash[r2]
user2:x:505:505::/home/user2:/bin/bash
[root@localhost tmp]# less /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
test:x:502:
test-user:x:503:
user2:x:505[r3] :
[root@localhost tmp]# ls -l
总用量 4
drwxrwxr-x 2 user1 504[r4] 4096 8月 17 15:32 test1
[user2@localhost tmp]$ rmdir test1
rmdir: ‘test1’: 不允许的操作
[user2@localhost tmp]$
[r1]Group user1
[r2]将user1的group修改稿为user2的505
[r3]将user1的group整行删除
[r4]Owner只记录了UID和owner的GID。仍然是504
? 可以针对档案和目录设定权限
? Owner权限
? Group权限
? 其他人权限
? R表示读取
? W表示可以编辑,使用touch、rm
? X表示可以执行。使用cd、ls –l
-表示不允许(no r w x)
? 使用ls查看文件设定的权限
[root@localhost tmp]# ls -l
总用量 6192
-rw-r--r-- 1 root root 0 7月 26 17:15 2006
-rw-r--r-- 1 root root 0 7月 26 17:15 2006123
-rw-r--r-- 1 root root 0 7月 26 22:54 a
-rw-r--r-- 1 root root 0 7月 26 22:54 aa
-rw-r--r-- 1 root root 0 7月 26 22:54 ab
-rw-r--r-- 1 root root 0 7月 26 22:54 b
drwxrwxrwx[r1] 10 juniper juniper 8192 8月 10 17:26 beecrypt-4.1.2
[r1]D开头表示目录,-开头表示文件
? D rwx rws rwx[r1]
[r1]D表示类型
第一组RWX表示owner的权限,使用u代表
第二组rwx表示所在group的权限,使用g代表
第三组表示其他的权限,使用o表示
? 首先判断user是不是root
? 如果不是,则比较用户UID和文件UID
? 如果不是owner,则比较用户GID和文件GID
如果不是,则使用other
? 使用chmod设定权限,如果加上-R则修改所有文件
root@localhost tmp]# chmod -R -r user2[r1]
[root@localhost tmp]# ls -l
总用量 8
drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1
-rw-r--r-- 1 root root 0 8月 17 15:59 test.txt
-rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt
d-wx-wx-wx 2 user2 user2 4096 8月 17 16:01 user2
-rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt
[root@localhost tmp]# ls user2 -l
总用量 0
--w--w---- 1 user2 user2 0 8月 17 16:01 user2-user2.txt
[root@localhost tmp]# chmod go+r user2[r2]
[root@localhost tmp]# ls -l
总用量 8
drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1
-rw-r--r-- 1 root root 0 8月 17 15:59 test.txt
-rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt
d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2
-rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt
[root@localhost tmp]# ls user2/ -l
总用量 0
--w--w---- 1 user2 user2 0 8月 17 16:01 user2-user2.txt
[root@localhost tmp]#
[r1]给user2目录下,包括目录,取出读的权限。-R表示目录及目录内
[r2]给group和other 对user2这个目录增加读的权限,但不包括目录里的文件
? UGO代表的意思与上相同
? 4代表读
? 2代表写
? 1代表执行
? 0代表不允许
? 使用值相加代表权限状态
? 例子,修改为754,即ower rwx,group rx,other r:
[root@localhost tmp]# ls -l
总用量 12
d-wx-wx-wx 2 root root 4096 8月 17 16:12 doc
drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1
-rw-r--r-- 1 root root 0 8月 17 15:59 test.txt
-rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt
d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2
-rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt
[root@localhost tmp]# ls doc -l
总用量 0
--w------- 1 root root 0 8月 17 16:12 doc1.txt
--w------- 1 root root 0 8月 17 16:12 doc2.txt
[root@localhost tmp]# chmod -R 754 doc
[root@localhost tmp]# ls -l
总用量 12
drwxr-xr-- 2 root root 4096 8月 17 16:12 doc
drwxrwxr-x 2 user1 504 4096 8月 17 15:32 test1
-rw-r--r-- 1 root root 0 8月 17 15:59 test.txt
-rw-r--r-- 1 user1 user2 0 8月 17 16:00 user1.txt
d-wxrwxrwx 2 user2 user2 4096 8月 17 16:01 user2
-rw-rw-r-- 1 user2 user2 0 8月 17 16:01 user2.txt
[root@localhost tmp]# ls doc -l
总用量 0
-rwxr-xr-- 1 root root 0 8月 17 16:12 doc1.txt
-rwxr-xr-- 1 root root 0 8月 17 16:12 doc2.txt