Linux入门之常用命令(12)用户管理
【用户管理】
linux如何查看所有的用户和组信息的方法:
1、cat /etc/passwd;
2、cat /etc/group
1. useradd
useradd 命令可以创建一个新的用户帐号,其最基本用法为:
useradd 用户名
如输入以下命令:
useradd newuser
系统将创建一个新用户 newuser,该用户的Home 目录为/home/newuser。
useradd 命令的参数较多,常用的组合为:
useradd 用户名 -g 组名–G 组名-d Home 目录名-p 密码
其中:-g 指定该用户的首要组
-G 指定该用户的次要组
-d 指定该用户的Home 目录
-p 指定该用户的密码
如输入以下命令:
useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将创建一个用户 oracle oracle 用户的首要组为oinstall ,次要组为dba,Home 目录为/home/oracle ,密码为ora123。
2. userdel
userdel 命令用于删除一个已存在的帐号,其用法为:
userdel 用户名
【用户组管理】
3. groupadd
groupadd 命令可以创建一个新的用户组,其最基本用法为:
groupadd 组名
如输入以下命令:
groupadd newgroup
系统将创建一个新的用户组 newgroup。
4. groupdel
groupdel 命令用于删除一个已存在的用户组,其用法为:
groupdel 组名
【密码管理】
5. passwd
出于系统安全考虑, Linux 系统中的每一个用户除了有其用户名外还有其对应的用户口令,用户可以随时用passwd 命令改变自己的口令。该命令的一般格式为:
passwd
输入该命令后, 按系统提示依次输入密码和密码确认后,即可完成用户密码的修改。
此外, 超级用户还可以修改其他用户的口令,命令如下:
passwd 用户名
6. su
su 命令这个命令非常重要,它可以让一个普通用户拥有超级用户或其他用户的权限,也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令。如要离开当前用户的身份,可以键入exit 命令,su 命令的一般形式为:
su – 用户名
【权限管理】
7. chmod
chmod 命令是非常重要的,用于改变文件或目录的访问权限。该命令有两种用法:一种是包含字母和操作符表达式的文字设定法,另一种是包含数字的数字设定法。
由于数字设定法不太直观 ,本文不做介绍。文字设定法的用法如下:
chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
1 、操作对象who 可以是下述字母中的任一个或者它们的组合:
u 表示用户(user) ,即文件或目录的所有者
g 表示同组(group)用户,即与文件属主有相同组ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户,它是系统默认值。
2 、操作符号可以是:
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限
3 mode 表示权限常用的参数有
r 可读
w 可写
x 可执行
举例:
1 、将文件 script 的权限设为可执行。命令如下:
chmod =rx text
执行成功后 ,用ls -l script 命令查看文件属性的结果如下:
-r-xr-xr-x 1 user group 0 Feb 10 09:42 script
2 、将文件 text 的权限设为:文件属主可读、可写、可执行,与文件属主同组的用户可读,其他用户不可读。命令如下:
chmod u=rwx,g=r,o= text (注意,后无空格o=后有空格)
执行成功后 ,用ls –l text 命令查看文件属性的结果如下:
-rwxr—– 1 user group 0 Feb 10 09:42 text
8. chown
chown 用于更改某个文件或目录的属主和属组,这个命令也很常用。例如root 用户把自己的一个文件拷贝给用户oracle ,为了让用户oracle 能够存取这个文件,root 用户应该把这个文件的属主设为oracle ,否则用户oracle无法存取这个文件。chown 的基本用法为:
chown [用户:组] 文件
选项含义:
-R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
-v 显示chown命令所做的工作。
举例:
chown oracle:dba text
该命令将 text 文件的属主和属组分别改为oracle 和dba
经常将某个文件夹的权限赋给某个用户的时候,也需要配置该用户所在的组,因此,我们需要查看该用户有哪些组,我们可以使用如上命令
查看用户所在组
[oracle@gl ~]$ vi /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
games:x:20:
gopher:x:30:
dip:x:40:
ftp:x:50:
lock:x:54:
nobody:x:99:
users:x:100:
audio:x:63:gdm
nscd:x:28:
utmp:x:22:
utempter:x:35:
floppy:x:19:
vcsa:x:69:
rpc:x:32:
mailnull:x:47:
smmsp:x:51:
pcap:x:77:
slocate:x:21:
ntp:x:38:
dbus:x:81:
avahi:x:70:
sshd:x:74:
rpcuser:x:29:
nfsnobody:x:65534:
haldaemon:x:68:
avahi-autoipd:x:101:
distcache:x:94:
apache:x:48:
oprofile:x:16:
webalizer:x:67:
squid:x:23:
xfs:x:43:
stapdev:x:102:
stapusr:x:103:
gdm:x:42:
haldaemon:x:68:
avahi-autoipd:x:101:
distcache:x:94:
apache:x:48:
oprofile:x:16:
webalizer:x:67:
squid:x:23:
xfs:x:43:
stapdev:x:102:
stapusr:x:103:
gdm:x:42:
sabayon:x:86:
gholay:x:500:
oinstall:x:501:
dba:x:502:oracle
oper:x:503:oracle
asmadmin:x:504:oracle
user1:x:505:
【使用groups查看用户所在的组】
[oracle@gl ~]$ groups oracle
oracle : oinstall dba oper asmadmin
最后我们可以将文件夹赋给相应用户以及所在组
给oinstall组中的oracle相应的拥有者权限
[root@gl oracle]# chown -R oracle:oinstall /data/encryption/
然后指定相应的用户或组的相应权限
[root@gl oracle]# chmod -R 775 /data/encryption/