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
相关文章推荐
- Linux常用命令及操作(二)查看用户组、更改文件(夹)权限、复制、将用户添加到root
- linux进阶一 常用命令和用户拥有者修改和权限修改
- Linux用户管理&文件权限&常用管理命令
- Linux创建/分配用户权限,以及常用命令
- Linux用户以及权限相关常用命令总结
- linux常用命令-用户及权限管理
- 003--linux用户权限常用命令
- 入门级Hadoop集群搭建详细教程(三):Linux常用命令之用户、组和权限
- Linux常用命令-------系统用户权限
- Linux常用基本命令 -用户、权限管理who,whoami,exit
- linux下修改文件权限、切换用户、添加文本、修改文本、hadoop执行jar文件等常用命令
- linux常用命令-用户,组,权限,用户配置文件,特殊权限uid/gid/sticky
- Linux-常用命令(二)权限管理命令
- linux用户权限相关命令
- Linux 入门常用命令 — 改变文件或目录的访问权限
- Linux - 用户管理常用命令
- linux常用命令(4、5、6)-帮助命令、用户管理命令、压缩解压命令
- Linux自学笔记(六)常用命令之权限管理命令,文件搜索命令,帮助命令
- linux记录系统中常用重要的log记录和用户的所有操作精确命令记录
- Linux 入门常用命令-8.Linux改变文件或目录的访问权限命令