Linux初学:账户

1,Linux的账户和群组

(1)/etc/passwd 

/etc/passwd 文件中存储了系统中用户的信息。用cat命令查看它。


这只是前几行。前面大多是系统账户,不能随便删除。第一行是系统管理员root

每一行代表一个账户。每一行中的冒号是分隔符,隔开相邻的信息。从中可见一行有7个字段。

每一行的第一个字段就是用户名,例如root。

第二个字段x本应是密码。密码保存在 /etc/shadow中。对于从应用商店获得的ubuntu,不切换为root似乎就不能看这个文件。因此这个对这个文件的观察先放一放。

第三个字段是用户的ID,也就是uid。uid=0就是root。

第四个字段是群组group的ID,也就是gid。

第五个字段是账户说明。

第六个字段是用户的主文件夹。

第七个字段还看不明白。。。。。。

扫描二维码关注公众号,回复: 1072412 查看本文章

(2)/etc/group 

/etc/group 文件中存储了系统中群组的信息。用cat命令查看它:

(用户名太过中二就遮住了)

与passwd文件一样,也是每一行是一个群组,每一行内用冒号隔开相关信息。第一个字段是群组名,第二个是密码,与passwd文件一样,它也伴随有一个/etc/gshadow文件,第三个是群组的ID也就是gid,最后一行是群组内的用户。群组内用户名用英文逗号隔开且不用空格。

(3)有效群组与初始群组:

/etc/group 中有些群组后面没有用户,这是因为在/etc/passwd中有一些用户已经声明属于这个群组。对这些用户而言,/etc/passwd中的群组称为初始群组。

一个用户可能属于多个群组,在新建文件时,文件所属的群组由有效群组确定。

使用 groups 命令可以确定当前目录所处的群组,第一个就是有效群组,新建文件时默认它属于有效群组。

newgrp groupname    这个命令用于将有效群组切换为groupname,前提条件是当前用户真的属于这个群组。


2,在root账户下添加账户和群组

先切换到root账户,这样才能添加账户。

切换到root用户的方法为:一般应用商店来的ubuntu的root没有密码,因此可以自己通过sudo passwd命令重新设置一个。

(1)在root账户下添加和删除账户:

添加账户、修改密码、删除账户信息的命令是:

useradd user1               #完全采用默认参数创建一个新账户。
passwd user1                #添加密码,或者修改密码。
userdel user1               #删除一个账户,但留下文件夹。如果还要删除文件夹,则用 user -r user1  (删除命令慎用!)

(2)在root账户下修改账户:

usermod [修饰] user1         #修改user1的信息,这里的修饰同样也能用于useradd,也即在创建用户时就使用

usermod和useradd的常用修饰有: 

usermod -g group1 user1      #将group1设置为user1的初始群组

-g将group1设置为user1的初始群组,也就是/etc/passwd文件里第4个字段对应的那个群组,但是这不会成为user1的有效群组,/etc/group这个文件也不会改动。group1应该是已经存在的用户组。

usermod -aG group1 user1       #将user1加入group1群组内,同时保留user1原来的分组情况

-G将user1加入group1群组内,/etc/group这个文件会被改动。注意如果使用这个命令之后再使用一次 usermod -G group2 user1  则意味着将先前的/etc/group中的user1全部删除再把它添进group1,它不会保留以前的更改。如果要添加的话,用 -aG。

usermod -l user233 user1      #修改user1的账户名称,将其改为user233,但是账户文件夹的名字不会变。
usermod -u 500 user1          #修改user1账户的uid,将其改为500

(3)在root账户下添加或删除群组:

groupadd group1               #新建群组group1
groupdel group1               #删除群组group1
groupmod -n group2 group1     #将群组group1重命名为group2
groupmod -g 501 group1        #将群组group1的gid修改为501


3,在普通账户下的一些账户操作

id               #观察自己或其他人(id user1)的账户信息,包括uid(账户编号),gid(初始群组的编号),groups(所处群组)
groups           #观察自己的所处的群组,第一个是有效群组,有效群组是新建一个文件时默认所处的群组
newgrp group1    #将当前账户的有效群组切换为group1


4,账户间的切换

(1)su命令:

su - user1       #切换为user1账户,并且同时切换环境变量等东西,用pwd命令可发现此时当前工作目录已经变成了user1
su user1         #切换为user1账户,但并未切换环境变量等东西,用pwd命令可发现此时当前工作目录并没有变成user1
su - user1 -c "命令"    #切换为user1账户,执行“命令”然后退出。

上面的命令一旦被输入,就需要被切换到的账户user1的密码。user1也可以是根目录root。

(2)sudo命令:

sudo命令允许/etc/sudoers中的账户使用一次root的权限。但是首先得修改这个文件。

修改/etc/sudoers这一文件有自己专用的命令:

visudo    #root用户修改/etc/sudoers文件的命令。

进入之后,找到下面这一行

root ALL=(ALL:ALL) ALL

然后把  用户名 ALL=(ALL:ALL) ALL添在这一行下面,就能初步地获取root用户全部权限的资格了。

sudo语句的使用方法为:

sudo cat /etc/shadow
第一次使用sudo命令时需要输入自己的密码而不是root的,之后5分钟内不需要重新输入密码。














猜你喜欢

转载自blog.csdn.net/moon_wander/article/details/80185185