8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
Linux的账号与群组
使用者标识码:UID与GID
UID对应用户ID,GID对群组ID1id [user]
使用者账号
/etc/passwd
一共有7个字段1、账号名称:需要用来对应UID,例如root的UID对应是0
2、密码:早期Unix系统的密码就是放在这个字段上!但是因为这个文件的特性是所有的程序都能够读取,这样一来很容易造成数据被窃取,因此后来就将这个字段的密码数据改到/etc/shadow中了。所以这里有一个”x”
3、UID:这个就是使用者的标识码,通常Linux对于UID有几个限制:id 范围该 ID 使用者特性0(系统管理员)当 UID 是 0 时,代表这个帐号是“系统管理员”! 所以当你要让其他的帐号名称也具有 root 的权限时,将该帐号的 UID 改为 0 即可。 这也就是说,一部系统上面的系统管理员不见得只有 root 喔! 不过,很不建议有多个帐号的 UID 是 0 啦~容易让系统管理员混乱!
1~999(系统帐号)保留给系统使用的 ID,其实除了 0 之外,其他的 UID 权限与特性并没有不一样。默认 1000 以下的数字让给系统作为保留帐号只是一个习惯。由于系统上面启动的网络服务或背景服务希望使用较小的权限去运行,因此不希望使用 root 的身份去执行这些服务, 所以我们就得要提供这些运行中程序的拥有者帐号才行。这些系统帐号通常是不可登陆的,/sbin/nologin 这个特殊的 shell 存在。根据系统帐号的由来,通常这类帐号又约略被区分为两种:1~200:由 distributions 自行创建的系统帐号;201~999:若使用者有系统帐号需求时,可以使用的帐号 UID。
1000~60000(可登陆帐号)给一般使用者用的。事实上,目前的 linux 核心 (3.10.x 版)已经可以支持到 4294967295 (2^32-1) 这么大的 UID 号码喔!4、GID:这个与/etc/group有关,其实/etc/group的观念与/etc/passwd差不多,只是它是用来规范群组名称与GID的对应而已。
5、使用者说明栏:基本没有什么重要用途,只是用来解释这个账号的意义而已,不过提供finger的功能是,这个字段可以提供很多的讯息。
6、主文件夹:这是使用者的文件夹,以上面为例,root的主文件夹在/root,所以当root登录之后,就会立即跑到/root目录里来
7、Shell:默认是bash
8、/etc/shadow文件结构
/etc/shadow
一共有九个字段1、账号名称
2、加密密码
3、最近改动密码的日期
4、密码不可被更改的天数
5、密码需要重新变更的天数
6、密码需要变更期限前的警告天数
7、密码过期够的账号宽限天数
8、账号失效日期
9、保留
日期是以1970年的总日数设置的,例如16559是2015/05/04
有关群组:有效与初始群组、groups, newgrp
/etc/group
这个文件就是记录GID与群组名称的对应,类似与这样:1
2
3
4
5[[email protected] ~]# head -n 4 /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
分为四栏1、群组名称
2、群组密码:通常不设置,这个通常给群组管理员使用,目前很少设置群组管理员,同意移到/etc/gshadow去,因此这个字段只会存在一个”x”
3、GID:群组ID,与群组名对应
4、此群组支持的账号名称:一个账号可以加入多个群组,那某个账号想要加入此群组时,将该账号填入这个字段即可。
Tips 在新版的Linux中,初始群组的用户群已经不会加入在第四个字段。例如我们知道root这个账号的主要群组为root,但是在上面的范例中,你已经不会看到root这个用户的名称在/etc/group的root那一行的第四个字段内。
有效群组与初始群组
初始群组
每个使用者在他的/etc/passwd里面的第四栏有所谓的GID,这个GID就是所谓的”初始群组”,也就是说,当使用者一登录系统,立即就拥有这个群组的相关权限。
有效群组
当用户创建一个新的文件或者新的目录是,新文件的群组是?这个时候就需要检查当时的有效群组了。groups
groups命令会输出当前用户所属的所有群组,其中第一个就是有效群组
newgrp
有效群组的切换,同时会更改shell
账号管理
新增与移除使用者:useradd,相关配置文件,passwd,usermod,userdel
useradd
useradd创建账号是,至少会参考:/etc/default/useradd
/etc/login.defs
/etc/skel/*
passwd
用root给user赋予密码passwd username
usermod
usermode用来修改/etc/passwd或者/etc/shadow字段数据1usermod [-cdegGlsuLU] username
userdel1userdel -r username
连同使用者的主文件一起删除
使用者功能
useradd/usermod/userdel都是系统管理员所能够使用的指令
一般用户常用指令如下:
id
查询某人或自己的相关UID/GID等等信息1id [username]
finger
finger username观察使用者相关账号属性
finger指令找出系统上登陆的使用者与登陆时间
chfn
chfn有点像change finger的意思,使用如下:1chfn [-foph] [username]
chsh
修改自己的shell参数1chsh [-ls]
新增与移除群组
groupadd1groupadd [-g gid] [-r] 群组名称
groupmod
跟usermod类似,这个指令进行group相关参数的修改1groupmod [-g gid] [-n group_name] 群组名
groupdel1groupdel [groupname]
如果某个用户的出初始化用户组使用的该群组,则不能通过这个命令删除
gpasswd
群组管理员功能
账号名称|账号全名|支持次要群组|是否可登陆主机|密码
—|—|—|—|—
myuser1|1st user|mygroup1|可以|password
myuser2|2nd user|mygroup1|可以|password
myuser3|3rd user|无额外支持|不可以|password1
2
3
4
5
6
7
8groupadd mygroup1
useradd -G mygroup1 -c "1st user" myuser1
useradd -G mygroup2 -c "2nd user" myuser2
useradd -c "3rd user" -s /sbin/nologin myuser3
passwd myuser1
passwd myuser2
passwd myuser3