首页 > 代码库 > Linux学习笔记四

Linux学习笔记四

第五单元

##########################用户操作命令#################

(一)id的使用

id用户名##查看用户信息

id     -u        ###用户uiduserid

                -g        ###用户gid(初始组的id,只有一个)

               -a        ###用户所有信息

               -G        ###用户所有组的id(包括大学,linux组等)

               -un        ###用户名字

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

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

执行vim /etc/login.dafs,可知用户的uid默认的是1000

技术分享

运行情况是:

[kiosk@foundation12 Desktop]$ echo $PATH

/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin

[kiosk@foundation12 Desktop]$ which ls

alias ls=‘ls --color=auto‘

/usr/bin/ls

(二)切换用户的环境

echo $PATH###查看当前用户的用户环境,即显示当前PATH环境变量,该变量的值由一系列冒号分隔的目录名组成。

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

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

 

##kiosk原本的环境

[kiosk echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kiosk/.local/bin:/home/kiosk/bin

##root原本的环境

[root echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

##root用su - kiosk切换到kiosk,同时切换到了kiosk自己的环境变量

[root su - kiosk

[kiosk echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kiosk/.local/bin:/home/kiosk/bin

##root用su  kiosk切换到kiosk,但还是root的path,没有切到kiosk的path

[root su  kiosk

[kiosk echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

在切换用户时,su  studentsu - student的不同之处:

1.su - student切换用户、及用户的环境,加了”-”环境变量也改变了;

2. 不加”-”su student就只是切换用户。

 

(三)用户及组的操作

1. 用户

① 用户类型

a. 管理员Root:具有所有权限的用户,uid的值为0

b. 普通用户:正常创建的用户,uid50060000

c. 系统用户:保障系统运行的用户,一般不提供密码登陆系统,uid1499

 

② 用户相关文件

a. /etc/passwd##用户信息文件

存放用户的基本属性,从中可查看linux的所有用户。格式为:

『用户名:密码:用户id:用户主组id:用户说明(如姓名、年龄、电话等):用户根目录:用户编程环境(使用的shell)』

每个用户组有一个主组(私有组),一个或多个附加组。

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

存放用户密码的一些策略,格式为:

『用户名:密码:最近更改密码的日期:密码不可更改的天数:密码更改前的警告期限:密码过期的宽限时间:帐号失效日期:保留』

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

d. /etc/skel/.*##用户的基本信息配置

 

③ 用户命令

a. 新增用户:useradd -d 根目录 -g主组 -G 附加组列表(逗号隔开) 用户名

b. 重置密码:passwd 用户名

c. 修改用户:usermod -d 根目录 -g主组 -G 附加组列表(逗号隔开) 用户名————该命令的-G会把用户从原来的附加组移出来,可以使用-a参数指明是新增模式

d. 删除用户:userdel -r 连根目录一起删除 用户名

e. 查看所有用户:cat /etc/passwd

f. 查看单个用户详细:id 用户名

g. 查看当前所有的登陆用户:whho

 

2. 用户组

用户组是用户的容器,用户能从用户组继承权限。

① 用户组类型

a. 普通用户组:可以加入多个用户

b. 系统用户组:一般加入一些系统用户

c. 私有用户组:创建用户的时候,如果没有指明用户组,都会为该用户创建一个同名的用户组。私有用户组其实也是普通用户组的一种。

 

② 用户组相关文件

a. /etc/group##用户组信息

存放组的基本信息。格式为;

【组名:组密码:组id:用户列表】

b. /etc/gshadow

与用户组的shadow相似

 

③ 用户组命令

a. 新增组:groupadd -g uid号 组名————如果不指定uid号则自动生成

Groupadd -g 888 test(指定uid888

Groupadd hehe(未指定uid

b. 修改组:gruopmod -n 新组名 组名————可以用来改组名

Groupmod -n jack jaak

c. 删除组:groupdel 组名————如果组内还有用户则无法删除

d. 查看所有组+查看某个组内的用户:cat /etc/gruop

e. 查看用户的组信息:id 用户名

输出:

uid=0(root) gid=0(root) groups=0(root)

uid是主组,gruops是附加组

f. 将用户添加进组里:gpasswd -a用户名 组名

g. 将用户从组里移除:gpasswd -d 用户名 组名

 

-----------------------------------------------------------------

(四)用户的详细操作

useradd###新建用户

-u###指定用户的uid

-g###指定用户初始组,这个组一定要存在

-G###指定附加组,组同样要存在

-c###用户说明

-d###指定用户加目录

-s###指定用户使用的shellshell种类参看/etc/shells

userdel -r####删除用户

groupadd-g###新建组,-g表示指定组的id

groupdel###删除组

passwd####更改用户密码

『例』useradd  -u 1016(已存在的组号) -g 1016(已存在的组号) test(用户名)

 

技术分享

##################首先监听passwd###########

Watch -n1 tail -n 3 /etc/passwd

1.

Useradd  添加test用户

Useradd test

当有一个进程正在使用而无法删除test时:

Kill + 该进程号

然后再:

Userdel -r test

这样就能顺利删除了

技术分享

2.

可以同时指定用户的uidgid

Useradd -u 888 -g 888 test

3.

添加用户说明(要先删除test才能建立)

Useradd -c “test user” test

4.

指定用户家目录

Useradd -d /mnt/test test

5.

指定用户使用的shell类型

Useradd test -s /bin/tcsh

6.

查看shell的种类

&nbsp123&nbsp123

&nbsp123

技术分享

&nbsp123

&nbsp123

&nbsp123&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

&nbsp123

Linux学习笔记四