小编sti*_*mby的帖子

我可以使用 ACL 覆盖我的 umask 以使给定目录中创建的所有文件都可读吗?

假设我的 umask 是 0077。

我有一个目录,foo我想对其应用特殊权限。我在其中创建的所有文件foo都应该是全局可读的,并且所有目录都应该是全局可读和可执行的。

目前,如果我创建一个文件,它将是 0600,目录将是 0700:

$ cd foo/
$ touch file
$ mkdir directory
$ ls -l
drwx------ 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw------- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我希望文件是 0644,目录是 0755,不管我的 umask:

drwxr-xr-x 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw-r--r-- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux permissions access-control-list umask

15
推荐指数
1
解决办法
2万
查看次数

如何使用 mysqldump 创建只读 MySQL 用户以进行备份?

我正在使用该automysqlbackup脚本转储我的 mysql 数据库,但我希望有一个只读用户来执行此操作,这样我就不会将我的根数据库密码存储在纯文本文件中。

我创建了一个这样的用户:

grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Run Code Online (Sandbox Code Playgroud)

当我运行mysqldump(通过automysqlbackup或直接)时,我收到以下警告:

mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

我做错了吗?我的只读用户需要额外的授权吗?还是只能rootinformation_schema表?这是怎么回事?

编辑:

GAH,现在它可以工作了。我以前可能没有运行 FLUSH PRIVILEGES。

顺便说一句,这种情况多久自动发生一次?

编辑:

不,它不起作用。mysqldump -u username -p --all-databases > dump.sql手动运行不会产生错误,但不会转储 information_schema。automysqlbackup确实会引发错误。

mysql backup read-only database-backup

14
推荐指数
1
解决办法
1万
查看次数

如何编写为父 shell 设置别名的 bash 脚本?

我正在尝试编写一个脚本来为我的 bash shell 设置别名,但我不想source自动输入.bashrc- 我需要在我的终端子集中使用别名。

是否可以alias在脚本中使用命令并使别名命令适用于运行脚本的 shell?

期望的功能:

$ alias
# ... no output here
$ ./my-script
$ alias
alias foo='bar'
alias alpha='beta'
...
Run Code Online (Sandbox Code Playgroud)

bash alias

3
推荐指数
1
解决办法
2525
查看次数