当前位置: 首页 > news >正文

samba访问其他服务器文件权限设置

chown lynn.feng:lynn.feng nelson/

 

我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢?

我们这里介绍几个常用于群组、拥有者、各种身份的权限的指令。如下所示:

chgrp  :  改变档案所属群组

chown :  改变档案拥有者

chmod :  改变档案的权限, SUID, SGID, SBIT等等的特性

1. 改变所属群组, chgrp

复制代码
[root@www ~]# chgrp [-R] dirname/filename ... 
选项与参数:
-R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。
范例:
[root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 发生错误信息息啰~找不到这个群组名~
复制代码

2. 改变档案拥有者, chown

复制代码
[root@www ~]# chown [-R] 账号名称 档案或目录 
[root@www ~]# chown [-R] 账号名称:组名 档案或目录
选项与参数: 
   -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

范例:将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log 
[root@www ~]# ls -l 
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 范例:将install.log的拥有者与群组改回为root: [root@www ~]# chown root:root install.log [root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
复制代码

3. 改变权限, chmod

权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

3.1 数字类型改变档案权限

Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限

举例:档案的权限字符为 -rwxrwxrwx  这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4   w:2   x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others= --- = 0+0+0 = 0

所以我们设定权限的变更时,该档案的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

[root@www ~]# chmod [-R] xyz 档案或目录 
选项与参数: 
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。 
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:

[root@www ~]# ls -al .bashrc 
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下达:

[root@www ~]# chmod 754 filename

3.2 符号类型改变档案权限

还有一个改变权限的方法呦!从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x啰!也就是可以使用底下的方式来看:

来实验一下吧!假如我们要设定一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
o user (u):具有可读、可写、可执行的权限;
o group 与 others (g/o):具有可读不执行的权限。

所以就是:

[root@www ~]# chmod u=rwx,go=rx .bashrc 
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符!
[root@www ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

那么假如是『 -rwxr-xr-- 』这样的权限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我们知道原先的文件属性,而我只想要增加.bashrc这个档案的每个人均可写入的权限, 那么我就可以使用:

[root@www ~]# ls -al .bashrc 
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod a+w .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

[root@www ~]# chmod a-x .bashrc 
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

转载于:https://www.cnblogs.com/Ph-one/p/5506163.html

相关文章:

  • MTK camera 闪光灯Flashlight驱动调试流程
  • 3518调试2
  • Ubuntu Linux 安装 .7z 解压和压缩文件
  • proc_create的使用方法
  • simple_strtoul
  • linux子系统的初始化_subsys_initcall()
  • linux sed 命令,sed -i
  • linux设备驱动程序注册过程详解
  • linux下lk和kernel层通信方式[2]
  • 模拟IC
  • ubuntu使用ssh连接远程电脑的方法
  • Linux内核日志开关
  • Linux:命令gedit
  • bin/sh^M:损坏的解释器: 没有那个文件或目录
  • ubuntu 关机命令
  • CSS相对定位
  • E-HPC支持多队列管理和自动伸缩
  • IP路由与转发
  • Java 内存分配及垃圾回收机制初探
  • java第三方包学习之lombok
  • Node项目之评分系统(二)- 数据库设计
  • Tornado学习笔记(1)
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue 重置组件到初始状态
  • 创建一种深思熟虑的文化
  • 高程读书笔记 第六章 面向对象程序设计
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 将 Measurements 和 Units 应用到物理学
  • 讲清楚之javascript作用域
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 蓝海存储开关机注意事项总结
  • 浅谈web中前端模板引擎的使用
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 如何在 Tornado 中实现 Middleware
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • (175)FPGA门控时钟技术
  • (C语言)共用体union的用法举例
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (原)本想说脏话,奈何已放下
  • (转)3D模板阴影原理
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • 、写入Shellcode到注册表上线
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net访问oracle数据库性能问题
  • .sh
  • /run/containerd/containerd.sock connect: connection refused
  • :=
  • @RequestMapping用法详解
  • @Transactional事务注解内含乾坤?
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法