谢烟客---------Linux之权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谢烟客---------Linux之权限相关的知识,希望对你有一定的参考价值。

文件权限

    为了保障权责清晰和企业经营数据安全与保密,企业需要对系统中所有的操作人员进行分工,设置各自的功能权限,就能执行相应的操作。例如,为某个操作员设定了填制凭证的权限时,那么当该操作员注册进入账务子系统后,就可以填制凭证。

    只有系统管理员才有权进行权限设定


文件对权限的定义:属主的权限、属组的权限、非属主和属组的权限

-rw-rw-r--  1 root   utmp                9984 Jan  2  2016 wtmp
-
rw- 属主的权限,用u表示
rw- 属组的权限,用g表示 
r-- 非属主和属组的权限,用o表示
root  文件的属主
utmp  文件的属组


所有用户对文件只有3类权限,rwx,其含义是:

readable,r权限,可读权限位

    文件有此权限位时,代表“对应的用户对此文件可以用一些文件查看类工具查看文件的内容”

    目录:此权限位对应的用户可用"ls"查看目录中的内容

writeable,w权限,可写权限位

    文件:此权限位对应的用户可修改文件的内容

    目录:此权限位对应的用户可在目录中删除文件,创建文件

excutable,x权限,可执行权限位

    文件:此权限位对应的用户可把此文件提请到内核运行为一个进程

    目录:可用ls -l查看此目录中的文件列表,和cd 进入此目录


这三个二进制位可用一个八进制数来表示

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


与文件权限相关的命令

chmod,chown,chgrp命令

[[email protected] ~]# type chmod
chmod is /usr/bin/chmod
[[email protected] ~]# chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
  or:  chmod [OPTION]... OCTAL-MODE FILE...
  or:  chmod [OPTION]... --reference=RFILE FILE...
-R, --recursive        递归修改目录及目录下的文件的权限



MODE的含义

1)对某类用户进行权限修改

   u=[rwx‘ ‘] g=[rwx‘ ‘]  o=[rwx‘ ‘]

  uo= ug= go=

2)对某类用户的某位权限修改

  u+-,g+-,o+-

  a+- 或+-

使用示例:

1、修改文件的某类用户的权限及某位权限
[[email protected] tmp]# mkdir -m 644 testdir #创建目录文件
[[email protected] tmp]# touch testdir/abc  #创建文件
[[email protected] tmp]# ls -l
total 4
drw-r--r-- 2 root root 4096 Jul 30 12:35 testdir
[[email protected] tmp]# ls -l testdir/abc
-rw-r--r-- 1 root root 0 Jul 30 12:39 testdir/abc

[[email protected] tmp]# chmod u= testdir
[[email protected] tmp]# ls -l
total 4
d---r--r-- 2 root root 4096 Jul 30 12:35 testdir
[[email protected] tmp]# ls -l testdir/abc
-rw-r--r-- 1 root root 0 Jul 30 12:39 testdir/abc

[[email protected] tmp]# chmod -R u+rwx testdir
[[email protected] tmp]# ls -l
total 4
drwxr--r-- 2 root root 4096 Jul 30 12:39 testdir
[[email protected] tmp]# ls -l testdir/
total 0
-rwxr--r-- 1 root root 0 Jul 30 12:39 abc

2、仿照a文件的权限修改B文件的权限
[[email protected] tmp]# touch testdir/b
[[email protected] tmp]# ls -l testdir/
-rwxr--r-- 1 root root 0 Jul 30 12:39 abc
-rw-r--r-- 1 root root 0 Jul 30 12:43 b

[[email protected] testdir]# chmod --reference=abc b
-rwxr--r-- 1 root root 0 Jul 30 12:43 b

3、以八进制位修改文件的权限
[[email protected] tmp]# ls -l testdir/
-rwxr--r-- 1 root root 0 Jul 30 12:39 abc
[[email protected] testdir]# chmod 600 abc
[[email protected] testdir]# ls -l
-rw------- 1 root root 0 Jul 30 12:39 abc


chown命令

[[email protected] ~]# type chown
chown is /usr/bin/chown
[[email protected] ~]# chown --h
Usage: chown [OPTION]... [OWNER][:[GROUP]] FILE...
  or:  chown [OPTION]... --reference=RFILE FILE...
  -R, --recursive        递归修改目录及目录下的文件的属主


1)修改属主

[[email protected] tmp]# install -d hello  #创建目录
[[email protected] tmp]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Jul 30 12:50 hello

drwxr-xr-x 2 root root 4096 Jul 30 12:55 hello
-rw-r--r-- 1 root root 0 Jul 30 12:55 abc
[[email protected] tmp]# chown myuser hello
drwxr-xr-x 2 myuser root 4096 Jul 30 12:55 hello
-rw-r--r-- 1 root root 0 Jul 30 12:55 abc


2)修改属组

[[email protected]60h6bsz tmp]# chown -R .myuser hello
-rw-r--r-- 1 root myuser 0 Jul 30 12:55 abc


3)修改属主和属组

[[email protected] tmp]# chown -R root.root hello
drwxr-xr-x 2 root root 4096 Jul 30 12:55 hello
-rw-r--r-- 1 root root 0 Jul 30 12:55 abc



文件和目录创建时的遮罩码:umask

默认文件必然不能有执行权限,避免文件被恶意利用

默认目录有执行权限


管理员的umask

[[email protected] tmp]# umask
0022


普通用户的umask

[[email protected] tmp]# su - user1
-sh-4.2$ umask
0002


umask定义的位置

/etc/profile,/etc/bashrc中均定义了umask的值 
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
else
    umask 022
fi



创建文件的权限,默认

1、管理员
[[email protected] tmp]# touch testfile
[[email protected] tmp]# ls -l
-rw-r--r-- 1 root root    0 Jul 30 13:03 testfile
2、普通用户
-sh-4.2$ touch testfile
-sh-4.2$ ls -l
-rw-rw-r-- 1 user1 user1 0 Jul 30 13:02 testfile


文件的权限: 666-UMASK

目录的权限:777-UMASK

本文出自 “Reading” 博客,谢绝转载!

以上是关于谢烟客---------Linux之权限的主要内容,如果未能解决你的问题,请参考以下文章

谢烟客---------Linux之bash脚本编程---if补充和for循环

谢烟客---------Linux之用户

谢烟客---------Linux之脚本编程---函数

谢烟客---------Linux之程序包管理基础知识

谢烟客---------Linux之内核编译及LFS制作

谢烟客---------Linux之bash脚本编程---用户交互