Linux中的用户和用户组总结
来源:互联网 发布:网络电视机顶盒哪个牌子好 编辑:程序博客网 时间:2024/06/05 13:32
1、linux中的用户和用户组相关文件
<1>用户:
linux中的用户分为root用户和非root用户。非root用户即普通用户。
普通用户可以有一个以自己用户名命名的home目录,存放的地址是/home/username,root用户的home目录是:/root 。
每个用户都有对应的UID,UID就像是身份证号:
超级用户UID:0:root用户默认为0。
系统用户UID:1-999:系统中系统服务由不同用户运行,更加安全,默认被限制登陆系统。
普通用户UID:1000~:即管理员创建的用于日常工作而不能管理系统的普通用户。
注意UID一定是不能冲突的,管理员创建的普通用户UID从1000开始(即便前面有闲置的号码)
<2>用户组:
linux中的用户肯定用一个所属的用户组,也可以属于多个用户组。用户组也有对应的GID,方便去添加用户到组里。在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多,你的兄弟姐妹(不同的用户)属于同一个家(用户组),你们可以共同拥有这个家(共享资源),爸妈对待你们都一样(共享权限),你偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如你既属于家庭,又属于学校或公司。
<3>所有用户的信息放在/etc/passwd文件下,下面是我的系统中的用户信息:
root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/usr/sbin/nologinman:x:6:12:man:/var/cache/man:/usr/sbin/nologinlp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologinmail:x:8:8:mail:/var/mail:/usr/sbin/nologinnews:x:9:9:news:/var/spool/news:/usr/sbin/nologinuucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologinproxy:x:13:13:proxy:/bin:/usr/sbin/nologinwww-data:x:33:33:www-data:/var/www:/usr/sbin/nologinbackup:x:34:34:backup:/var/backups:/usr/sbin/nologinlist:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologinirc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologingnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologinlibuuid:x:100:101::/var/lib/libuuid:syslog:x:101:104::/home/syslog:/bin/falsemessagebus:x:102:106::/var/run/dbus:/bin/falseusbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/falsednsmasq:x:104:65534:dnsmasq,,,:/var/lib/misc:/bin/falseavahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/falsekernoops:x:106:65534:Kernel Oops Tracking Daemon,,,:/:/bin/falsertkit:x:107:114:RealtimeKit,,,:/proc:/bin/falsesaned:x:108:115::/home/saned:/bin/falsewhoopsie:x:109:116::/nonexistent:/bin/falsespeech-dispatcher:x:110:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/shavahi:x:111:117:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/falselightdm:x:112:118:Light Display Manager:/var/lib/lightdm:/bin/falsecolord:x:113:121:colord colour management daemon,,,:/var/lib/colord:/bin/falsehplip:x:114:7:HPLIP system user,,,:/var/run/hplip:/bin/falsepulse:x:115:122:PulseAudio daemon,,,:/var/run/pulse:/bin/falsejin1017:x:1000:1000:jin1017,,,:/home/jin1017:/bin/bash文件的每一行代表着一个用户,每一行由冒号“:”分割成7个字段,其结构如下:
用户名:密码:UID:GID:用户全名:home目录:shell其中密码统一用x代替。
<4>用户的密码信息放在/etc/shadow文件下(root才可以访问)
jin1017@ubuntu:~$ sudo cat /etc/shadow[sudo] password for jin1017: root:!:17470:0:99999:7:::daemon:*:16848:0:99999:7:::bin:*:16848:0:99999:7:::sys:*:16848:0:99999:7:::sync:*:16848:0:99999:7:::games:*:16848:0:99999:7:::man:*:16848:0:99999:7:::lp:*:16848:0:99999:7:::mail:*:16848:0:99999:7:::news:*:16848:0:99999:7:::uucp:*:16848:0:99999:7:::proxy:*:16848:0:99999:7:::www-data:*:16848:0:99999:7:::backup:*:16848:0:99999:7:::list:*:16848:0:99999:7:::irc:*:16848:0:99999:7:::gnats:*:16848:0:99999:7:::nobody:*:16848:0:99999:7:::libuuid:!:16848:0:99999:7:::syslog:*:16848:0:99999:7:::messagebus:*:16848:0:99999:7:::usbmux:*:16848:0:99999:7:::dnsmasq:*:16848:0:99999:7:::avahi-autoipd:*:16848:0:99999:7:::kernoops:*:16848:0:99999:7:::rtkit:*:16848:0:99999:7:::saned:*:16848:0:99999:7:::whoopsie:*:16848:0:99999:7:::speech-dispatcher:!:16848:0:99999:7:::avahi:*:16848:0:99999:7:::lightdm:*:16848:0:99999:7:::colord:*:16848:0:99999:7:::hplip:*:16848:0:99999:7:::pulse:*:16848:0:99999:7:::jin1017:$1$vDVd0Rgb$dgDX3BYQiDn3teYv.TOn00:17470:0:99999:7:::
每行代表有个用户,具体信息:
登录名:加密过的密码(*代表此用户不能用来登录):密码最近更改日期(linux时间戳):最少密码天数(0代表随时可更改):最多密码天数:过期前几天提醒用户:密码不可用期限:账户过期日期:保留位<5>/etc/group文件:
jin1017@ubuntu:~$ cat /etc/grouproot:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,jin1017tty:x:5:disk:x:6:lp:x:7:mail:x:8:news:x:9:uucp:x:10:man:x:12:proxy:x:13:kmem:x:15:dialout:x:20:fax:x:21:voice:x:22:cdrom:x:24:jin1017floppy:x:25:tape:x:26:sudo:x:27:jin1017audio:x:29:pulsedip:x:30:jin1017www-data:x:33:backup:x:34:operator:x:37:list:x:38:irc:x:39:src:x:40:gnats:x:41:shadow:x:42:utmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:jin1017staff:x:50:games:x:60:users:x:100:nogroup:x:65534:libuuid:x:101:netdev:x:102:crontab:x:103:syslog:x:104:fuse:x:105:messagebus:x:106:ssl-cert:x:107:lpadmin:x:108:jin1017scanner:x:109:sanedmlocate:x:110:ssh:x:111:utempter:x:112:avahi-autoipd:x:113:rtkit:x:114:saned:x:115:whoopsie:x:116:avahi:x:117:lightdm:x:118:nopasswdlogin:x:119:bluetooth:x:120:colord:x:121:pulse:x:122:pulse-access:x:123:jin1017:x:1000:sambashare:x:124:jin1017每行代表一个用户组,具体结构:
组名:用户组密码:GID:用户组内的用户名用户组的密码放在 /etc/gshadow文件下
2、用户和用户组常用的命令:
<1>useradd命令:useradd [username] [选项] [参数]
使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的用户将是默认“三无”用户:一无Home Directory,二无密码,三无系统Shell 都要单独去设定,或者在创建的时候用参数来设定。
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中-d<登入目录>:指定用户登入时的启始目录-D:变更预设值-e<有效期限>:指定帐号的有效期限-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号-g<群组>:指定用户所属的群组-G<群组>:指定用户所属的附加群组-m:自动建立用户的登入目录-M:不要自动建立用户的登入目录-n:取消建立以用户名称为名的群组-r:建立系统帐号-s:指定用户登入后所使用的shell-u:指定用户iddemo:
sudo useradd jinge -c jj -f 5 -u 1111
<2>adduser命令: sudo adduser username 使用adduser时,创建用户的过程更像是一种人机对话,系统会提示你输入各种信息,然后会根据这些信息帮你创建新用户。
jin1017@ubuntu:~$ sudo adduser jinge1Adding user `jinge1' ...Adding new group `jinge1' (1001) ...Adding new user `jinge1' (1001) with group `jinge1' ...Creating home directory `/home/jinge1' ...Copying files from `/etc/skel' ...Enter new UNIX password: Retype new UNIX password: passwd: password updated successfullyChanging the user information for jinge1Enter the new value, or press ENTER for the defaultFull Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y<3>用户的切换:su -l [username] 或者su - [username] ,不推荐su [username].(最后一种方法并不会改变工作目录和path,所以有的时候会执行不了一些命令。)
先看su username:
工作目录和PATH没有改变。
su - [username]:下图用su - 切换为root,PATH和目录均改变。
<4>删除用户:deluser [username] 其中一些选项如下:
<5>修改用户的信息:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s][-u ][用户帐号]
参 数: -c<备注> 修改用户帐号的备注文字。 -d登入目录> 修改用户登入时的目录。 -e<有效期限> 修改帐号的有效期限。 -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。 -g<群组> 修改用户所属的群组。 -G<群组> 修改用户所属的附加群组。 -l<帐号名称> 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s<shell> 修改用户登入后所使用的shell。 -u<uid> 修改用户ID。 -U 解除密码锁定。
<6>关于用户组的一些命令:
groupadd [groupname]:添加用户组
从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP
groups 用户名 :查看用户所在组
groupdel 组名:删除用户组
- Linux中的用户和用户组总结
- linux中的用户和用户组
- Linux中的用户和用户组
- Linux用户和用户组管理总结
- Linux 总结用户和用户组管理
- Linux中的用户和用户组管理
- Linux中的用户和用户组管理
- linux中的用户和用户组的简介
- linux用户和用户组
- Linux 用户和用户组
- linux用户和用户组
- Linux 用户和用户组
- Linux---用户和用户组
- Linux用户和用户组
- linux用户和用户组
- Linux用户和用户组
- Linux用户和用户组
- Linux用户和用户组
- Maven查看JAR包的依赖关系
- 饿了么运维基础设施进化史
- xcode8中关于错误skipping input stream 0 0 0x0
- 通过NFS-Ganesha将Ceph导出为NFS
- NC代码中如何读取另外一个oracle库的数据?
- Linux中的用户和用户组总结
- 链表
- 栈
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- 从mysql导出csv数据 并再将csv导入oracle
- python持久存储
- Java并发控制机制详解
- android 摄像头的调用
- Android面经-提升篇(持续更新...)