目录
一:创建文件,并赋予权限611(两种方式,一种guoa,一种nnn)
二:创建目录,并赋予权限754(两种方式,一种guoa,一种nnn)
四:设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
五:设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
六:设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式
1:为文件设置acl 用户为testuser1 权限为 rwx
1.修改文件或目录的权限—chmod(change mode)命令
命令格式 1:chmod [-选项] [ugoa] [+-=] [rwx] 文件或目录...
命令格式2:chmod [-选项] nnn 文件或目录...
其中:
ugoa——表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录的属
主(所有者);g(group)表示属组内的用户;o(others)表示其他任何用户;a(all)表示所有用户(即u+g+o)。
+|-|= ——表示设置权限的操作动作,+代表添加某个权限;-代表取消某个权限;=表示只赋予给定的权限,并
取消原有的权限。
rwx——用字符形式表示的所设置的权限,可以是其中字母中的一个或组合。
nnn——用三位八进制数字表示的所设置的权限。
常用的选项有:
-R——递归修改指定目录下所有文件、子目录的权限。
一:创建文件,并赋予权限611(两种方式,一种guoa,一种nnn)
nnn方式:
[root@rhcsa ~]# touch chmod1.txt
[root@rhcsa ~]# chmod 611 chmod1.txt
[root@rhcsa ~]# ll chmod1.txt
-rw---x--x. 1 root root 0 Nov 27 20:07 chmod1.txt
[root@rhcsa ~]#
guoa方式:
[root@rhcsa ~]# touch chmod.txt
[root@rhcsa ~]# chmod g=x chmod.txt
[root@rhcsa ~]# chmod o=x chmod.txt
[root@rhcsa ~]# ll chmod.txt
-rw---x--x. 1 root root 0 Nov 27 20:08 chmod.txt
[root@rhcsa ~]#
二:创建目录,并赋予权限754(两种方式,一种guoa,一种nnn)
目录的初始权限为755
nnn方式:
[root@rhcsa ~]# mkdir chomd1
[root@rhcsa ~]# chmod -R 754 chomd1
[root@rhcsa ~]# ls -ld chomd1
drwxr-xr--. 2 root root 6 Nov 27 20:10 chomd1
guoa方式:
[root@rhcsa ~]# mkdir chomd
[root@rhcsa ~]# ls -ld chomd
drwxr-xr-x. 2 root root 6 Nov 27 20:15 chomd //初始权限
[root@rhcsa ~]# chmod o-x chomd
[root@rhcsa ~]# ls -ld chomd
drwxr-xr--. 2 root root 6 Nov 27 20:15 chomd //修改后的权限
三:创建文件,并将文件的属主和属组修改其他用户
[root@rhcsa ~]# touch chmod2.txt
[root@rhcsa ~]# ll chmod2.txt
-rw-r--r--. 1 root root 0 Nov 27 20:25 chmod2.txt
[root@rhcsa ~]# chown root:slw chmod2.txt
[root@rhcsa ~]# ll chmod2.txt
-rw-r--r--. 1 root slw 0 Nov 27 20:25 chmod2.txt
四:设置suid,为文件设置suid(两种方式 u+s和nnnn)的方式
SUID 权限的含义:
是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序拥有者的权限。
u+s方式:
[root@rhcsa ~]# touch chomd3.txt
[root@rhcsa ~]# ll chomd3.txt
-rw-r--r--. 1 root root 0 Nov 27 20:27 chomd3.txt
[root@rhcsa ~]# chmod u+s chomd3.txt
[root@rhcsa ~]# ls -l chomd3.txt
-rwSr--r--. 1 root root 0 Nov 27 20:27 chomd3.txt
nnnn方式:
[root@rhcsa ~]# touch chmod4.txt
[root@rhcsa ~]# ll chmod4.txt
-rw-r--r--. 1 root root 0 Nov 27 20:29 chmod4.txt
[root@rhcsa ~]# chmod 4644 chmod4.txt
[root@rhcsa ~]# ll chmod4.txt
-rwSr--r--. 1 root root 0 Nov 27 20:29 chmod4.txt
五:设置sgid, 为文件设置sgid(两种方式 g+s和nnnn)的方式
SGID 权限的含义:
SGID 可以用在两个方面:
■ 文件: 如 果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候, 它的有效用户组 (effective group)将会变成该程序的用户组所有者 (group id) ( 真 正 的 组,原来的组)
■ 目录, 如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的用户组, 将会是此 A目录的用户组。
一 般来说, SGID 多用在特定的多人团队的项目开发上,在系统中用的很少
g+s方式:
[root@rhcsa ~]# touch chmod5.txt
[root@rhcsa ~]# ll chmod5.txt
-rw-r--r--. 1 root root 0 Nov 27 20:38 chmod5.txt
[root@rhcsa ~]# chmod g+s chmod5.txt
[root@rhcsa ~]# ll chmod5.txt
-rw-r-Sr--. 1 root root 0 Nov 27 20:38 chmod5.txt
nnnn方式:
[root@rhcsa ~]# touch chmod6.txt
[root@rhcsa ~]# ll chmod6.txt
-rw-r--r--. 1 root root 0 Nov 27 20:39 chmod6.txt
[root@rhcsa ~]# chmod 2644 chmod6.txt
[root@rhcsa ~]# ll chmod6.txt
-rw-r-Sr--. 1 root root 0 Nov 27 20:40 chmod6.txt
六:设置sbit,为目录设置sbit(两种方式 o+t和nnnn)的方式
Sticky Bit (SBit) 当前只针对目录有效, 对文件没有效果。
其对目录的作用是:
■ 在 具 有 SBIt 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除。
■ 当 student 用户属于 A 目录的 group 成员或属于 other ,且拥有 w 权限时, 可以对该目录内任何人建立的目录或文件进行“ 删除/重命名/移动” 等操作。
■ 不过, 如果将 A 目录加上了 Sticky Bit 权限, 则 student用户只能针对自己建立的文件或目录进行“删除/重命名/移动” 等操作0——表示不设置特殊权限
1——表示只设置sticky
2——表示只设置GUID权限
3——表示只设置SGID和sticky权限
4——表示只设置SUID权限
5——表示只设置SUID和sticky权限
6——表示只设置SUID和SGID
7——表示同时设置SUID、GUID、sticky3种权限
o+t方式:
[root@rhcsa ~]# mkdir chmod2
[root@rhcsa ~]# ls -ld chmod2
drwxr-xr-x. 2 root root 6 Nov 27 20:44 chmod2
[root@rhcsa ~]# chmod o+t chmod2
[root@rhcsa ~]# ls -ld chmod2
drwxr-xr-t. 2 root root 6 Nov 27 20:44 chmod2
nnnn方式:
[root@rhcsa ~]# mkdir chmod3
[root@rhcsa ~]# ls -ld chmod3
drwxr-xr-x. 2 root root 6 Nov 27 20:45 chmod3
[root@rhcsa ~]# chmod 1755 chmod3
[root@rhcsa ~]# ls -ld chmod3
drwxr-xr-t. 2 root root 6 Nov 27 20:45 chmod3
七:创建文件,查询文件的acl
-m:设定 ACL 权限。如果是给予用户 ACL 权限,则使用"u:用户名:权限"格式赋予;如果是给予
组 ACL 权限,则使用"g:组名:权限" 格式赋予;
-x:删除指定的 ACL 权限;
-b:删除所有的 ACL 权限;
-d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
-k:删除默认 ACL 权限;
-R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;
2) 给用户和用户组添加ACL权限
①、给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名
②、给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名
[root@rhcsa ~]# getfacl acl.txt
# file: acl.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
1:为文件设置acl 用户为testuser1 权限为 rwx
[root@rhcsa ~]# useradd testuser1
[root@rhcsa ~]# setfacl -m u:testuser1:rwx acl.txt
[root@rhcsa ~]# getfacl acl.txt
# file: acl.txt
# owner: root
# group: root
user::rw-
user:testuser1:rwx
group::r--
mask::rwx
other::r--
2:为文件设置acl的mask: 权限为r-x
[root@rhcsa ~]# setfacl -m m:r-x acl.txt
[root@rhcsa ~]# getfacl acl.txt
# file: acl.txt
# owner: root
# group: root
user::rw-
user:testuser1:rwx #effective:r-x
group::r--
mask::r-x
other::r--
[root@rhcsa ~]#