###################1.用户的理解

 

用户就是系统使用者的身份

在系统中用户存储为若干窜字符+若干个系统配置文件

用户信息涉及到的系统配置文件:

/etc/passwd###用户信息

用户:密码:uid:gid:说明:家目录:用户使用的shell

/etc/shadow###用户认证信息

用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

/etc/group###组信息

组名称:组密码:组id:附加组成员

/etc/gshadow###组认证信息

/home/username###用户家目录

/etc/skel/.*###用户骨架文件

 

#################2.用户管理

 

1)用户建立

  useradd参数用户名字

-u##指定用户uid

-g##指定用户初始组信息,这个组必须已经存在

-G##指定附加组,这个组必须存在

-c##用户说明

-d##用户家目录

-s##用户所使用的shell,/etc/shells记录了用户能使用shell的名字

2)用户删除

  userdel -r用户名称 -r表示删除用户信息及用户的系统配置(必须有 -r)

3)组的建立

  groupadd-g##建立组

  groupdel组名字##删除组

   

作以上实验的监控命令:

watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'

4)用户id信息查看

    id参数用户

-u##用户uid

-g##用户初始组id

-G##用户所有所在组id

-n##显示名称而不是id数字

-a##显示所有信息

  -un###用户名字

  -gn###用户初始组名称

  -Gn###用户所在所有组名称

 

5)   usermod参数用户

-l##更改用户名称

-u##更改uid

-g##更改gid

-G##更改附加组

-aG##添加附加组

-c##更改说明

-d##更改家目录指定

-md##更改家目录指定及家目录名称

-s##更改shell

-L##冻结帐号

-U##解锁

usermod  -G “ ” test    ##取消所有附加组

 

6) su - username和su username

 

su - username###切换用户用户所使用的环境

echo $PATH###查看当前用户的用户环境

echo $USER###显示当前用户的信息

 

su username & su - username 的区别

 

 

     不加 - 的话,虽然切换到用户了,但并没有改变为该用户的登录环境。用户默认的登录环境,可以在/etc/passwd 中查得到,包括家目录,shell类型等。

     当不加任何参数执行su命令时,表示要切换到root用户,但这样执行,会遇到一些问题。因为虽然是切换到root用户了,但并没有改变为root用户登录环境;root用户切换到普通用户,可使用“su - 普通用户名”的写法。不需要输入任何密码就能完成切换。切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统命令

(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容。

 

###################3.用户权限下放

 

1)在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers

2)下放权力的方法

*)超级用户执行visudo进入编辑/etc/sudoers模式

*)格式:

获得权限用户主机名称=(获得到的用户身份)命令

testdesktop0.example.com=(root)/usr/sbin/useradd

test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd

3)执行下放权限命令

sudo命令##如果第一次执行sudo需要输入当前用户密码

在/etc/sudoers中如果设置如下:

test    desktop0.example.com=(root)     NOPASSWD: /usr/sbin/useradd

表示用户调用sudo命令的时候不需要自己密码

 

 

####################4..用户认证信息的控制

 

 

   chage  参数 用户

-d##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码

-m##最短有效期

-M##最长有效期

-W##警告期

-I##用户非活跃天数

-E##帐号到期日格式 -E "YYYY-MM-DD"