Linux的权限的管理
Linux下用户的创建,修改,删除
(1) Linux下用户创建
useradd jfedu
创建用户的命令,会执行以下如下步骤:
<1> /etc/passwd下保存用户的信息
cat /etc/passwd 查看用户信息 jfedu:x:500:500::/home/jfedu:/bin/bash
① 用户名
② 用户的UID
③ 用户主ID(GID)
④ 用户的家目录
⑤ 用户的shell环境
<2> 为jfedu创建家目录 home/jfedu
<3>创建与用户名相同的组jfedu,组的信息保存在/etc/group中
cat /etc/group 查看组的信息 jfedu:x:500:
① 组名称
② 组ID
③ 组成员 (这个组可以是用户的主组,也可以是用户的附属组)
<4>将/etc/skel/中以.bash开头的文件复制到/home/jfedu的家目录中
drwxr-xr-x. 3 root root 4096 9月 4 18:58 .
drwxr-xr-x. 75 root root 4096 9月 8 23:45 ..
-rw-r--r--. 1 root root 18 5月 11 2016 .bash_logout
-rw-r--r--. 1 root root 176 5月 11 2016 .bash_profile
-rw-r--r--. 1 root root 124 5月 11 2016 .bashrc
drwxr-xr-x. 2 root root 4096 11月 12 2010 .gnome2
注释:
<1> 这些文件是隐藏文件,需要加参数a才可以看见
<2> 如果没有这些文件,会导致用户的环境变量异常
<5> useradd 参数详解
① -d 指定用户的家目录 useradd -d /tmp/user1 user1
注释:
<1> 指定用户家目录后,并不会从/etc/skel/ 这个文件夹下复制
用户的环境变量到用户家目录上,所以在指定的用户家目录中,
并不会有用户user1存在
<2> cp -a /etc/skel/ /tmp/user1 复制用户的环境变量
<3>chown -R user1:user1 /tmp user1
② -g 把用户添加到组中 useradd jfedu4 -g 500 提示:这个组ID必须存在,否则无法添加
③ -G 新建账户的附属组 useradd jfedu5 -G jfedu4
④ -s 指定用户登录的shell usradd jfedu6 -s /bin/sh
注释: 如果将用户的shell环境设置成 /bin/nologin 表示拒绝用户登录系统
(2) Linux下修改用户的属性
① -d 修改用户的家目录 usermod -d /tmp/jfedu jfedu
注释: 修改用户家目录后,需要把mv命令把用户的家目录移动新指定的用户家目录中
② -g 修改用户的组 usermod -g 500 jfedu1
③ -G 修改账户的附属组 usermod -G jfedu jfedu2 jfedu是jfedu2的附属组
④ -s 表示修改用户的shell环境 usermod -s /bin/nologin jfedu
(3) Linux下删除用户
① userdel jfedu 删除用户,但保留用户家目录
② userdel -r jfedu 删除用户,同时删除用户的家目录
Linux下的组的创建,修改,删除
(1) Linux下组的创建
创建组的命令 groupadd 组名称
① -g 指定组的主id
groupadd -g 500 jfedu3
(2) Linux下修改组的属性
① -n 修改组的名称 groupmod -n jfedu4 jfedu3 将jfedu3修改为jfedu4
② -g 修改用户的主id groupmod -g 500 jfedu2
(3) Linux下删除组
删除组的命令: groupdel 组名称
Linux下用户的切换和用户密码的修改
(1) Linux用户的切换
将root用户切换到jfedu用户下
[localhost@root ~ #] su jfedu [jfedu@localhost]$
注释: 切换用户的命令: su 用户名
<1> 普通用户只能看自己的文件
<2> 查看管理员文件,会提示权限不够
<3> 查看其它用户文件,需要输入该用户的密码才能访问
<4> 普通用户切回管理员需要提供管理员密码
(2) Linux下新创建的用户,创建密码
passwd 用户名称
注释:
<1> 普通用户无法创建密码,只有根用户,才有权限创建密码
Linux下文件或文件夹的权限
<1> 在Linux中,每个文件有三种权限,读(r),写(w),执行(x)
注释:
目录必须要有执行(x)权限,否则无法查看内容
<2> 查看一个文件的三种权限,用ls -l 进行查看
<3> 用户权限的组成方式
drwx-rw-rx -rwx-rw-rx
① 第一位是d表示是目录 ,第一位是-表示普通文件
② 文件权限由用户(u),组(g),其它人(o)构成,它们都有读,写,执行三种权限。-代表没有权限
<4> 修改权限的写法
① chmod u=rw g=rw o=x 123.txt
② chmod u+rw g+r o+x jfedu/
③ chmod - R u=rw jfedu/ 授予目录的读和写的权利 -R表示进行递归
<5> chmod的二进制权限
权限也可以用数字表示
r=4 w=2 x=1 chmod=700 jfedu
注释:
<1> 表示用户有读,写,执行的权限
<2> 组和其它人没有权限
<5> 改变文件所属的用户
① chown root jfedu.txt 修改jfedu这个文件所属用户为root
② chown :root jfedu.txt chgrp root jfedu.txt 修改jfedu这个文件所属的组为root
③ chown root:root jfedu.txt jfedu这个文件所属用户和组都为root
<6> t权限
说明:只有所属该文件的用户可以删除,其它人删除不了
例: chmod o=rwt jfedu/ -R
在tmp目录下创建一个jfedu目录,给这个目录其它人加上rwt权限。我们在tmp目录下创建2个用户,分别是a1,b1。切换到a1,b1用户下,a1用户下创建123.txt ,b1用户下创建456.txt文件。无论是a1用户,还是b1用户都只能删除自己创建的文件,不能删除其它人的文件
<8> i权限
说明: 文件不能写,防止别人误删除
添加i权限的方法 chattr +i test.txt
查看i权限的方法 lsattr test.txt
<9> s权限
说明: 任何人都看可以执行root权限
例:
在/bin/su 这个目录下,用户有一个s权限,可以保证普通用户可以进行来回切换,如果去掉了s权限,普通用户即使密码输入对了,也无法进行切换
chmod u-s /bin/su
转载于:https://blog.51cto.com/linuxzdq/1958404