目录
[w命令 显示登录到系统的用户信息](#w命令 显示登录到系统的用户信息)
[chmod(change mode):修改文件或目录的权限](#chmod(change mode):修改文件或目录的权限)
[chown命令 修改文件或目录的所有者和属组](#chown命令 修改文件或目录的所有者和属组)
[SGID 权限](#SGID 权限)
[Sticky Bit权限](#Sticky Bit权限)
[ACL 权限给指定的用户指定目录分配指定的权限。](#ACL 权限给指定的用户指定目录分配指定的权限。)
账户和组管理
工作组管理
创建工作组groupadd
groupadd -参数 工作组名
参数
-g GID :指定新工作组的 GID ,默认值是已有的最大的 GID 加 1
-r : 建立一个系统组账号,与 -g 不同时使用时 , 则分配一个 1 ~ 999 的 GID
[root@server ~] # groupadd group2 -g 2000
//添加一个组 ID 为 2000, 组名为 group2 的新组
修改工作组groupmod
groupmod -参数 工作组名
参数
-g GID------ 为用户组指定新的组标识号
-n 新用户组 ------ 将用户组的名字改为新名字修改用户组的名称和用户组的 GID 值
将组 group1 的 GID 修改为 3000, 组名修改为 group11
[root@server ~] # groupmod -g 3000 -n group11 group1
添加**/**删除组成员gpasswd
gpasswd - 参数 账户 工作组
-r : 删除组密码
-a : 把用户加入组
-d : 把用户从组中删除。
-M : 可同时添加多个用户
-A : 给组指派管理员。
只有 root 用户和组管理员才能够使用该命令
删除工作组groupdel
groupdel 工作组名
被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组
查看用户登录系统的情况
users查看当前登录系统的用户
[root@server ~]# users
last****命令
列出目前与过去登入系统的用户相关信息,该命令默认会去读取 /var/log/wtmp 文件,并把该文件
记录的登入系统的用户名单全部显示出来
lastlog****命令
查看每个账号的最近登录时间,该命令会读取 /var/log/lastlog 文件
w****命令显示登录到系统的用户信息
who****命令
显示目前登录到系统的用户,会从/var/run/utmp 文件来获取信息
Linux****文件系统权限
文件的一般权限
文件详细信息
使用命令 ll 或 ls -l 查看
文件权限构成
r ( read ) 可以读取文件的内容
可以列出目录的内容,即目录下的文件的文件名
w ( write ) 可以更改文件的内容
可以创建或者删除目录中的任一文件(只有 w 权限无法创建删除文件,需要和x 权限一起使用)
x (execute ) 可以作为可执行文件,如脚本
可以切换到目录,如 cd 命令
root 账户不受文件权限的读写限制,执行权限受限制
chmod(change mode):修改文件或目录的权限
chmod [ 选项 ] [ugoa][ + - = ][rwx] 文件或目录 ...
chmod [ 选项 ] nnn 文件或目录 ...
-R :递归修改指定目录下所有文件、子目录的权限
ugoa :表示权限设置所针对的用户类别,可以是其中字母中的一个或组合, u(user) 表示文件或目录
的属主 ( 所有者 ) ; g(group) 表示属组内的用户; o(others) 表示其他用户; a(all) 表示所有用户 ( 即
u+g+o)
- 或 - 或 = :表示设置权限的操作动作, + 代表添加; - 代表取消; = 表示只赋予给定的权限,并取消原
有的权限。
rwx :用字符形式表示的所设置的权限,可以是其中一个字母或组合
nnn :用数字表示的权限
chown****命令修改文件或目录的所有者和属组
chown - 参数 所有者:所属组 文件名或目录名
参数 -R 递归设置
特殊权限
UID(SUID) 、 SET GID(SGID) 、 Sticky Bit( 粘滞位 ) 三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制
SUID****权限
让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。
如果这个所有组是root,加s是新建文件所有组还是root,权利提升
如 -rwsr-xr-x 这样
suid 仅对二进制文件有效
在执行过程中,调用者会暂时获得该文件的所有者权限
该权限只在程序执行的过程中有效
SGID****权限
文件: 如果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将
会变成该程序文件的所属组。
目录:如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A
目录的所属组
Sticky Bit****权限
是在其他人后面加t,只能被文件里的所有者写,
设置特殊权限
为文件或目录添加三种特殊权限同样可以通过 chmod 命令来实施 , 使用 "u±s" 、 "g±s" 、 "o±t" 的字符权
限模式分别用于添加和移除 SUID 、 GUID 、 sticky 权限。
若使用数字形式的权限模式 , 可采用 "nnnn" 格式的四位八进制数字表示,其中:后面三位是一般权限
的数字表示,前面第一位则是特殊权限的标志数字:
0------ 表示不设置特殊权限
1------ 表示只设置 sticky
2------ 表示只设置 GUID 权限
3------ 表示只设置 SGID 和 sticky 权限
4------ 表示只设置 SUID 权限
5------ 表示只设置 SUID 和 sticky 权限
6------ 表示只设置 SUID 和 SGID
7------ 表示同时设置 SUID 、 GUID 、 sticky3 种权限
ACL 权限给指定的用户指定目录分配指定的权限。
查看ACL权限getfacl
getfacl 文件名
设定ACL权限setfacl
setfacl - 参数 文件名
-m :设定 ACL 权限
给用户设定 ACL 权限: setfacl -m u: 用户名 : 权限 指定文件名
给用户组设定 ACL 权限: setfacl -m g: 组名 : 权限 指定文件名
-x :删除指定的 ACL 权限;
-b :删除所有的 ACL 权限;
-d :设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k :删除默认 ACL 权限;
-R :递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效
权限掩码****umask
在 Linux 系统中,当用户创建一个新的文件或目录时,系统都会为新建的文件或目录分配默认的限,该默认权限与umask 值有关
新建文件的默认权限 =0666-umask 值 (减去)
新建目录的默认权限 =0777-umask 值
查看默认umask值
[root@server ~] # umask
修改默认****umask
[root@server ~] # umask 000 # 临时修改