您的位置:首页 > 其它

用户身份与文件权限

2018-03-03 16:42 218 查看
声明:本文是《Linux就该这么学》第五章 用户身份与文件权限的知识点总结

一、用户身份与能力

       Linux系统中的管理员是用户身份号码UID数值为0的用户,默认是root管理员。系统中通过UID值判断用户身份,一般有以下三种类型的用户:
管理员UID为0:系统的管理员用户

系统用户UID1~999:默认服务程序有独立的系统用户负责
普通用户UID从1000开始:由管理员创建
Linux使用用户组号码GID管理同一组的用户,创建用户时自动创建同名的基本用户组,只有该用户一个人。若将该用户加入其他用户组,那么其他用户组称为扩展用户组

useradd命令

用于创建新的用户,格式:useradd [选项] 用户名   默认家目录为/home,默认Shell解释器为/bin/bash
可选参数以及作用如下:
-d,指定用户的家目录
-e,账户的到期时间,格式为YYYY-MM-DD
-u,指定默认的UID
-g,指定初始的用户基本组
-G,指定扩展用户组
-N,不创建与用户同名的基本用户组
-s,指定该用户默认的解释器

groupadd命令

用于创建用户组,格式:groupadd [选项] 群组名

usermod命令

用于修改用户的属性,格式:usermod [选项] 用户名
-d -m,重新指定用户的家目录并把旧数据转移过去
-e,-g,-G,-s,-u,作用同useradd命令
-L,锁定用户禁止其登录系统
-U,解锁用户

passwd命令

用于修改用户密码、过期时间、认证信息等,格式:passwd [选项] [用户名]    
-l,锁定用户,禁止登录
-u,解锁用户
--stdin,通过标准输入修改密码,如echo "NewPasswd" | passwd --stdin username
-d,可使用空密码登录系统
-e,在下次登录时修改密码
-S,显示密码是否被锁定,以及采用的加密算法

userdel命令

用于删除用户,格式:userdel [选项] 用户名
-f,强制删除
-r,同时删除用户家目录

chmod命令

用来设置文件或目录的权限,格式:chmod [参数] 权限 文件或目录名称
eg:chmod 760 test 
        chmod u+/-x test(表示文件所有者增加/减少执行的权限,g表示所属组,o表示其他人,s表示特殊权限,t代表SBIT权限)

chown命令

用来设置文件或目录的所有者和所属组,格式:chown [参数] 所有者:所属组  文件或目录名称

二、文件权限与归属

       Linux中使用不同的符号来区分文件类型,常见的有  -:普通文件,d:目录文件,l:链接文件,b:块设备文件,c:字符设备文件,p:管道文件。每个文件的所有者、所属组和其他人对文件拥有可读r、可写w、可执行x等权限,分别用数字421来表示。例如rwxrw-r--,数字表示法为764,所有者权限为可读可写可执行,所属组为可读可写,其他人只有可读权限。
       对目录来说,“可读”表示能够读取目录内的文件列表,“可写”表示能在目录内新增、删除、重命名文件,“可执行”表示能够进入该目录。

三、文件的特殊权限

1、SUID

      一种对二进制程序进行设置的特殊权限,让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。所有者权限由rwx变成rws,若为rw-则变成rwS。

2、SGID

有以下两个功能:
(1)让执行者临时拥有属组的权限(只能对拥有执行权限的二进制程序进行设置)
(2)在目录中创建的文件自动继承该目录的用户组(只能对目录进行设置),例如在部门内设置共享目录,在该目录上设置SGID特殊权限位,这样部门内任何人在里面创建的文件都归属于该目录的所属组,则部门内的所有人都能读取目录内容。

3、SBIT

     当对某个目录设置SBIT特殊权限后,该目录中的文件只能被其所有者删除,即用户只能删除自己的文件,不能删除其他人的文件,/tmp默认设置了SBIT。目录设置此权限后,文件的其他人权限部分的x被替换成t(有x权限)或T(无x)。

四、文件的隐藏属性

chattr命令

      用于设置文件的隐藏属性,格式:chattr [参数] 文件  若要把某个隐藏功能添加到文件上,则在命令后面追加“+参数”,若要移除隐藏功能则追加“-参数”。
i,无法对文件进行修改;若对目录设置了该参数,则仅能修改子文件内容不能新建或删除文件
a,仅允许补充内容,无法覆盖/删除内容
S,文件内容变更后立即同步到硬盘
s,彻底从硬盘删除
A,不再修改最后访问时间
b,不再修改存取时间
D,检查压缩文件中的错误
d,使用dump命令备份时忽略本文件
c,默认将文件或目录压缩
u,删除文件后保留硬盘中的数据
t,让文件系统支持尾部合并
X,可直接访问压缩文件中的内容

lsattr命令

用于显示文件的隐藏权限,格式:lsattr [参数] 文件  

五、文件访问控制列表

      访问控制列表可对某个指定的用户进行单独的权限控制,基于文件或目录设置ACL就是针对指定的用户或用户组设置文件或目录的操作权限。若对目录设置ACL,目录中的文件会继承其ACL。

setfacl命令

用于管理文件的ACL规则,格式:setfacl [参数] 文件名称  针对目录使用-R递归参数,普通文件使用-m参数,删除ACL使用-b参数。使用ls命令查看,若文件权限最后一个点(.)变成了加号(+),说明文件设置了ACL。
例如:setfacl -Rm u:linuxprobe:rwx /root    为用户linuxprobe提供root目录的读写执行权限

getfacl命令

用于显示文件上设置的ACL信息,格式:getfacl 文件名称

六、su命令与sudo服务

      su命令使得当前用户在不退出登录的情况下,切换到其他用户。su - linuxprobe,-意味完全切换即把环境变量也更新为新用户的相关信息。
     sudo命令把特定命令的执行权限赋予给指定用户,既可以保证普通用户完成特定的工作,也可以避免泄露root密码。即给普通用户提供额外的权限来完成原本root管理员才能完成的任务,格式:sudo [参数] 命令名称
-h,列出帮助信息
-l,列出当前用户可执行的命令
-u 用户名,以指定的用户身份执行命令
-k,清空密码的有效时间,下次执行sudo时需要进行密码验证
-b,在后台执行指定的命令
-p,更改询问密码的提示语

我set

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: