目录
[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 # 临时修改