您的位置:首页 > 运维架构 > Linux

linux常用命令(4)——用户、权限

2017-12-06 20:12 330 查看

用户基本操作

添加用户

[root@localhost ~]# useradd 用户名


查询用户信息

[root@localhost ~]# id 用户名




[root@localhost ~]# useradd grace #添加一个用户,用户名是grace
[root@localhost ~]# id grace  #查询grace的信息
uid=500(grace) gid=500(grace) groups=500(grace),16(dialout),33(video)


uid=500(grace):当前登录的用户是grace,uid是500

uid : UserId,即用户ID,用来标识每个用户的唯一标示符

gid:GroupId,即组ID,用来标识用户组的首要组

groups:所在组信息,表示它的附属组是dialout,video。

删除用户

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

userdel [选项] 用户名


选项:

-f:强制删除用户,即使用户当前已登录;

-r:删除用户的同时,删除与用户相关的所有文件。

如果不填加选项,那么只是删除用户,系统中的文件仍然存在

[root@localhost ~]# userdel grace  #删除grace用户
[root@localhost ~]# id grace       #查询用户信息
id: ruoze: No such user

[root@localhost ~]# useradd grace  #添加grace用户,出现错误
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists

[root@localhost ~]# ll /home  #查询家目录
total 12
drwxr-xr-x.  2 root   root   4096 Dec  5 17:00 demo1
drwx------. 27 grace  grace  4096 Dec  5 22:43 grace
drwx------.  4 grace2 grace2 4096 Dec  6 00:27 grace2
-rw-r--r--.  1 root   root      0 Dec  5 18:57 xxx.log
#系统中仍然存在grace,因为一开始删除的时候我们只是删除了用户名,系统里的文件仍然存在

[root@localhost ~]# cat /etc/passwd|grep grace #利用管道查询该用户信息
/etc/passwd    #该目录下存放用户信息
grace:x:501:501::/home/grace:/bin/bash
[root@localhost ~]# cat /etc/group |grep grace
grace:x:501:

#强制删除grace用户
[root@localhost ~]# userdel -f -r grace
userdel: user 'grace' does not exist
[root@localhost ~]# id grace
id: grace: No such user


添加一个用户到一个新的用户组(usermod)

usermod命令用于修改用户的基本信息,如果需要修改的用户正在线上则无法更改信息。

usermod 选项 参数


常用选项

-g<群组>:修改用户所属的群组;

-G<群组>;修改用户所属的附加群组;

-a<群组>; 和-G一起使用修改所属群组,但不会从原来群组中移除

[root@localhost ~]# usermod -a -G bigdata grace
[root@localhost ~]# id grace
uid=501(grace) gid=501(grace) groups=501(grace),502(bigdata)
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# usermod -g bigdata grace
[root@localhost ~]# id grace
uid=501(grace) gid=502(bigdata) groups=502(bigdata)


修改用户密码

[root@localhost ~]# passwd grace


切换用户

法一:

su grace  #切换到grace用户


法二:

su - grace  #切换到grace用户


exit #退出用户

两种方法的区别

[root@localhost home]# su grace  #使用su切换到grace用户
[grace@zydatahadoop001 home]$ pwd   #查看当前所在位置
/home
[grace@zydatahadoop001 home]$ exit   #退出用户
exit

[root@zydatahadoop001 home]# su - grace #使用su - 切换到grace用户
[grace@zydatahadoop001 ~]$ pwd  #查看当前所在位置
/home/grace


可以看出使用su -切换用户会进入其用户的家目录下,使用su命令则不会改变目录。

当我们使用su -切换用户同时也会执行用户的配置文件(/home/grace/.bash_profile) 一般使用su - 切换用户

权限

sudo 给普通用户添加root权限

使用Linux系统时,经常会被要求使用超级权限,如果拥有root账户那还好,可以直接进行任何操作,但是这并不一个好方法,也不推荐使用。root的权限太过大了,慎用!!!

通过修改/etc/sudoers 配置文件给用户添加root权限

[root@localhost ~]# vi /etc/sudoers
#打开sudoers文件,在root ALL=(ALL) ALL下面添加grace ALL=(root)      NOPASSWD:ALL (其中grace是用户,all表示获取root所有权限,nopasswd表示不用登录密码),强制保存退出
[root@localhost ~]# su - grace  #切换到grace用户
[grace@localhost ~]$ ls -l /root
ls: cannot open directory /root: Permission denied #出现Permission denied表示权限问题
[grace@localhost ~]$ sudo ls -l /root #Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。使用权限:在 /etc/sudoers 中有出现的使用者。
total 100

[grace@localhost ~]$ su - root   #切换为root
Password:
[root@localhost ~]# vi /etc/sudoers #将grace新增的权限给删除
[root@localhost ~]# su - grace
[grace@localhost ~]$ ls -l /root  #这时候grace没有了root权限
ls: cannot open directory /root: Permission denied
[grace@localhost ~]$ sudo ls -l /root
[sudo] password for grace:
grace is not in the sudoers file.  This incident will be reported.


文件、文件夹权限

如下所示,是通过
ll -h
查询出来的两条数据。

-rwx-wx--x. 1 grace bigdata    0 Dec 6 17:26 1.txt
drw-r--r--. 2 grace bigdata 4.0k Dec 6 16:45 demo1


第1位:文件类型。d表示文件夹,-表示文件;

第2-4位:表示这个文件的属主拥有的权限

第5-7位:表示和这个文件属主所在同一个组的用户所具有的权限。

第8-10位:其他用户所具有的权限。

文件的权限位是从第二位到第十位

r: read 读

w: write 写

x: execute 执行

-: 代表在这一位没有这个权限

其中rwx对应的权重分别是4、2、1

如上述第一行代码,-表示1.txt是个文件,rwx表示grace用户有对这个文件进行读写执行的权限,-wx表示和grace所在的同一个组bigdata只有写和执行的权限,–x表示其他用户组只有执行的权限,所以1.txt对应的权重是731。

1.chmod(修改文件、文件夹权限)

chmod 权重 文件名


如:

chmod 777 /1.txt #将文件1.txt的权限变成rwxrwxrwx让所有用户都能对它进行读写执行操作
chmod -R 761 /demo1 #-R表示对文件夹demo1进行操作,将其权限变成rwxrw---w


2.chown (修改文件、文件夹所属用户和用户组)

chown 用户名[:组名] 文件名  #对文件或文件夹进行用户或用户组的修改




chown 用户名:组名 文件名
chown  test:test /root/1.txt  #修改用户和用户组
chown -R test:test /demo1   #-R:参数代表对文件夹的修改

chown 用户名 文件名
chown  test  /root/1.txt   #只修改用户


3.chgrp(修改文件、文件夹所在的组)

chgrp 组名 文件名  #change group


如:

chgrp test /root/1.txt #修改1.txt所在的组为test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: