1.删除用户userdel
命令:userdel [-r] 用户名
选项:-r 删除用户的同时删除用户家目录
小提示:用户管理也就是添加、删除、设密码、修改状态这些
1. 一般加-r 选项,如果把用户删掉,没有把他的家目录删掉,这个目录就会变成一个没有所有者的垃圾文件,这种情况下还需要手工来删这个文件,就会比较麻烦,一般情况下,删除用户的同时都会加-r选项.
2. 手工删除用户 ,也可以手工添加用户 ,其实也就是修改了这六个文件,但是手工添加用户相对手工删除用户要麻烦,因为在shadow文件中先算出这个用户的密码值,在拷贝里面去,才可以得到密码串。
手工删除用户: 依次执行以下命令
vi /etc/passed
vi /etc/shadow
vi /etc/group
vi /etc/gshadow
rm -rf /var/spool/maiil/lamp
rm -rf /home/lamp/
开始实验:
- 1.先创建一个用户user1,之后不用命令而实手工的方式,把他删除。那如何验证这个user1用户删掉???,再添加一下user1这个用户,如果报错,“这个用户已经存在,”那这个用户就没有删干净,如果不报错,能正常添加,就证明已经完整的删除了。 这里只是让我们理解其实删除一个用户就是跟这几个文件有关,实际情况下还是使用命令来删除用户更简单。
- 2.进入/etc/passwd删除这一行
- 3.进入/etc/shadow删除这一行
- 4.进入/etc/group删除这一行
- 5.进入/etc/gshadow删除这一行
- 6.删除user1用户的邮箱/var/spool/mail/user1,删除user1用户的家目录/home/user1
把这六个文件的信息都删掉之后,其实就执行了一遍userdel –r user1. 再一次添加这个user1用户我们会发现成功创建,也就说明我们手工删除user1用户成功了。
注意: 其实还有一个/etc/skel模板文件和创建用户有关,但是,模板是公共的不是特定用户的,不用删。模板只是创建这个用户的时候从里面copy文件,不是属于新用户的文件。
2.查看用户ID
命令:id 用户名
作用:查询这个用户的用户id,初始组id,还用户在那些组当中
- 开始实验:
1.查看用户ID
2.把user1加入root组里,再来查看
3.用户切换命令
命令: su [选项] 用户名
选项: - 选项只使用“-”代表连带用户的环境变量一起切换
-c 仅执行一次命令,而不切换用户身份
很容易出错的地方:su root
(中间必须加“-”) 实验操作看一下为什么不对
实验演示:
说明: 1. Env查看这个用户的环境变量的,这个用户当前操作的环境,windows的操作环境就是图形界面、分辨率、背景图像,桌面的图标,Linux主要是指相关操作的一些环境,当前的用户是谁,当前的家目录是谁…
2. 就是已经切换成root,为什么看起来还是user1,因为su命令敲错了,或者说没有敲全,中间的那个 “-”绝对不能省。“-“从一个用户切换成一个用户的同时,连代用户的环境变量一起切换。刚才实验中就没有添加”-”,但是环境变量中,还有一部分是user1的,有点像身在曹营心在汉的感觉。不加“-”之后的操作有可能会出错。
-c选项的含义:
命令: su - root -c “useradd user3”
含义: 不切换成root,但是执行useradd命令添加user1用户
开始实验:
注意事项: 1. -c调用root身份来执行只有root才可以执行的一个命令
2. useradd这个命令只有root用户可以执行,但是user1用户调用了root身份,所以才可以执行useradd这个命令。