zoukankan      html  css  js  c++  java
  • 浅谈用户名和权限

      小编已经写了几篇文章了,却忘了自我介绍,咳咳咳(隆zhuang重qiang介zuo绍shi)一下:翠衣薄纱如花艳,柳眉凤眼俏佳人说的就是我!不扯了其实,小编拥有一个四口之家,那么小编今天就借家献佛给你们讲讲用户组和权限。

          所属主(me):一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。比如,我的房间当然属于我了,没有我的允许,生人勿进哦。

          所属组(my family):当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。比如,我们家有爸有妈还有他(mybrother),我们的房间都在‘家’这个大组里面。

          其他(other):除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。就是说除了我们家的人之外的人都是other。

    首先来张简化图,加深一下印象 。

    关系捋清了,那么如何创建用户以及对他进行增删改查呢,因为我们知道linux登录是需要用户名和密码的,所以请听小编慢慢道来。

    一:创建用户

    Useradd常用命令

    -u UID:指定UID

    -g GID:指明用户所属基本组,也可以指定GID

    -d:以指定的路径为家目录

    -s:指定用户默认shell程序

    -G:指定附加组

    -r:创建系统用户

    1.1 修改用户属性

    Usermod常用命令

    -u UID:新UID

    -g GID:新主组

    -G:新附加组,原来的附加组将会被覆盖;想保留,就同时使用-a选项。

    -a:仅和-G一块使用,将用户添加到附属组群。

    -d:修改用户登入时的目录

    -s:修改用户登录后所使用的shell版本

    1.2 删除用户

    Userdel[option]

    -r:删除用户家目录

    二:创建组

    Groupadd

    -g :创建指定GID的组

    -o :一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同

    -r :创建系统组

    2.1 修改组

    groupmod

    -n 新组名 旧组名:修改组名

    -g :修改GID

    2.2 删除组

    Groupdel 组名

     三:文件权限

     文件属性

     3.1 修改文件的属主

    chown(change ower)

    作用:更改某个文件或目录的属主和属组,将指定文件的拥有者改为指定的用户或组。比如把我的房间给我哥(不可能的表情)

    Chown [option] 用户或组文件

    -R:递归式地改变指定目录及其下的所有子目录和文件的拥有者

    -v:显示chown命令所做的工作

    3.2 修改文件的属组

    Chgrp(change group)

    作用:命令用来改变文件或目录所属的用户组,文件的owner可以修改文件的所属组(owner必须属于目标组),如果用户不是该文件的属主或超级用户,则不能改变该文件的组。

    -R :递归处理,连同目录下的所有文件及子目录一并处理(有没有跟chown很像,都是递归式)

    -v :显示指令执行过程

    --reference=参考文件或目录 :把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同(其实就是模仿)

    四:文件权限

    我们来看蓝色框框里的这10个字符哈(红色框框里的上面介绍过了)

    第一个字符(-)代表普通文件,目录用(d)表示,链接用(l)表示

    其余字符每3个一组(rwx),读r(Readable)、写w(Writable)、执行x(eXcutable)

    上图中:第一组rw:文件所有者(u)的权限是读、写

    第二组r-:组用户(g)的权限是读写但不能执行

    第三组r--:其他用户(o)的权限也是读不能写和执行

    4.1 chmod

    chmod命令是非常重要的,用于改变文件或目录的访问权限,一般加上-R用来递归修改权限。该命令有两种用法,一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。(只有所属人和root可以更改文件的权限)

    4.2 字设定法

    chmod [option]

    其中上图中u表示拥有者(user),g表示与拥有者属于同一个群体(group),o表示其他以外的人(other),a表示这三者皆是。

       +表示增加权限,-表示取消权限,=表示唯一设定权限;

       r:表示可读取,w表示可写入,x表示可执行

       修改一类用户的所有权限:u=  g=  o=  ug=  a=  u=  g=

    在一个命令行中可给出多个权限方式,其间用逗号隔开。

    修改一类用户某位或某些位权限:u+  u-  g+  g-  o+  o-  a+  a-

    4.3 数字设定法

    r=4,w=2,x=1

    若要rwx(可读、可写、可执行)属性,则4+2+1=7

    若要rw-(可读、可写、不可执行)属性,则4+2=6

    若要r-w(可读、不可写、可执行)属性,则4+1=5

    举例:

    chmod a=rwx file 和 chmod 777 file 效果相同

    chmod ug=rwx,o=x file 和 chmod 771 file 效果相同

          小编总结:linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。没有规矩不成方圆,没有权限的话,那linux操作系统中的文件可能就会乱成一锅粥,所以:学好权限,做一个懂规矩的人。

     

     

  • 相关阅读:
    [转]UNI-APP开发笔记之使用uni.navigateBack修改上一个页面值
    [转]移动端人员选择的设计思考
    [转]nginx安装及其配置详细教程
    [转]Vue 使用use、prototype自定义自己的全局组件
    [转]uniapp项目运行支付宝小程序,报错:xxx.json中没有申明component: true
    支付宝(钉钉)小程序使用uView控制台报错Cannot read property 'title-all' of undefined
    [转]commonJS规范和require,import区别
    [转]module.exports和export详解
    [转]如何在组件中去使用vuex的值和方法?
    [转]CryptoJS中AES256(CBC)加密算法简单使用
  • 原文地址:https://www.cnblogs.com/Qian-free/p/7624271.html
Copyright © 2011-2022 走看看