第五单元
一、用户理解
用户就是系统使使用者的身份。在系统中用户存储为若干字符串及若干个系统配置文件,用户信设涉及系统配置文件如下:
/erc/passwd ##用户信息,其内容显示如下,共七列
用户名:密码(一般显示x):UID(用户ID):组id:说明:家目录:用户所用的shell
/etc/shadow ##用户认证信息,内容显示如下,共七列
用户名:密码:最后一次修改日期:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ##组信息,其内容显示如下,共四列
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
注:以上操作-->打开shell输入
watch-n 1 ‘tail -n 3 /etc/passwd /etc/group; echo ====; ls -l /home ; echo ===; ls-l /mnt ’
此命令用来监控用户或组的信息变化,下文中部分图形配文也是在此命令下产生的。
二、用户管理
1.组的建立与删除
groupadd 组名 ##建立组,其信息均为默认值
groupadd -g gid 用户名 ##指定组id 进行建立组
groupdel 组名 ##删除组
2.用户的管理
(1)用户的建立: useradd [参数] 用户名称,
useradd -u uid 用户名字 ##指定用户的uid
ueradd -g 组id 用户名 ##指定用户的初始组且只能指定一个,该组必须已经存在(组的创建见上)
useradd -G Gid 用户名 ##指定用户附加组,可以多个,但必须存在
useradd -G “Gid,Gid,...” 用户名 ##指定多个附加组
useradd -c ##用户说明
useradd -d ##用户家目录,一般默认为 /home/用户名
useradd -s ##用户所使用的shell ,/etc/shells 记录了用户可以使用的shell
注:若s使用的shell为/usr/bin/nologin,创建的用户将不能实现交互,即不能使命su -命令,
其余均可实现用户交互,所以一般不使用/usr/bin/nologin。示例如下
示例:建立:uid=23,gid=72,Gid=21,说明student,家目录指定为/home/lee,指定shell为/bin/csh 的用户westos.
(2)用户的删除
userdel -r 用户名 ##删除用户的所有有关信息,但不会删除组信息
3.用户id信息的查看(在root下且用户存在),格式如下
id [参数] 用户名##无参数时默认查看全部信息,无用户名时默认查看系统第一个用户
id -a 用户名 ## 查看显示用户所有信息
id -u ##查看用户id
-g ##查看用户组id
-G ##查看用户的附加组id , 其中会包含初始组id
id -un ##查看用户名称
id -gn ##查看用户初始组名称
id -Gn ##查看用户附加组名称,含初始组
三、用户信息的更改(用户必须已存在),格式如下:
usermod 参数 用户名
1.usermod -l 用户名2 用户名1
表:将用户名称由用户名1改为用户名2
2.usermod -u uid 用户名
表:改变用户的uid
3.usermod -g gid 用户名
表:改变用户初始组,要求该组必须已存在
4.usermod -G 组名/组id 用户名
表:更改用户的附加组
usermod -aG 组名/组id 用户名
表:添加附加组(该组许已存在)不影响原来的附加组
Usermod -aG “组名/gid,组名,gid,...”
表:添加多个附加组(这些组须已存在)不影响原来的附加组
usermod -G “” 用户名
表:删除用户的附加组
6.usermod -c “说明/空格符”用户名
表:添加用户说明/删除用户说明
9.usermod -d ##更改用户家目录指向
usermod -md ##更改家目录及家目录指向
10.usermod -s ##修改用户使用的shell
11. echo 字符串| passwd -- stdin 用户名
表:更改用户的密码为该字符串
四、用户权力的下放
首先,了解系统用户的管理:默认是超级用户管理,但是可以通过“权力下放”进行更改此权限。例如:一般情况下,root用户可以新建用户,利用su 命令切换到新建用户命令后,将无权再新建用户,此时将需要“权力下放”来实现新用户的建立。
1.权力下放:通过修改权限,使一般用户有权新建用户
修改权限:在root下的shell中执行 visudo 命令,再按e进行编辑,即修改权限,格式如下:
获得权限用户 主机名称=(获得到的用户身份) 命令
2.执行下放权限命令
sudo 命令
如果第一次执行sudo需要输入当前用户密码,可在/etc/sudoers中编辑命令如下
用户名 主机名=(root) NOPASSWD: /usr/sbin/useradd
则再调用sudo 命令时将不需要密码。
创建linux 时不需要密码
创建linux 时需要设定密码
注:vim 也可进行编辑/etc/sudoers,但其不会报错。所以需使用visudo来进行编辑。
五、用户认证信息的控制
用户认证信息在/etc/shadow 中,内容显示如下,共七列:
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
用户认证信息的控制,格式如下:
chage 参数 用户名
1.chage -d 用户名
表:设定用户最后一次密码修改时间。若设定成0,用户登陆系统后必须修改密码
2. chage -m 数字 用户名 ## 设定密码最短有效期
3. chage -M ## 设定密码最长有效期
4. chage -W ## 设定密码警告期
5. chage -I ##用户非活跃天数,即账户到期后,用户还可以登陆的天数
6. chage -E ##帐号到期日格式 -E "YYYY-MM-DD"
注:修改密码后,最长有效期就刷新一次;但是账户到期日不变
用户非活跃天数若设置为1天时,实际活跃天数为2天;设置为-1天,则实际活跃天数为0天