从零开始学Linux_07_Linux文件权限


​​
命令名称 用途 命令举例
groupadd 添加组 groupadd g_study
groupadd –g 777 mygroup
-g 参数直接指定gid
gpasswd 管理用户组信息,如设置密码,添加删除组成员 gpasswd g_study
gpasswd –a study g_study
-a增加用户进组
-d从组里删除用户
groupmod 修改用户组信息 groupmod -n studygroup (新名)g_study(旧名)
groupdel 删除用户组 groupdel studygroup
groups 显示用户所属的用户组 groups study
groupadd 添加组 groupadd g_study
groupadd –g 777 mygroup
-g 参数直接指定gid
命令名称 用途 命令举例
useradd或adduser 添加用户 useradd study
passwd 为用户设置密码 passwd study
passwd –d study (删除密码)
usermod 修改用户信息 usermod -c study(改后的别名) study
userdel 删除用户 userdel –r study (-r 连主目录一起删除)
su 用户切换 su root
id 查看用户的UID、GID及所归属的用户组 id study

一、Linux用户类别 1、用户类别 root:这是系统特权用户类,他们都有访问root登录帐号的权限
owner:这是实际拥有文件的用户。
group:这是共享文件的组访问权的用户类的用户组名称
world:这是不属于上面3类的所有其他用户。
2、/etc/shadow # cat /etc/shadow
xin:$6$vhP8o8VT$pcU8tGypN77EkId0XHZdBjyD26TQ6jCQIDU6zuejMvRRtlKhazxSbJLGRjm0bjiXLIIU4Kz4LC0rZcp.WkkLY0:16430:0:99999:7:::(:隔开每一项) (1)用户名
(2)密码(加密过的密码,*或!打头表示不能登录)
(3)密码最后一次被修改的时间(从1970年1月1日到该日的天数)
(4)从上一次修改密码到下一次允许进行修改要经历的天数
(5)经过多少天后用户必须重新修改密码
(6)在密码到期前多少天向用户发出必须修改密码的警告
(7)密码到期后经过多少天便把该帐号关闭
(8)帐号到期日
(9)保留
3、/etc/group (1)group文件格式: groupname:password:gid:user_list
——groupname:组名称
——password:组密码
——gid:组识别号
——user_list:该组用户清单
# cat /etc/group
root:x:0: xin:x:1000:

二、组管理


三、用户管理


四、权限管理 Linux文件权限位 (1)文件权限位的表示:-rwxrwxrwx
(2)第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号链接文件;
(3)接下来三位表示owner用户的读,写,执行权限
(4)紧接着三位表示group用户的读,写,执行权限
(5)最后三位表示world用户的读,写,执行权限
Linux文件权限管理 1、给文件赋予相应的权限位(chmod) (1)chmod介绍 【1】chmod命令格式为:
chmod [option] mode files...
【2】mode表示格式:
<1>、数字方式:[n][n][n] r=4 w=2 x=1
rwx:4+2+1; r-x:4+1; rw-:4+2
<2>、文本方式:[ugoa][+ - =][rwx]
u -- 该档案的拥有者;
g -- 与该档案的拥有者属于同一个群体(group)者;
o -- 其他以外的人; a -- 所有人; + -- 增加权限
- -- 去掉权限
= -- 设定权限
(2)举例1 【1】给text文件赋予rwxr-xr-x权限: chmod 755 text
【2】给text及其子目录底下所有文件赋予rwxr-xr-x权限:
chmod -R 755 text
(3)举例2 【1】为文件abc的组拥有者增加rw权限
chmod g+rw abc
【2】为abc文件的用户拥有者去除x权限
chmod u-x abc
【3】指定文件abc的其他用户权限为rw-
chmod o=rw-
【4】为文件abc及其子目录底下的所有文件的全体用户增加x权限
chmod -R a+x abc
2、设置文件所属的用户以及所属的组(chown,chgrp) (1)chgrp 【1】chgrp用来更改文件的组拥有者,其一般格式为:
chgrp [option] group file
【2】把文件abc的组拥有者改为study:
chgrp xin abc
【3】把test及其子目录下的所有文件的组拥有者改为study:
# chgrp -R xin test/

(2)chown 【1】chown用来更改文件所有者与组拥有者,其一般格式为:
chown [option] owner[:group] file
【2】将test及其子目录下的所有文件的所有者改为jjl:
# chown -R root test/
【3】将test文件的所有者改为jjl,组拥有者改为study:
# chown -R xin:xin test/
3、set uid(suid)、set gid(sgid) 当 s 标志在文件拥有者的 x 项目为 SUID,那 s 在群组的 x 时则称为 Set GID, SGID !
(1)/usr/bin/passwd -rwsr-xr-x
(2)/etc/shadow -r--------
(3)suid权限仅对可执行程序有效即具有x权限
(4)本权限针对运行中的进程
(5)运行中的进程将具有该程序拥有者的权限
(6)s出现在组权限的x位置上时,称为sgid (7)举例
vbird 对於 /usr/bin/passwd 这个程序来说是具有 x 权限的,表示 vbird 能运行 passwd;
passwd 的拥有者是 root 这个帐号;
vbird 运行 passwd 的过程中,会『暂时』获得 root 的权限;
/etc/shadow 就可以被 vbird 所运行的 passwd 所修改。
4、sticky bit(sbit) : 粘着位t属性
(1)一个文件拥有w属性,则可以删除 (2)/tmp drwxrwxrwt
(3)仅对目录有效
(4)防止文件或目录被非属主删除,只能由自己或者root用户删除

5、应用

如果在这三个数字之前再加上一个数字的话,最前面的那个数字就代表这几个权限了!

4 为 SUID2 为 SGID1 为 SBIT
(1)例1 # ls -l a -rw-r--r-- 1 root root 7 8月 26 20:01 a
# chmod 4644 a
# ls -l a
-rwSr--r-- 1 root root 7 8月 26 20:01 a (大写S代表没有可执行权限)
# chmod 4744 a
# ls -l a
-rwsr--r-- 1 root root 7 8月 26 20:01 a

(2)例2 # chmod 7777 a
# ls -l a
-rwsrwsrwt 1 root root 7 8月 26 20:01 a

6、umask (1)正常用户下默认:0002 表示其他用户必须去掉2的权限 , mode = 777 & ~umask (2)root用户:0022 (3)如果是文件,还会去掉可执行权限,mode = 666 & ~umask

相关内容