Linux用户身份与文件权限

Linux用户身份与文件权限

用户的身份与能力

root 为超级用户,但是真正让他成为超级用户的是UID
UID:每个用户都有对应的UID值

类型UID解释
超级用户0即root用户为0
系统用户1-999系统服务用户,被限制登录
普通用户1000-即普通用户

帐户名称与UID保存在/etc/passwd文件中,而帐户密码则保存在/etc/shadow文件中

GID:可以将多个用户加入某个组,方便管理
每个用户在创建的时候会创建一默认组(UID与GID相同,也叫基本组),后加入的叫扩展组
用户组名称与GID保存在/etc/group文件中。

文件的普通权限:

文件或者目录的权限-来分别规定 所有者,所有组,其他人读,写,执行 权限
读(read),写(write),执行(execute),简写为(r,w,x),或者数字(4,2,1)

文件属性:

符号意义
-普通文件
d目录文件
l链接文件
b块设备文件
c字符设备文件
p管道文件

例如:

[root@VM_221_21_centos ~]# ls -ll
total 28
-rw-r--r-- 1 root root    0 Dec  1 16:21 1.c
-rw-r--r-- 1 root root    0 Dec  1 16:21 2.c
-rw-r--r-- 1 root root    0 Dec  1 16:21 3.c
-rwxr-xr-x 1 root root   34 Dec  1 17:27 dirname.sh
-rwxr-xr-x 1 root root  230 Dec  1 17:45 fibonacci.sh
-rw-r--r-- 1 root root    0 Dec  1 16:17 fortest
-rw-r--r-- 1 root root  242 Dec 18 15:57 helloworld.pyc
drwxr-xr-x 5 root root 4096 Dec 22 15:34 leanote
drwxr-xr-x 4 root root 4096 Dec 19 09:30 python_learn
-rwxr-xr-x 1 root root  334 Dec  1 18:23 sumOfArr.sh
drwxr-xr-x 2 root root 4096 Dec  1 19:52 testfor

filemod
-rw-r–r–:
表示它是一个普通文件,
所有者权限为rw- 即可读可写不可执行,
所有组权限为r-- 即可读不可写不可执行,
其他人的权限为r-- 即可读不可写不可执行。

文件的特殊权限

SUID :让执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)
比如:所有用户都可以执行用于修改密码的passwd,但是用户密码保存在/etc/shadow,默认权限是000,即除了超级用户之外所有用户都没有查看或者编辑改文件权限,那passwd命令是怎么做到的呢?
所以对passwd命令加上了 SUID 权限位,就可让普通用户临时获得所有者的权限,即用root用户的权限将更改的密码写入到shadow文件中去。

SGID
1. 让执行者临时拥有属组的权限(对用于执行权限的二进制程序设置)
2. 在该目录中创建的文件自动继承此目录的用户组

chmod 修改文件或者目录的权限

chmod [参数] 权限 文件/目录

chown 修改文件或者目录的所属主和所属组

chown [参数] 所属主:所属组 文件/目录

ps:对于文件不加参数,遇到目录加大写-R(递归,修改目录内所有文件的属性)。

GID例子:

[root@VM_221_21_centos ~]# vim test.sh
[root@VM_221_21_centos ~]# ls -ll
total 4
drwxr-xr-x 7 root root 4096 Jan  4 19:55 blog
-rw-r--r-- 1 root root    0 Jan  6 09:55 test.sh
[root@VM_221_21_centos ~]# chmod -Rf 777 test.sh 
[root@VM_221_21_centos ~]# chmod -Rf g+s 777 test.sh 
[root@VM_221_21_centos ~]# ls -ll
total 4
drwxr-xr-x 7 root root 4096 Jan  4 19:55 blog
-rwxrwsrwx 1 root root    0 Jan  6 09:55 test.sh

文件访问控制链表

即对某个特定的用户进行单独的权限设置,就要用到文件的访问控制链表了ACL。
setfacl 用于增加或者修改ACL规则,格式为:setfacl [参数] 文件

参数作用
-R递归(对目录而言)
-m设置文件的acl规则
-b删除acl规则

getfacl 用于显示文件的ACL规则,格式为:getfacl 文件

例:
Link用户切换到root目录是不允许的,在赋予权限之后,就可以访问了。

[Link@VM_221_21_centos ~]$ cd /root
bash: cd: /root: Permission denied
[Link@VM_221_21_centos ~]$ su
Password: 
[root@VM_221_21_centos ~]# setfacl -Rm u:Link:rwx /root
[root@VM_221_21_centos ~]# su Link
[Link@VM_221_21_centos root]$ cd /root
[Link@VM_221_21_centos root]$ 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值