Hi Minh,

the "sticky" bit here is in fact  the "restricted deletion bit", it is 
used on directories,

e.g. the /tmp directory where several users have r/w access but when the 
't' bit is

set only the file owners may delete its files. It should not be set on 
files only directories

and I don't think it is need here. /Thanks HansN

On 11/5/18 09:56, Minh Anh Du wrote:
> There are files, sockets and pipes have world writable permission,
> but only root user and owner should be able to create/delete
> these files. Sticky bit should be set for these sockets and pipes
> for security reason.
> ---
>   src/base/daemon.c               | 2 +-
>   src/base/osaf_secutil.c         | 2 +-
>   src/dtm/transport/log_server.cc | 2 +-
>   src/nid/agent/nid_ipc.c         | 2 +-
>   4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/src/base/daemon.c b/src/base/daemon.c
> index cdde7fd..50ddc50 100644
> --- a/src/base/daemon.c
> +++ b/src/base/daemon.c
> @@ -162,7 +162,7 @@ static void create_fifofile(const char *fifofile)
>   
>       mask = umask(0);
>   
> -     if (mkfifo(fifofile, 0666) == -1) {
> +     if (mkfifo(fifofile, 01666) == -1) {
>               if (errno == EEXIST) {
>                       syslog(LOG_INFO, "mkfifo already exists: %s %s",
>                              fifofile, strerror(errno));
> diff --git a/src/base/osaf_secutil.c b/src/base/osaf_secutil.c
> index 0e175c9..71e512a 100644
> --- a/src/base/osaf_secutil.c
> +++ b/src/base/osaf_secutil.c
> @@ -147,7 +147,7 @@ static int server_sock_create(const char *pathname)
>       }
>   
>       /* Connecting to the socket object requires read/write permission. */
> -     if (chmod(pathname, 0777) == -1) {
> +     if (chmod(pathname, 01777) == -1) {
>               LOG_ER("%s: chmod failed - %s", __FUNCTION__, strerror(errno));
>               return -1;
>       }
> diff --git a/src/dtm/transport/log_server.cc b/src/dtm/transport/log_server.cc
> index bef1f07..866fe59 100644
> --- a/src/dtm/transport/log_server.cc
> +++ b/src/dtm/transport/log_server.cc
> @@ -35,7 +35,7 @@ LogServer::LogServer(int term_fd)
>         max_backups_{9},
>         max_file_size_{5 * 1024 * 1024},
>         log_socket_{Osaflog::kServerSocketPath, 
> base::UnixSocket::kNonblocking,
> -                  0777},
> +                  01777},
>         log_streams_{},
>         current_stream_{new LogStream{kMdsLogStreamName, 1, 5 * 1024 * 1024}},
>         no_of_log_streams_{1} {
> diff --git a/src/nid/agent/nid_ipc.c b/src/nid/agent/nid_ipc.c
> index 172063a..eae8de3 100644
> --- a/src/nid/agent/nid_ipc.c
> +++ b/src/nid/agent/nid_ipc.c
> @@ -66,7 +66,7 @@ uint32_t nid_create_ipc(char *strbuf)
>       mask = umask(0);
>   
>       /* Create nid fifo */
> -     if (mkfifo(NID_FIFO, 0666) < 0) {
> +     if (mkfifo(NID_FIFO, 01666) < 0) {
>               sprintf(strbuf, " FAILURE: Unable To Create FIFO Error:%s\n",
>                       strerror(errno));
>               umask(mask);

_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to