楔子
- 登录linux系统时,必须通过指定的用户名和密码进行登录。我们的用户名是
zjh
,但是Linux不把我们看作zjh
,而是一个数字。 - 在Linux中,用userid(一个32位的二进制整数)来表示用户。
- 可以通过id命令,查看自己的userid
- Userid为0的表示根用户,即用户名称为root的用户
- 系统运行的每个进程、所创建的每个文件都有一个userid,这个userid代表运行这个程序的用户,或者文件的所有者
用户和组
简述 & /etc/passwd
& /etc/shadow
Linux系统中,用户被保存在/etc/passwd
文件中。该文件有7列:用户名
、密码
、用户id
、主要组id
、备注信息
、主目录
、登录shell
。
- 密码保存在第二个字段、出于安全考虑,linux采用一种更新叫做“影子密码”,用户的密码被专门保存在/etc/shadow文件中。这里只显示X。
-
shell
:指为使用者提供操作界面的软件(命令解析器)。它接收用户命令,然后调用相应的应用程序。 - 登陆shell就是说这个shell是可以用于用户登录使用的,一般Linux默认的用户shell都是bash ,也就是说你可以登录进去敲命令。非登陆shell ,经典的
/bin/nologin
就是一个非登陆shell,也就是说如果一个用户默认的shell是它的话,这个用户即使登录进Linux也无法使用Linux。shell是用户和计算机交流的中介,“登录shell”保证用户和计算机交流,“非登陆shell”无法让用户与计算机交流。关于用户的默认登录shell是在 /etc/passwd 文件中记录的。“非登陆”shell 有它特定的用途,比如一个用Linux搭建一个ftp服务器,并且创建了很多的ftp用户,那么就可以将这些用户的默认shell改为nologin,这样一来,这些虽然是Linux上的用户可是却无法登录进Linux主机,只能登录ftp服务器了。保证了安全性。
/etc/passwd
:
/etc/shadow
:用户名
加密密码
最近更改密码的日期
密码不可更改的天数
密码需要重新更改的天使
密码更改期限前的警告期限
密码过期的宽限时间
帐号失效日期
保留字段
三种用户
- 一般用户 userid>=500
- 超级用户 userid=0
- 系统用户 userid<500
- linux在安装某些软件包时会自动分配它们自己的userid和用户“mail”、“news等用户名
passwd命令
可以通过passwd命令更改自己的密码,只有自己或者根用户(root)才有权利更改密码。
useradd(adduser)
根用户通过这两个命令来添加新用户,并且通过passwd设置密码,创建后在/home目录下会创建一个当前用户的家目录。
- 分配一个新的userid,是/etc/passwd中数字最大的
- 在/etc/passwd中添加一行
- 为用户建立一个新的主目录 /home/cauc
- 在/etc/group中为用户建立一个新的个人组
su
Su命令可以从当前用户切换到其他用户
- [cauc@localhost ~]$ su fxr
- 从普通用户切换到其他用户或者根用户需要密码
- 从根用户切换到其他用户不需要密码
- [root@localhost ~]$ su fxr
groups
显示当前登录用户所支持的组
usermod & userdel
usermod命令用于创建用户后修改其属性
-
-G
改变用户支持的用户组 -
-e
“YYYY-MM-DD” 设定失效日期 -
-L
不让他们登录 -
-U
反转-L的效果 -
-s
改变shell的实际文件 -
-c
添加备注
userdel命令用于删除用户,-r
选项让用户的主目录及其以下的所有条目都回被删除。
例
- 在系统中添加三个用户, Blondie、Prince和Madonna:
useradd Blondie
、useradd Prince
、useradd Madonna
- 他们都希望属于次要组music:
groupadd music
、usermod –G music Blondie
、usermod –G music Prince
、usermod –G music Madonna
- Blondie要求在
/etc/passwd
中给他的条目添加备注“heart of glass”:usermod –c "heart of glass" Blondie
- Prince要求使用/bin/csh作为登录shell:
usermod –s /bin/csh Prince
- Madonna的使用期限为2012-12-1:
usermod –e "2012-12-1" Madonna
- Blondie决定加入摔跤俱乐部wrestle组:
groupadd wrestle
、usermod -a –G wrestle Blondie
(不添加-a
选项会把该用户之前的次要组都删掉)。 - Prince要将他的用户名改为tafkap:
usermod –l tafkap Prince
- Madonna开始对风水感兴趣,加入组fengshui,并要求将她的userid改为888:
groupadd fengshui
、usermod -a –G fengshui Madonna
、usermod –u 888 Madonna
- Prince又要改名字了,我们觉得太麻烦,干脆锁住他的帐号(禁止登陆):
usermod –L Prince
- Blondie最近表现不好,我们决定将他踢出去(删除):
userdel –r Blondie
(想把该用户所有信息都一起删除可以使用-r
)