Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux权限 #1

Open
huangchucai opened this issue Dec 10, 2018 · 0 comments
Open

Linux权限 #1

huangchucai opened this issue Dec 10, 2018 · 0 comments

Comments

@huangchucai
Copy link
Owner

Linux权限

1. 基本知识

  1. Linux中一些都是文件
  • 标准输出
  • 标准输入
  • 标准错误

2. Linux文件系统

Linux使用的是树形结构管理文件,遵守一定的惯例

  1. / - 根目录
  2. /home - 用户目录
  3. /var - 经常变化的文件,例如:日志
  4. /usr - 用户程序,库
  5. /bin - 可执行文件
  6. /boot - 引导系统启动
  7. /tmp - 临时文件
  8. /lib,/lib64 - 系统库文件

3. 修改文件的权限

Linux的用户

Linux中把用户分为三种(权限范围)
  1. User: 文件或目录的拥有者
  2. Group: 文件和目录的所属群组
  3. Other: 除了文件或目录的拥有者或所属群组之外的其他用户皆属于这个范围
为什么要把用户分组
  1. Linux本身就是一个多用户、多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
  2. 帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问
  3. 帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令

有时候我们使用sudo来借用管理员权限来执行一些脚本或查看一些文件

文件、目录的权限控制

  1. 读取权限(read) : r
  2. 写入权限(write): w
  3. 执行权限(excute): x

刚刚我们知道Linux把用户分为三种,所以每一种用户对文件、目录都有一定的权限控制,我们可使用一些命令来查看不同的用户对于文件的权限。

最左边一共有10个字符,化成4部分,1,3,3,3
chmod

  • 第一部分表示文件的类型 (d: 代表目录, l: 代表软连接)
  • 第二部分表示所属用户对于这个文件的权限(r、w、x)
  • 第三部分表示所属组对于这个文件的权限(r、w、x)
  • 第四部分表示其他用户对于这个文件的权限(r、w、x)

改变文件的权限

使用chmod(change mode),我们可有改变用户、组、其他用户对于文件的权限

// 用法
chmod <权限范围u、g、o>+<权限设置r、w、x> 文件 开启权限范围的文件或目录的该选项权限设置
chmod <权限范围u、g、o>-<权限设置r、w、x> 文件 关闭权限范围的文件或目录的该选项权限设置

// 给所属用户增加执行权限
# chmod u+x test.lua
// 给所属用户去掉可读文件权限
# chmod u-r hcc.txt
--w-r--r--  1 huangchucai  staff    10B 12 10 16:26 hcc.txt
# cat hcc.txt
cat: hcc.txt: Permission denied(没有可读权限了)

改变文件所属用户

使用chown(change owner),我们可以改变文件所属者

// 用法
chown 用户组:用户群组  文件名
// 改变文件的所属用户
# sudo chown 123 2222.html
-rw-r--r--@ 1 a123         nobody   1.1K 10 20 23:32 2222.html

// 改变文件的所属组和用户
# sudo chown huangchucai:staff 2222.html
-rw-r--r--@ 1 huangchucai  staff   1.1K 10 20 23:32 2222.html
  • 查看系统中的用户

    cat /etc/passwd

  • 查看系统中的用户组

    cat /etc/group

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant